v1.0 — Stabiel

Developer documentatie

RiskPulse aggregeert sanctielijsten, reisadviezen en politieke stabiliteitsscores uit vier databronnen in één JSON response per land.

🌍
195 landen
Volledige werelddekking
🔄
Elke 6 uur
Reisadviezen bijgewerkt
🛡️
4 databronnen
BuZa, EU, OFAC, Wereldbank
<100ms
Gemiddelde responstijd

Quick start

Stuur je eerste request in minder dan een minuut. Je API key staat in je portaal.

curl https://api.riskpulse.io/api/v1/risk/IR \
  -H "X-Api-Key: rp_live_your-api-key"

Response:

json
{
  "isoCode": "IR",
  "countryName": "Iran",
  "aggregatedRisk": 8.4,
  "travelAdvisoryScore": 9,
  "sanctionedEu": true,
  "sanctionedOfac": true,
  "stabilityScore": -1.80,
  "sources": {
    "buza":       "2026-03-18T06:00:00Z",
    "euSanctions": "2026-03-18T02:00:00Z",
    "ofac":       "2026-03-18T02:30:00Z",
    "worldBank":  "2026-03-01T03:00:00Z"
  }
}

Authenticatie

Alle API requests vereisen authenticatie via de X-Api-Key header. Je API key is te vinden in je portaal.

Let op: Sla je API key nooit op in client-side code of public repositories. Gebruik environment variables.
bash
curl https://api.riskpulse.io/api/v1/risk/NL \
  -H "X-Api-Key: rp_live_your-api-key"

Key formaat

Keys beginnen altijd met rp_live_ gevolgd door een unieke hash. Keys zijn eenmalig zichtbaar bij aanmaken. Verloren keys kunnen worden gereset via het portaal.

Tiers & limieten

Calls worden per kalendermaand geteld. Bij het bereiken van je limiet geeft de API een 429 terug.

TierPrijsCalls/maandBatchHistoryWebhooks
Starter€99/mo500
Growth€299/mo5.000
Enterprise€799/moOnbeperkt

Endpoints

GET/api/v1/risk

Geeft risicoprofielen van alle landen, gesorteerd op risico (hoog naar laag).

curl https://api.riskpulse.io/api/v1/risk \
  -H "X-Api-Key: rp_live_your-api-key"
GET/api/v1/risk/{isoCode}

Volledig risicoprofiel van één land. Accepteert ISO 3166-1 alpha-2 of alpha-3 codes.

curl https://api.riskpulse.io/api/v1/risk/RU \
  -H "X-Api-Key: rp_live_your-api-key"
GET/api/v1/risk/{isoCode}/score

Alleen de geaggregeerde score. Goedkoop endpoint voor polling of monitoring.

bash
curl https://api.riskpulse.io/api/v1/risk/SY/score \
  -H "X-Api-Key: rp_live_your-api-key"

# Response:
# { "isoCode": "SY", "score": 9.5 }
GET/api/v1/risk/{isoCode}/historyGrowth+

Risicoscores van de afgelopen 90 dagen. Vereist Growth tier of hoger.

curl https://api.riskpulse.io/api/v1/risk/UA/history \
  -H "X-Api-Key: rp_live_your-api-key"
POST/api/v1/risk/batchGrowth+

Vraag tot 50 landen tegelijk op. Vereist Growth tier of hoger.

curl -X POST https://api.riskpulse.io/api/v1/risk/batch \
  -H "X-Api-Key: rp_live_your-api-key" \
  -H "Content-Type: application/json" \
  -d '["IR", "RU", "SY", "KP", "UA"]'
GET/api/v1/portal/me

Account info: tier, calls deze maand, quota en reset datum.

bash
curl https://api.riskpulse.io/api/v1/portal/me \
  -H "X-Api-Key: rp_live_your-api-key"

# Response:
# {
#   "tier": "GROWTH",
#   "callsThisMonth": 1234,
#   "monthlyQuota": 5000,
#   "quotaResetAt": "2026-04-01T00:00:00Z"
# }
PUT/api/v1/portal/webhookGrowth+

Stel een webhook in voor risicoscore-wijzigingen groter dan 1.5 punt. Vereist Growth+.

bash
curl -X PUT https://api.riskpulse.io/api/v1/portal/webhook \
  -H "X-Api-Key: rp_live_your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-app.com/riskpulse-webhook"}'

Webhook payload

json
{
  "event": "risk.score_changed",
  "isoCode": "IR",
  "countryName": "Iran",
  "previousScore": 7.1,
  "newScore": 9.0,
  "delta": 1.9,
  "timestamp": "2026-03-18T06:00:00Z"
}

Response schema

Alle risk endpoints retourneren een RiskProfile object.

VeldTypeOmschrijving
isoCodestringISO 3166-1 alpha-2 landcode (bijv. "IR")
countryNamestringVolledige Engelstalige landnaam
aggregatedRiskfloatGewogen risicoscore 1.0–10.0 (1 decimaal)
travelAdvisoryScoreinteger1=groen, 3=geel, 6=oranje, 9=rood (BuZa)
sanctionedEubooleanLand staat op EU FSF sanctielijst
sanctionedOfacbooleanLand staat op US OFAC SDN lijst
stabilityScorefloatWereldbank PV.EST index: -2.5 (onstabiel) tot +2.5 (stabiel)
sources.buzaISO 8601Timestamp laatste BuZa update (nullable)
sources.euSanctionsISO 8601Timestamp laatste EU sancties update (nullable)
sources.ofacISO 8601Timestamp laatste OFAC update (nullable)
sources.worldBankISO 8601Timestamp laatste Wereldbank update (nullable)

Score berekening

De aggregatedRisk is een gewogen gemiddelde van drie databronnen, afgerond op één decimaal en begrensd tussen 1.0 en 10.0.

// Formule
score = clamp(1.0, 10.0,
travelAdvisory × 0.40 +
sanctionBase × 0.35 +
stabilityNorm × 0.25
)
// Waar:
sanctionBase = 7.0 if sanctioned, else 1.0
stabilityNorm = ((-wb + 2.5) / 5.0) × 8.0 + 1.0
RisiconiveauScoreKleur
Kritiek≥ 9.0● Donkerrood
Hoog7.0 – 8.9● Rood
Midden4.0 – 6.9● Oranje
Laag< 4.0● Groen

Foutcodes

StatusBetekenisOplossing
401UnauthorizedOntbrekende of ongeldige X-Api-Key headerControleer je API key in het portaal
403ForbiddenEndpoint vereist hogere tierUpgrade naar Growth of Enterprise
404Not FoundLandcode niet gevondenGebruik een geldige ISO 3166-1 code
429Too Many RequestsMaandquotum bereiktWacht op quotumreset of upgrade
502Bad GatewayUpstream fout bij ophalen dataProbeer opnieuw, wij monitoren dit

Databronnen

BuZa reisadvies

travelAdvisoryScore
Elke 6 uur

Nederlandse reisadviezen van het Ministerie van Buitenlandse Zaken. Kleurcodes: groen (1), geel (3), oranje (6), rood (9).

EU FSF sanctielijst

sanctionedEu
Elke nacht 02:00

Europese Unie Financial Sanctions Files. Landen waarop EU-sancties van kracht zijn.

OFAC SDN lijst

sanctionedOfac
Elke nacht 02:30

US Treasury OFAC Specially Designated Nationals lijst. Landen waarop Amerikaanse sancties van kracht zijn.

Wereldbank PV.EST

stabilityScore
1× per maand

Political Stability and Absence of Violence/Terrorism indicator. Bereik: -2.5 tot +2.5.

Changelog

v1.0.0

Maart 2026

  • Initiële release
  • Risk profile endpoint voor 195 landen
  • Batch endpoint (Growth+)
  • History endpoint met 90 dagen data (Growth+)
  • Webhook notificaties bij score-wijzigingen (Growth+)
  • Vier databronnen: BuZa, EU FSF, OFAC SDN, Wereldbank

Vragen of problemen? Mail naar support@riskpulse.io

Download OpenAPI spec