toshiko

Toshiko Visa API

Visa requirements as structured data — where every verified fact carries its official government source URL, the verbatim snippet it was grounded on, and the date it was last checked. Built for AI agents and travel products.

Quick start

curl "https://toshikovisa.com/api/v1/requirements?nationality=IN&destination=BR"

No key needed on the beta demo tier. OpenAPI spec: /api/v1/openapi.json

Endpoints

Example responses

A verified corridor — the outcome plus the full agent-verified guide; note the per-fact evidence (official source URL, verbatim snippet, last-verified date):

GET /api/v1/requirements?nationality=IN&destination=BR

{
  "query": {
    "nationality": "IN",
    "destination": "Brazil",
    "residence": "IN",
    "visaType": "visitor-visa"
  },
  "tier": "verified",
  "outcome": {
    "kind": "visa",
    "headline": "You need a visa for Brazil",
    "summary": "India passport holders need a visa to visit Brazil — apply for a visitor (VIVIS) visa at the Brazilian embassy or consulate with jurisdiction over where you live.",
    "officialUrl": "https://www.gov.br/mre/en/subjects/consular-affairs/the-consular-portal/visas-to-travel-to-brazil",
    "source": {
      "url": "https://www.gov.br/mre/en/subjects/consular-affairs/the-consular-portal/visas-to-travel-to-brazil",
      "lastVerified": "2026-06-17"
    },
    "disclaimer": "…"
  },
  "verifiedGuide": {
    "slug": "br-natl-in-res-in-visitor-visa",
    "url": "https://toshikovisa.com/visa/br-natl-in-res-in-visitor-visa",
    "summary": "Indian citizens need a visit visa (VIVIS) to travel to Brazil — fill the online application form (RER), then email the signed form and supporting documents to the Embassy of Brazil in New Delhi.",
    "entryProfile": {
      "validity": "Granted by the consular authority for visits of up to 90 days per stay.",
      "entries": "As granted on the visa.",
      "maxStay": "Up to 90 days, with no paid activity in Brazil.",
      "sourceUrl": "https://www.gov.br/mre/pt-br/assuntos/portal-consular/vistos/informacoes-sobre-vistos-para-estrangeiros-viajarem-ao-brasil"
    },
    "steps": [
      {
        "id": "check-need",
        "title": "Confirm the visit visa (VIVIS) fits your trip",
        "description": "The visit visa covers stays of up to 90 days for tourism, business, transit, artistic or sports activities, study, volunteer work or conferences — with no immigration intent and no paid activity in Brazil.",
        "dependsOn": [],
        "leadTimeDays": 60,
        "evidence": {
          "sourceUrl": "https://www.gov.br/mre/pt-br/assuntos/portal-consular/vistos/informacoes-sobre-vistos-para-estrangeiros-viajarem-ao-brasil",
          "sourceSnippet": "The visit visa will be issued to foreigners traveling to Brazil for staying up to 90 days without purposes of immigration or the exercise of paid activity",
          "lastVerified": "2026-07-08"
        }
      },
      "… 3 more steps, each with its own evidence"
    ],
    "documents": [
      {
        "id": "application-form",
        "name": "Visa request form (RER)",
        "spec": "The online visa request form (RER), duly signed, with a passport photo attached.",
        "conditional": false,
        "evidence": {
          "sourceUrl": "https://www.gov.br/mre/pt-br/embaixada-nova-delhi/servicos-consulares/vistos-1",
          "sourceSnippet": "o formulário de solicitação de visto on-line (RER), devidamente assinado e com uma foto de passaporte anexada",
          "lastVerified": "2026-07-08"
        }
      },
      "… 5 more documents"
    ],
    "fees": {
      "items": [],
      "note": "Consular fees apply — confirm the current visit-visa (VIVIS) fee and payment method with the Embassy of Brazil in New Delhi before you pay."
    },
    "meta": {
      "generatedAt": "2026-07-08",
      "overallConfidence": 1,
      "overallTier": "verified"
    }
  },
  "attribution": {
    "source": "Toshiko",
    "url": "https://toshikovisa.com",
    "note": "Every verified fact links to its official government source."
  }
}

A guidance corridor — no verified guide exists, so you get the conservative rule-derived outcome with the official source to confirm (guidance may over-state, never under-state, a requirement):

GET /api/v1/requirements?nationality=SE&destination=japan

{
  "query": {
    "nationality": "SE",
    "destination": "Japan",
    "residence": "SE",
    "visaType": "visitor-visa"
  },
  "tier": "verified",
  "outcome": {
    "kind": "visa_free",
    "headline": "No visa needed — short visit",
    "summary": "Sweden passport holders can visit Japan visa-free for a Short-Term Stay (tourism, business or visiting friends/relatives), with no paid work.",
    "details": [
      "Japan has reciprocal visa exemption with 74 countries and regions; most get up to 90 days (a few get 15 or 30).",
      "…"
    ],
    "officialUrl": "https://www.mofa.go.jp/j_info/visit/visa/short/novisa.html",
    "source": {
      "url": "https://www.mofa.go.jp/j_info/visit/visa/short/novisa.html",
      "lastVerified": "2026-06-17"
    },
    "disclaimer": "Guidance is rule-derived and deliberately conservative (it may over-state, never under-state, a visa requirement). Always confirm on the linked official source before applying or travelling."
  },
  "verifiedGuide": null,
  "relatedVerified": [],
  "attribution": {
    "source": "Toshiko",
    "url": "https://toshikovisa.com",
    "note": "Every verified fact links to its official government source."
  }
}

Passport summary — one passport across every covered destination:

GET /api/v1/passports/IN

{
  "passport": {
    "code": "IN",
    "name": "India",
    "demonym": "Indian"
  },
  "tier": "guidance",
  "disclaimer": "…",
  "destinations": [
    {
      "destination": "Albania",
      "code": "AL",
      "outcome": "visa",
      "headline": "You need a visa (Type C short-stay) — apply online",
      "visaType": "visitor-visa",
      "url": "https://toshikovisa.com/visa/albania/visitor-visa/india/india"
    },
    {
      "destination": "Australia",
      "code": "AU",
      "outcome": "visa",
      "headline": "You need a Visitor visa (subclass 600)",
      "visaType": "visitor-visa",
      "url": "https://toshikovisa.com/visa/australia/visitor-visa/india/india"
    },
    {
      "destination": "Brazil",
      "code": "BR",
      "outcome": "visa",
      "headline": "You need a visa for Brazil",
      "visaType": "visitor-visa",
      "url": "https://toshikovisa.com/visa/brazil/visitor-visa/india/india"
    },
    "… 30 more destinations"
  ],
  "attribution": {
    "source": "Toshiko",
    "url": "https://toshikovisa.com"
  }
}

Guide detail — a verified guide fetched directly by slug (same shape as verifiedGuide above; here the Ireland→US ESTA guide):

GET /api/v1/guides/us-natl-ie-res-ie-visitor-visa

{
  "slug": "us-natl-ie-res-ie-visitor-visa",
  "url": "https://toshikovisa.com/visa/us-natl-ie-res-ie-visitor-visa",
  "tier": "verified",
  "visaType": {
    "code": "visitor-visa",
    "name": "ESTA (Visa Waiver Program)",
    "description": "Visa-free travel to the United States under the Visa Waiver Program — apply online for ESTA instead of obtaining a visitor visa."
  },
  "summary": "Irish citizens don't need a US visitor visa for short trips — Ireland is in the Visa Waiver Program, so you apply online for ESTA and can visit for tourism or business for stays of 90 days or less.",
  "entryProfile": {
    "validity": "ESTA approval is typically granted for a two-year period or until your passport expires, whichever is sooner",
    "entries": "Usable for repeated trips while valid — a new ESTA is required if you get a new passport or your details change",
    "maxStay": "Stays of 90 days or less per visit for tourism or business",
    "sourceUrl": "https://travel.state.gov/content/travel/en/us-visas/tourism-visit/visa-waiver-program.html"
  },
  "steps": [
    {
      "id": "check-eligibility",
      "title": "Confirm you're eligible for the Visa Waiver Program",
      "description": "Ireland is on the US Visa Waiver Program country list, so Irish citizens can visit the US for tourism or business for up to 90 days without a visa — provided they hold an e-passport and get ESTA approval before travelling.",
      "dependsOn": [],
      "leadTimeDays": 30,
      "evidence": {
        "sourceUrl": "https://travel.state.gov/content/travel/en/us-visas/tourism-visit/visa-waiver-program.html",
        "sourceSnippet": "You must be a citizen or national of the following countries* to be eligible to travel to the United States under the VWP. Andorra Australia Austria Belgium Brunei Chile Croatia Czech Republic Denmark Estonia Finland France Germany Greece Hungary Iceland Ireland Israel Italy Japan",
        "lastVerified": "2026-07-14"
      }
    },
    "… 3 more steps, each with evidence"
  ],
  "documents": "… 5 documents, each with evidence",
  "fees": {
    "items": [
      {
        "label": "ESTA application fee",
        "amount": 40.27,
        "currency": "USD",
        "note": "Official ESTA portal: \"Fee for application is $40.27 USD.\" Payable by MasterCard, VISA, American Express, Discover (JCB or Diners Club only), or PayPal."
      }
    ],
    "note": "The fee is charged per ESTA application, including each new application after your ESTA or passport expires."
  },
  "gotchas": [
    "ESTA approval is not a guarantee of entry — a CBP officer determines admissibility when you arrive.",
    "…"
  ],
  "meta": {
    "generatedAt": "2026-07-14",
    "overallConfidence": 1,
    "overallTier": "verified"
  }
}

Coverage — the honesty report:

GET /api/v1/coverage

{
  "apiVersion": "1.0.0",
  "honesty": "…",
  "totals": {
    "verifiedGuides": 828,
    "destinations": 47,
    "guidanceMatrix": "any nationality × any covered destination",
    "locales": [
      "en",
      "zh-Hans",
      "ru",
      "ar",
      "ja",
      "ko"
    ],
    "verifiedDatesRange": {
      "oldest": "2026-06-16",
      "newest": "2026-07-14",
      "median": "2026-06-18"
    }
  },
  "destinations": [
    {
      "code": "GB",
      "name": "United Kingdom",
      "verifiedCorridors": 88,
      "verifiedNationalities": [
        "AL",
        "AU",
        "BD",
        "CN",
        "DZ",
        "EG",
        "ET",
        "GH",
        "HK",
        "ID",
        "IN",
        "KE",
        "LK",
        "MV",
        "MY",
        "NG",
        "NP",
        "PH",
        "PK",
        "RU",
        "TH",
        "TR",
        "UA",
        "US",
        "VE",
        "VN",
        "ZA"
      ],
      "visaTypes": [
        "adult-dependent-relative",
        "bno",
        "child-dependant",
        "child-student",
        "direct-airside-transit",
        "eu-settlement-family-permit",
        "fiance",
        "global-business-mobility",
        "global-talent",
        "graduate",
        "health-care-worker",
        "high-potential-individual",
        "india-young-professionals",
        "innovator-founder",
        "international-sportsperson",
        "marriage-visitor",
        "minister-of-religion",
        "overseas-domestic-worker",
        "parent",
        "partner-spouse",
        "returning-resident",
        "scale-up",
        "short-term-study-english",
        "skilled-worker",
        "standard-visitor",
        "student",
        "temporary-work",
        "uk-ancestry",
        "visitor-in-transit",
        "youth-mobility-scheme"
      ],
      "verifiedRange": {
        "oldest": "2026-06-17",
        "newest": "2026-07-14"
      }
    },
    {
      "code": "JP",
      "name": "Japan",
      "verifiedCorridors": 38,
      "verifiedNationalities": [
        "AU",
        "BD",
        "CA",
        "CN",
        "DE",
        "DZ",
        "EG",
        "ET",
        "GB",
        "GH",
        "ID",
        "IN",
        "LK",
        "MA",
        "MY",
        "NG",
        "NP",
        "PH",
        "PK",
        "RU",
        "SE",
        "US",
        "VN"
      ],
      "visaTypes": [
        "digital-nomad",
        "visitor-visa"
      ],
      "verifiedRange": {
        "oldest": "2026-06-18",
        "newest": "2026-07-14"
      }
    },
    "… 45 more destinations"
  ]
}

All examples are generated from the live resolvers and content set at build time — they are byte-representative of real responses (abridged where marked with “…”).

Supported destinations

The guidance tier answers for any of the ~200 nationalities travelling to any destination below. The count after each name is its verified corridors (nationality-specific guides with per-fact evidence) — the exact nationalities per destination are in /api/v1/coverage.

Albania 10Australia 30Brazil 7Canada 29China 20Egypt 19Hong Kong 21India 20Indonesia 33Japan 38Jordan 3Kenya 0Laos 3Malaysia 29Maldives 3Mexico 24Morocco 20New Zealand 23Philippines 20Qatar 20Russia 3Saudi Arabia 19Singapore 23South Africa 20South Korea 22Sri Lanka 19Thailand 28Türkiye 20United Arab Emirates 29United Kingdom 88United States 30Vietnam 19

Plus the Schengen Area — pass any member (29 countries, e.g. destination=france) or destination=schengen for the area-level short-stay answer. Verified Schengen corridors: Croatia (9), Czechia (1), Estonia (1), France (10), Germany (19), Greece (18), Hungary (1), Italy (17), Latvia (1), Malta (1), Portugal (9), Spain (28), Switzerland (18).

A destination not listed here returns 404 with a pointer to this coverage list — the API never guesses beyond what it covers.

MCP server (for AI agents)

The same data is exposed over the Model Context Protocol at https://toshikovisa.com/api/mcp (Streamable HTTP). Tools: get_visa_requirements, get_passport_summary, get_guide, get_coverage. Point any MCP-capable agent at it — no key needed on the demo tier.

Coverage, honestly

Every answer is labelled verified (an agent-verified pathway with per-fact official evidence) or guidance (a conservative rule-derived classification that may over-state, never under-state, a visa requirement). Today that means:

Guides are re-verified on a rolling schedule by the same pipeline that builds them — see how we verify. This API is informational guidance, not legal advice; always confirm on the linked official source.

Keys & commercial use

The keyless demo tier is for evaluation. For production keys, rate limits, and commercial licensing, contact us — the beta is free while we learn what integrators need.