Loading live data...

Travel Risk
Intelligence API

Real-time travel advisories, disaster alerts, and risk scores for 200+ countries. One API call away.

โœ“ ISO 31030 aligned ยท โœ“ 200+ countries ยท โœ“ Real-time GDACS data
Try it now
$ curl -H "X-API-Key: demo-key-travel-risk-2026" \
  https://travelriskapi.com/api/v1/countries/AFG

Why TravelRisk API?

Built for travel companies, insurance providers, and corporate travel management platforms.

๐Ÿ“ก

Real-time Sources

US State Department advisories updated every 6 hours. GDACS disaster alerts in real-time (minutes after detection).

๐ŸŽฏ

Risk Scoring

Composite risk score (1-5) recalculated on every advisory or alert change, combining official levels with active disasters.

โšก

Fast & Simple

RESTful JSON API. One header for auth. Responses in <100ms. Start in 5 minutes.

๐ŸŒ

200+ Countries

Coverage for every country with ISO codes, advisory levels, and localized risk data.

๐Ÿ””

Disaster Alerts

Earthquakes, floods, cyclones, wildfires โ€” with severity, coordinates, and affected areas.

๐Ÿ”

Enterprise Ready

API key auth, rate limiting, CORS enabled. Built for production workloads.

๐Ÿ“‹

ISO 31030 Aligned

Follows international standard for travel risk management. Perfect for corporate duty of care compliance.

Who Uses This

Trusted by teams building the future of travel safety

๐Ÿข

Corporate Travel Platforms

Integrate real-time risk scores into booking flows. Meet ISO 31030 duty of care requirements with automated safety checks.

booking flow risk scores โ€ข duty of care compliance โ€ข pre-trip warnings

โœˆ๏ธ

Travel Management Companies

Automate pre-trip risk assessments. Send real-time alerts to travelers when conditions change.

pre-trip assessments โ€ข real-time alerts โ€ข traveler notifications

๐Ÿ›ก๏ธ

Insurance & Assistance

Dynamic pricing based on destination risk. Validate claims with historical alert data.

dynamic pricing โ€ข claims validation โ€ข risk underwriting

๐Ÿ‘ฅ

HR & People Teams

Build safety dashboards for global teams. Automate travel policies based on real-time risk levels.

safety dashboards โ€ข policy automation โ€ข employee protection

Live Alerts

Latest disaster alerts from our API โ€” refreshed in real-time

LIVE
Loading alerts...

API Documentation

All endpoints, parameters, and response formats

๐Ÿ”‘ Authentication

All API requests require an API key passed in the X-API-Key header.

curl -H "X-API-Key: YOUR_API_KEY" https://travelriskapi.com/api/v1/countries

Demo key (3 requests/day per IP — register below for 100/day free): demo-key-travel-risk-2026

๐ŸŒ Base URL

https://travelriskapi.com/api/v1

๐Ÿ“‹ Endpoints

GET /countries

List all countries with advisory level and composite risk score. risk_score is the same composite returned by /risk-score/{iso}; base_risk_score is the advisory level alone and active_alerts shows how many alerts contributed.

Parameters: skip (default 0), limit (default 50, max 1000)

Show response example โ–พ
{
  "total": 229,
  "skip": 0,
  "limit": 2,
  "data": [
    {
      "iso_code": "AFG",
      "name": "Afghanistan",
      "advisory_level": 4,
      "risk_score": 5.0,
      "base_risk_score": 4.0,
      "active_alerts": 2,
      "last_updated": "2026-08-11T17:50:49"
    }
  ]
}
GET /countries/codes

Every supported country code in a single response, no pagination. Use it to validate input on your side.

Show response example โ–พ
{
  "total": 229,
  "note": "Codes are ISO 3166-1 alpha-3 (3 letters), e.g. USA, GBR, FRA.",
  "codes": ["ABW", "AFG", "AGO", "AIA", "ALB", "..."],
  "countries": [{"iso_code": "ABW", "name": "Aruba"}]
}
GET /countries/{iso_code}

Detail for one country, including the advisory description.

Accepts: alpha-3 (USA) or alpha-2 (US).

Show response example โ–พ
{
  "iso_code": "USA",
  "name": "United States",
  "advisory_level": 1,
  "advisory_description": null,
  "risk_score": 1.0,
  "last_updated": "2026-08-11T17:50:49"
}
GET /alerts

Active disaster and hazard alerts โ€” earthquakes, floods, cyclones, wildfires, storms, humanitarian events.

Parameters: severity (Low | Medium | High | Critical), alert_type (earthquake | flood | wildfire | cyclone | volcano | drought | severe_storm | humanitarian | armed_conflict | other), country_iso, days (last N days, 1–365), updated_since (ISO-8601 — only alerts created or revised since then), updated_since (ISO-8601 — only alerts created or revised since then), skip, limit (max 1000)

Change tracking: an alert keeps the same id when an upstream revises it — we update the record and bump updated_at. Poll ?updated_since= to sync incrementally instead of re-reading the whole feed.

Show response example โ–พ
{
  "total": 19141,
  "skip": 0,
  "limit": 1,
  "filters": {"severity": null, "alert_type": null, "country_iso": null, "days": 7},
  "data_updated_at": "2026-08-11T17:57:38",
  "generated_at": "2026-08-11T18:02:11+00:00",
  "data": [
    {
      "id": 62451,
      "alert_type": "earthquake",
      "severity": "Medium",
      "country_iso": "JPN",
      "location": "near the east coast of Honshu, Japan",
      "latitude": 37.12,
      "longitude": 141.35,
      "description": "M 4.8 - near the east coast of Honshu, Japan",
      "event_date": "2026-08-11T15:22:04",
      "created_at": "2026-08-11T15:45:01",
      "updated_at": "2026-08-26T15:42:13",
      "source": "seismic",
      "external_id": "a1b2c3d4e5f6",
      "polygon": null
    }
  ]
}
GET /alerts/{alert_id}

A single alert by its numeric id.

GET /conflicts

Armed-conflict and unrest events with location, severity and mention counts. Refreshed every 15 minutes; a rolling 30-day window is retained.

Parameters: country_iso, severity, skip, limit (max 1000)

Show response example โ–พ
{
  "total": 41033,
  "skip": 0,
  "limit": 1,
  "data": [
    {
      "id": 210102,
      "country_iso": "SDN",
      "location": "Khartoum, Sudan",
      "latitude": 15.55,
      "longitude": 32.53,
      "severity": "High",
      "event_date": "2026-08-10T00:00:00",
      "num_mentions": 47,
      "description": "Armed clash reported"
    }
  ]
}
GET /advisories

Government travel advisories grouped by country, with the maximum level across sources. Three independent government sources, refreshed daily.

Parameters: country_iso, min_level, skip, limit (max 1000)

Show response example โ–พ
{
  "total": 225,
  "data": [
    {
      "iso_code": "AFG",
      "name": "Afghanistan",
      "max_level": 4,
      "sources": [
        {
          "agency": "agency-1",
          "level": 4,
          "summary_label": "Do Not Travel",
          "reasons": ["terrorism", "kidnapping", "armed conflict"],
          "url": "https://...",
          "updated_at": "2026-02-20T00:00:00"
        }
      ]
    }
  ],
  "fetched_at": "2026-08-11T17:54:59"
}
GET /risk-score/{iso_code}

Composite 1–5 risk score for a country, with the breakdown of how it was calculated.

Accepts: alpha-3 (USA) or alpha-2 (US).

Show response example โ–พ
{
  "iso_code": "TUR",
  "name": "Turkey",
  "risk_score": 2.0,
  "advisory_level": 2,
  "active_alerts": 6,
  "calculation": {
    "base_score": 2.0,
    "alert_modifier": 0.0
  }
}
POST /register

Get a free API key. No card required โ€” 100 requests/day. The key is also emailed to you.

curl -X POST https://api.travelriskapi.com/api/v1/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'
POST /recover-key

Lost your key? We email it to the address it was registered with.

curl -X POST https://api.travelriskapi.com/api/v1/recover-key \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'
GET /usage

Your own consumption: today, this month, and a daily breakdown. Same numbers as the dashboard.

GET /billing/plans

Current plans, limits and credit packs, straight from billing โ€” so it can never drift from what you're charged.

Upgrading or buying credits is done from your dashboard.

GET /health

Service health and record counts. Handy for monitoring.

๐Ÿค Community clients & examples

Open-source clients and test suites written by people using the API. Built something? Email support@travelriskapi.com and we'll list it here.

Python Country & alert consumer scripts by Paul, CodeZest

Ready-to-run scripts for pulling country and alert data, with typed dataclasses for every response field. github.com/codezestnet/travelriskapi-python ยท MIT licence

See also the API changelog โ€” every change, including added fields.

๐Ÿ“Š Limits & response headers

Two independent limits apply: a per-minute burst limit and a daily quota. The daily counter resets at 00:00 UTC. Prepaid credits, if you have any, are spent only after the daily quota runs out.

PlanRequests/dayBurst/minPrice
Free10060$0
Pro10,000600$99/mo
Enterpriseunlimited3,000$499/mo

Every response carries:

  • X-Quota-Limit, X-Quota-Used, X-Quota-Remaining — your daily allowance
  • X-Credits-Balance — prepaid credits remaining
  • X-RateLimit-Limit, X-RateLimit-Remaining — per-minute burst
  • Retry-After on 429 — seconds until you can retry

List responses also include data_updated_at (the newest record we hold) and generated_at, so you can tell how fresh an answer is. Conflict data updates every 15 minutes, alerts every 6 hours, government advisories daily.

โš ๏ธ Error Codes

CodeMeaningWhen
401UnauthorizedMissing or invalid API key
404Not FoundCountry or alert not found
429Rate LimitedToo many requests
500Server ErrorInternal server error

Coming Soon

Features we're building based on customer feedback

๐Ÿ™๏ธ City-Level Risk

Granular risk data for major cities, not just countries.

๐Ÿ›ฃ๏ธ Route Assessment

Multi-leg journey risk analysis with stopovers.

๐Ÿ’‰ Health Data

Vaccination requirements, disease outbreaks, health advisories.

๐Ÿ“Š Risk Trends

Historical risk data and trend analysis over time.

๐Ÿ“ฆ SDKs

Official libraries for Python, JavaScript, PHP, Ruby.

๐Ÿ“„ PDF Reports

Branded risk assessment PDFs for client delivery.

Simple, Transparent Pricing

Start free. Scale when you need to.

Free

For testing & personal projects

$0/mo
  • โœ“ 100 requests/day
  • โœ“ All endpoints
  • โœ“ Email support
Get Free Key
MOST POPULAR

Pro

For startups & growing apps

$99/mo
  • โœ“ 10,000 requests/day
  • โœ“ Priority support
  • โœ“ Webhook alerts
  • โœ“ Historical data
  • โœ“ SLA 99.9%
Start Free Trial

Enterprise

For large-scale operations

$499/mo
  • โœ“ Unlimited requests
  • โœ“ 24/7 support
  • โœ“ Custom integrations
  • โœ“ SOC 2 compliance
  • โœ“ On-premise option
  • โœ“ SLA 99.99%
Contact Sales

Get Your API Key

Enter your email and we'll send you a free API key instantly.

Or try the demo key right now:

demo-key-travel-risk-2026