RegActions exposes three read-only JSON endpoints for country AML risk ratings and global enforcement data. They are free to use, need no API key, and are CORS-open, so you can call them directly from the browser or a server.
Access and terms
- Keyless. No registration, token or API key is required.
- CORS-open. Every endpoint returns Access-Control-Allow-Origin: *, so browser clients can call it directly.
- Update cadence. Responses are computed deterministically at request time and edge-cached for about five minutes. Underlying data changes when its source does: FATF lists per plenary (three times a year), sanctions on review, World Bank WGI annually, and enforcement records as new official notices are published.
- Licence and attribution. Data is provided under CC BY-NC 4.0. Non-commercial reuse is permitted with a visible, clickable credit link back to RegActions.
Required attribution
Show this visible link wherever you display the data:
Data: RegActions — regactions.com
Copy-paste HTML:
<a href="https://regactions.com">Data: RegActions — regactions.com</a>GET /api/country-risk/list
Every scored jurisdiction with the v2 composite result and the provenance of each source (FATF lists, FATF assessments, World Bank WGI, sanctions regimes, Transparency International CPI). Cached for 5 minutes.
Example
curl https://regactions.com/api/country-risk/listResponse fields
| Field | Type | Description |
|---|---|---|
methodologyVersion | string | Scoring methodology version (e.g. "2.0.0"). |
calculatedAt | string (ISO 8601) | When the response was computed (deterministic at request time). |
count | number | Number of jurisdictions in results. |
sources[] | object[] | Per-source provenance: id, name, sourceUrl, scored, cadence, state, effectiveAt, retrievedAt, sha256, note. |
results[].country | object | Country identity: iso2, iso3, name, region, subregion, unMember, aliases[]. |
results[].result | object | Composite result: score, band, status, confidence, per-pillar scores (aml/governance/sanctions), floors, limitingReasons, arithmetic. |
GET /api/country-risk/{iso2}
The full v2 result for a single jurisdiction by ISO 3166-1 alpha-2 code, including the pillar breakdown, band adjustments, change vs the previous methodology, and the evidence behind each pillar. Cached for 5 minutes.
Example
curl https://regactions.com/api/country-risk/GBResponse fields
| Field | Type | Description |
|---|---|---|
country | object | Country identity (iso2, iso3, name, region, subregion, unMember, aliases[]). |
result.score | number | null | Composite 0-10 risk score (higher = higher risk); null when withheld. |
result.band | string | Risk band: low | moderate | high | very-high. |
result.status | string | rated | provisional (provisional when a pillar is unavailable). |
result.confidence | string | Confidence level for the score. |
result.pillars | object | aml, governance and sanctions pillars with score, weight, coverageStatus and explanation. |
result.limitingReasons | string[] | Human-readable reasons the score is provisional or capped. |
previous | object | Prior methodology (v1) score and band for comparison. |
change | object | Points delta and the drivers behind it. |
evidence | object | Per-pillar evidence (FATF assessment, WGI dimensions, sanctions coverage). |
GET /api/unified/search
Search the global enforcement dataset across 45+ regulators. Supports query and filter params: q, regulator, country, year, month, minAmount, maxAmount, breachCategory, sector, currency, firmName, limit, offset.
Example
curl 'https://regactions.com/api/unified/search?q=aml&limit=5'Response fields
| Field | Type | Description |
|---|---|---|
results[].id | string (uuid) | Stable record id. |
results[].regulator | string | Regulator code (e.g. FCA, CMVM). |
results[].regulator_full_name | string | Full regulator name. |
results[].country_code | string | ISO 3166-1 alpha-2 country of the regulator. |
results[].firm_individual | string | Sanctioned firm or individual. |
results[].amount_gbp | number | null | Penalty in GBP (null when not disclosed / not applicable). |
results[].currency | string | Original penalty currency. |
results[].date_issued | string (ISO 8601) | Date the action was issued. |
results[].breach_categories | string[] | Normalised breach category tags (e.g. AML, DISCLOSURE). |
results[].source_url | string | Link to the official regulator notice. |
pagination | object | total, limit, offset, hasMore, pages, currentPage. |
filters | object | Echo of the filters applied to this response. |
Questions
For volume, commercial licensing, or a data question, contact contact@memaconsultants.com. See also the country risk hub and the regulator data hub.