+Visas API
Look up visa requirements by passport and destination, and pull a passport's full visa list and ranking as JSON.
The API.SH Visas API answers the question travelers and travel sites ask most: does this passport need a visa for that country? Pass a passport and a destination as country codes and get the requirement: visa free (with the allowed days where known), visa on arrival, eTA, e-visa, visa required or no admission. Or pass one passport to get every destination's requirement, counts by requirement type, a mobility score and its rank among about 200 passports. Visa rules change, so treat the result as a first check and have travelers confirm with the destination's official government or embassy website before they book.
- 2 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/visas/v1/ passport
{ "success": true } What you can build with the Visas API
Visa checks in a booking flow
When a traveler picks a destination, look up their passport against it and show whether they need a visa, an eTA or an e-visa before they pay, with a link to the official source for confirmation.
Visa-free destination lists
Pull one passport's full list filtered to visa free or visa on arrival to build "where can I go without a visa" pages, deal alerts or trip ideas.
Passport strength rankings and maps
Compare passports by mobility score, rank and counts by requirement type to build passport ranking tables or a visa requirements map.
Corporate travel and HR mobility
Check which employees, by passport, can travel to a meeting or event country without a visa in advance, and flag trips that need an e-visa or a full visa early.
Travel assistants and AI agents
Give a chatbot or AI agent a visa lookup through the MCP server so it can answer "do I need a visa for Thailand with an Indian passport" with structured data and then point the user to official sources.
Visas data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
Visas API endpoints and prices
Every Visas endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| Passport visa list and ranking /visas/ | $1 · $2 PAYG 1 credit |
| Visa requirement /visas/ | $1 · $2 PAYG 1 credit |
Call the Visas API
Passport visa list and ranking: GET https://api.api.sh/visas/
curl "https://api.api.sh/visas/v1/passport?passport=DE" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/visas/v1/passport",
params={"passport": "DE"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/visas/v1/passport");
url.searchParams.set("passport", "DE");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/visas/v1/passport", "passport", "DE")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "Visas" and "Passport visa list and ranking".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for Visas data
- Public data only: no Visas login, cookies or account needed
- One key and one response shape for Visas and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official Visas API
No single official visa requirements API covers every country: each government publishes its own entry rules, and IATA's Timatic is a paid airline product. Commercial providers such as Sherpa, the Passport Index API and Travel Buddy sell visa data mostly through sales or partner plans. API.SH gives you self-serve passport-to-destination lookups and full passport lists with one key, but it is a data lookup, not an official ruling: travelers should confirm with the destination's government or embassy.
Sherpa, TravelDoc and Peninsula Visa target airlines and OTAs with full travel-document products and sales-led pricing, and free options like Visamundi or GitHub datasets need their own upkeep. API.SH is self-serve, pay per call, and uses the same key and JSON shape as every other API.SH endpoint.
Visas API questions
What visa data can I get?+
The requirement for one passport traveling to one destination, with allowed visa-free days where known (/visas/v1/requirement), and one passport's requirement for every destination with counts by type, mobility score and rank among about 200 passports, filterable by requirement (/visas/v1/passport).
How much does the Visas API cost?+
Every Visas endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free visa requirements API?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /visas/v1/passport at 1 credit each. Some free visa datasets and APIs also exist; API.SH adds one key, consistent JSON and no-code tools on top.
Where does the data come from?+
From public visa requirement data covering about 200 passports. It is not an official government source. Entry rules change, so always confirm with the destination's official government or embassy website before travel.
Do I need keys for the underlying sources?+
No. One API.SH key covers both endpoints. There is no partner agreement or separate sign-up.
What requirement types are returned?+
Visa free (with allowed days where known), visa on arrival, eTA, e-visa, visa required and no admission. The passport endpoint can filter to any one of these.
Is this the Visa payments API?+
No. This page is about travel visas and passport entry rules. It has nothing to do with Visa Inc. card payments or the Visa Developer platform.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key. 3. Call /visas/v1/requirement with passport=IN and destination=TH. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.