Immigration & Visa Requirements API

Check visa requirements, available visa types, and immigration rules between countries. Covers tourism, business, work, and study visas with data sourced from IATA Timatic and national immigration departments.

Live

Base URL

https://api.crimate.net/v1/visa

Authentication

Include your Visa API key in the Authorization header.

curl -H "Authorization: Bearer db_visa_live_YOUR_KEY" \
     https://api.crimate.net/v1/visa/requirements/check?nationality=NG&destination=ZA

Endpoints

GET/v1/visa/requirements

List visa requirements with optional filters by nationality and destination

Parameters: nationality (ISO alpha-2), destination (ISO alpha-2), purpose (tourism/business/work/study), page, per_page

Example

GET /v1/visa/requirements?nationality=NG&destination=ZA&purpose=tourism
GET/v1/visa/requirements/check

Quick check if a visa is required between two countries for a specific purpose

Parameters: nationality (required), destination (required), purpose (default: tourism)

Example

GET /v1/visa/requirements/check?nationality=GH&destination=KE&purpose=business
GET/v1/visa/types

List available visa types for a destination country

Parameters: destination (required), purpose (optional)

Example

GET /v1/visa/types?destination=ZA
GET/v1/visa/countries

List all countries with available visa requirement data

Parameters: region (optional)

Example

GET /v1/visa/countries?region=africa
GET/v1/visa/countries/{countryId}

Get detailed visa policy information for a specific country

Parameters: countryId (required, path, ISO alpha-2)

Example

GET /v1/visa/countries/ZA
GET/v1/visa/updates

Recent visa policy changes and updates across all countries

Parameters: country, from (YYYY-MM-DD), to (YYYY-MM-DD), page, per_page

Example

GET /v1/visa/updates?from=2026-01-01&to=2026-03-08
GET/v1/visa/stats

Dataset statistics (total countries, requirements, latest update)

Parameters: None

Example

GET /v1/visa/stats

Response Examples

Requirements check response:

{
  "check": {
    "nationality": "NG",
    "nationality_name": "Nigeria",
    "destination": "ZA",
    "destination_name": "South Africa",
    "purpose": "tourism",
    "visa_required": true,
    "visa_type": "Visitor Visa",
    "max_stay_days": 90,
    "processing_time_days": 10,
    "documents_required": [
      "Valid passport (6+ months validity)",
      "Completed application form (DHA-84)",
      "Proof of sufficient funds",
      "Return flight booking",
      "Proof of accommodation"
    ],
    "last_updated": "2026-02-15"
  }
}

Try It

Enter your Visa API key to make a live request. Generate a key in the dashboard.

Try It

Make a live API call from your browser

GET
curl -H "Authorization: Bearer db_visa_live_YOUR_KEY" \
     "https://crimate.net/v1/visa/stats"

Data Sources

IATA Timatic

The airline industry's authoritative source for passport, visa, and health requirements. Provides up-to-date entry requirements used by airlines worldwide for pre-departure validation.

National Immigration Departments

Official immigration authorities including South Africa's Department of Home Affairs, Kenya's Directorate of Immigration, and Nigeria Immigration Service. Provides visa types, document requirements, and processing times.

Rate Limits

TierPriceRate LimitDaily QuotaMonthly Quota
FreeR0/mo10 req/min1001,000
StarterR599/mo60 req/min5,00050,000
ProR2,499/mo300 req/minUnlimited500,000

Error Codes

All error responses follow a consistent JSON format:

{
  "error": "error_code",
  "message": "Human-readable description."
}
StatusError CodeDescription
400invalid_requestThe request body or query parameters are malformed.
401unauthorizedMissing or invalid API key.
403no_subscriptionNo active subscription for this API product.
403quota_exceededDaily or monthly quota exceeded.
404not_foundThe requested resource does not exist.
429rate_limit_exceededToo many requests. Check X-RateLimit-Remaining header.
500internal_errorAn unexpected server error occurred.