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.
Base URL
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=ZAEndpoints
/v1/visa/requirementsList 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/v1/visa/requirements/checkQuick 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/v1/visa/typesList available visa types for a destination country
Parameters: destination (required), purpose (optional)
Example
GET /v1/visa/types?destination=ZA/v1/visa/countriesList all countries with available visa requirement data
Parameters: region (optional)
Example
GET /v1/visa/countries?region=africa/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/v1/visa/updatesRecent 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/v1/visa/statsDataset statistics (total countries, requirements, latest update)
Parameters: None
Example
GET /v1/visa/statsResponse 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
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
| Tier | Price | Rate Limit | Daily Quota | Monthly Quota |
|---|---|---|---|---|
| Free | R0/mo | 10 req/min | 100 | 1,000 |
| Starter | R599/mo | 60 req/min | 5,000 | 50,000 |
| Pro | R2,499/mo | 300 req/min | Unlimited | 500,000 |
Error Codes
All error responses follow a consistent JSON format:
{
"error": "error_code",
"message": "Human-readable description."
}| Status | Error Code | Description |
|---|---|---|
| 400 | invalid_request | The request body or query parameters are malformed. |
| 401 | unauthorized | Missing or invalid API key. |
| 403 | no_subscription | No active subscription for this API product. |
| 403 | quota_exceeded | Daily or monthly quota exceeded. |
| 404 | not_found | The requested resource does not exist. |
| 429 | rate_limit_exceeded | Too many requests. Check X-RateLimit-Remaining header. |
| 500 | internal_error | An unexpected server error occurred. |