RegActions Data API
Overview
Use explainable country-risk evidence and official-source enforcement data in internal compliance tools, research and audit workpapers. Public endpoints are read-only, keyless and CORS-enabled.
Quickstart
Make a country-risk request using an ISO 3166-1 alpha-2 code, such as CY for Cyprus or GB for the United Kingdom.
curl https://regactions.com/api/country-risk/CYRetain the response date and source links with your own assessment rationale. Country-risk responses are cached for around five minutes.
API reference
GET /api/country-risk/list
Every profiled jurisdiction with the current v3 country-risk result and source provenance. Use ?methodology=v2 only when you need the historical sanctions-weighted compatibility result. Cached for 5 minutes.
Example
curl https://regactions.com/api/country-risk/listResponse fields
| Field | Type | Description |
|---|---|---|
methodologyVersion | string | Scoring methodology version (current default: "3.1.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. In the current v3 response FATF listing and geographic sanctions sources have scored=false because they are legal treatment overlays; explicit v2 responses retain historical metadata. |
results[].country | object | Country identity: iso2, iso3, name, region, subregion, unMember, aliases[]. |
results[].result | object | Current result: score, band, status, resultKind (complete/provisional/indicative-governance-proxy), confidence, sensitivity, pillars, beneficial ownership, sanctions and FATF overlays, limitingReasons and arithmetic. |
GET /api/country-risk/{iso2}
The current v3 result for a single jurisdiction by ISO 3166-1 alpha-2 code, including the three underlying pillars, beneficial-ownership breakout, legal overlays and source evidence. Add ?methodology=v2 for the historical result. 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 | complete | provisional | insufficient-data. |
result.confidence | string | Confidence level for the score. |
result.pillars | object | effectiveness, safeguards and governance pillars with score, weight, contribution, coverageStatus and explanation. |
result.beneficialOwnership | object | FATF IO5, Recommendations 24 and 25 breakout with availability, score and source. |
result.overlays | object | FATF listing and sanctions treatment overlays; these do not change the underlying score. |
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/badge/{iso2}
An embeddable SVG badge showing the current v3 jurisdiction risk band and 0-10 score, coloured by band. Withheld jurisdictions render a "Not rated" variant and unknown codes return a 404 badge. Add ?methodology=v2 for the historical badge.
Example
curl https://regactions.com/api/badge/GB.svgResponse fields
| Field | Type | Description |
|---|---|---|
(response body) | image/svg+xml | A self-contained SVG badge, e.g. "United Kingdom AML risk: Low (1.9/10)", sized to its text. |
iso2 (path) | string | ISO 3166-1 alpha-2 code, case-insensitive; an optional ".svg" suffix is stripped. |
Content-Type | header | image/svg+xml; charset=utf-8. |
Cache-Control | header | public, s-maxage=86400 for rated/withheld badges; shorter for 404 badges. |
GET /api/regulatory-signal/list
Evidence-first ecosystem summaries for all 214 jurisdictions. The transparency index is null in this research-only release; authority publication states and RegActions coverage remain separate from Country Risk v3.
Example
curl https://regactions.com/api/regulatory-signal/listResponse fields
| Field | Type | Description |
|---|---|---|
count | number | Number of jurisdictions returned (214 unless filtered by ?region=). |
rows[].country | object | Jurisdiction identity and region. |
rows[].ecosystem | object | Mapped authority count, mandate-family counts and research depth. |
rows[].evidenceDisposition | object | Explicit local, parent-context, structural or unobservable evidence state. |
rows[].regActionsCoverage | object | Live/pipeline coverage and neutral observed activity fields. |
rows[].transparencyIndex | null | Intentionally null pending source qualification and shadow calibration. |
GET /api/regulatory-signal/{iso2}
Official authority mandates, source-access states, publication candidates and RegActions coverage for one jurisdiction. Reachability is evidence state, not a regulator-quality judgement.
Example
curl https://regactions.com/api/regulatory-signal/VEResponse fields
| Field | Type | Description |
|---|---|---|
country | object | Jurisdiction identity, region and parent context. |
ecosystem.authorities[] | object[] | Authority name, official site, mandate roles, access state and publication candidate. |
regActionsCoverage | object | Live/pipeline feed state, observed records and latest observed action. |
activitySignal | object | Neutral observed/no-recent/not-assessed label; never a country-risk input. |
transparencyIndex | null | No index is published in Phase 1. |
GET /api/regulatory-signal/evidence/{iso2}
Download the same source-backed ecosystem evidence as JSON, CSV or PDF using ?format=json|csv|pdf. The export preserves explicit unavailable and challenge-protected states.
Example
curl -OJ 'https://regactions.com/api/regulatory-signal/evidence/VE?format=pdf'Response fields
| Field | Type | Description |
|---|---|---|
format=json | application/json | Full evidence object with authorities, sources, limitations and null transparency index. |
format=csv | text/csv | One row per mapped authority with role and access-state provenance. |
format=pdf | application/pdf | Human-readable evidence pack for board or audit working papers. |
GET /api/unified/search
Search the global enforcement dataset across 54 configured live 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. |
Internal AML and commercial use
The public API is licensed under CC BY-NC 4.0 for non-commercial reuse with attribution. Using data in a paid client assessment, commercial service or internal business workflow needs separate written permission.
For a data question or to discuss internal commercial use, email contact@memaconsultants.com.
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>Embed a country risk badge
The badge endpoint returns a small SVG you can drop into any page with a plain <img> tag. It shows the jurisdiction's AML risk band and 0-10 score, coloured by band, and reads its number from the same scoring path as the country report. Withheld jurisdictions render an honest "Not rated" badge, and unknown codes return a 404 badge. Swap GB for any ISO 3166-1 alpha-2 code; the .svg suffix is optional.
Live preview
Copy-paste embed
Keep the surrounding link: it is the visible, clickable credit the licence requires.
<a href="https://regactions.com/countries" title="AML country risk rating by RegActions">
<img src="https://regactions.com/api/badge/GB.svg" alt="United Kingdom AML risk rating by RegActions" height="20" />
</a>Feeds
- Regulatory insights RSS — new analysis and enforcement articles.
- Country-risk changes RSS — dated FATF, sanctions, EU tax list and score changes. See the changes page.
Support
For a data question, licensing query or source issue, contact contact@memaconsultants.com. See also the country risk hub and the regulator data hub.