Developers

Border rules in. Clean JSON out.

ProtocolREST / HTTPS
FormatAI-ready JSON
AuthenticationBearer token
Versionv1
01 / Quickstart

Make your first request.

All API requests use the base URL https://api.passport-api.com/v1. Request a passport profile with its ISO 3166-1 alpha-3 code and receive structured, AI-ready data suited to applications, agents, and automated travel workflows.

GET/passports/USA
curl "https://api.passport-api.com/v1/passports/USA" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"
API credentials are issued during partner-led onboarding. Keep bearer tokens on the server and never expose them in browser code or public repositories.
02 / Authentication

Authenticate with a bearer token.

Include your production token in the HTTP Authorization header on every request.

Authorization: Bearer YOUR_TOKEN
Accept: application/json

Tokens identify your integration and should be stored in an encrypted secret manager or protected server environment. If a token is exposed, contact our support team.

03 / Passport profile

Resolve passport power and access totals.

The passport profile endpoint provides a normalized snapshot of mobility, rank, and destinations by access category.

200application/json
{
  "data": {
    "passport": {
      "code": "USA",
      "name": "United States"
    },
    "mobility_score": 187,
    "global_rank": 8,
    "access_totals": {
      "visa_free": 118,
      "visa_on_arrival": 46,
      "eta": 8,
      "evisa": 15,
      "visa_required": 12
    },
    "updated_at": "03/03/2026"
  }
}
04 / Entry check

Resolve a passport and destination pair.

Pass passport and destination as ISO alpha-3 codes. Add an ISO date when you want the response evaluated in trip context.

GET/entry?passport=USA&destination=JPN&travel_date=03/03/2026
{
  "data": {
    "passport": "USA",
    "destination": "JPN",
    "travel_date": "03/03/2026",
    "access": "visa_free",
    "max_stay_days": 90,
    "passport_validity_months": 6,
    "notes": [
      "Entry conditions may depend on onward travel and purpose."
    ],
    "checked_at": "03/03/2026"
  }
}
05 / Responses

Conventional status codes.

Successful responses return a data object. Errors return a stable error type, human-readable message, and request identifier.

StatusMeaningTypical action
200Request succeededUse the response data.
400Invalid parametersValidate country codes and date format.
401Authentication failedCheck the bearer token.
404Resource not foundConfirm the requested resource code.
429Request limit reachedBack off and retry with jitter.
500Unexpected service errorRetry safely and retain the request ID.
06 / Errors

Errors that are useful in production.

{
  "error": {
    "type": "invalid_request",
    "message": "destination must be an ISO alpha-3 code",
    "param": "destination",
    "request_id": "req_01J5PA55P0RT"
  }
}

Example requests and schemas on this page illustrate the API shape and may be refined during technical onboarding for your licensed integration.

Ready to build with border intelligence?

Production access is licensed through our technology partners for a one-time fee and includes lifetime integration support.