{"openapi":"3.1.0","info":{"title":"Visa Requirements API","version":"1.0.0","description":"Look up visa requirements between 199 passports and 199 destinations: whether a passport holder needs a visa, can enter visa-free, gets a visa on arrival, an e-visa or an eTA, or is not admitted — including the allowed length of stay in days. Get a full breakdown for any passport (every destination with category counts and a passport-power mobility score), the reverse view for any destination (which passports may enter), a ranking that compares the mobility of several passports, and the list of supported countries. Countries can be given as ISO-2, ISO-3 or exact name, and every endpoint accepts input via the query string or the request body. Pure server-side data (no third-party upstream), so responses are instant and always available. Ideal for travel-booking flows, relocation and immigration tools, fintech onboarding and travel apps.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/visa-api","description":"oanor gateway"}],"tags":[{"name":"Visa"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/compare":{"get":{"operationId":"get_v1_compare","tags":["Visa"],"summary":"Rank passports by mobility","description":"","parameters":[{"name":"passports","in":"query","required":true,"description":"Comma-separated countries (max 20)","schema":{"type":"string"},"example":"DE,US,JP,SG"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/countries":{"get":{"operationId":"get_v1_countries","tags":["Visa"],"summary":"All supported countries","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/destination":{"get":{"operationId":"get_v1_destination","tags":["Visa"],"summary":"Which passports may enter a destination","description":"","parameters":[{"name":"country","in":"query","required":true,"description":"Destination country","schema":{"type":"string"},"example":"JP"},{"name":"category","in":"query","required":false,"description":"Filter category","schema":{"type":"string"},"example":"visa_free"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/passport":{"get":{"operationId":"get_v1_passport","tags":["Visa"],"summary":"All destinations for one passport","description":"","parameters":[{"name":"country","in":"query","required":true,"description":"Passport country","schema":{"type":"string"},"example":"DEU"},{"name":"category","in":"query","required":false,"description":"Filter: visa_free|visa_on_arrival|e_visa|eta|visa_required|no_admission","schema":{"type":"string"},"example":"visa_required"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/requirement":{"get":{"operationId":"get_v1_requirement","tags":["Visa"],"summary":"Visa rule for a passport → destination","description":"","parameters":[{"name":"from","in":"query","required":true,"description":"Passport country (ISO-2/3 or name)","schema":{"type":"string"},"example":"DE"},{"name":"to","in":"query","required":true,"description":"Destination country","schema":{"type":"string"},"example":"US"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":25000,"rps_limit":3,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":550,"monthly_call_quota":350000,"rps_limit":12,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1700,"monthly_call_quota":2500000,"rps_limit":40,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4400,"monthly_call_quota":12000000,"rps_limit":120,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/visa-api"}