SoloOutpost API
The same data behind this site, as a read-only JSON API. Two sides: ask by passport to get every country a nationality can relocate to with the visa route that applies, or ask by country for the full tax, cost, and visa picture. About 150 countries and 140 nationalities.
The API is free and keyless. The production endpoints below work right now, no signup and no key. If you use the data, please credit SoloOutpost with a link back to solooutpost.com. Every detail response includes an attribution field with the link.
The datasets
Four datasets, three of them with a dedicated free API and reference page.
Mobility API
Pass a passport, get every country that nationality can relocate to, ranked by our Solopreneur Friendliness score, each with the entry route that applies (visa-free, freedom of movement, digital-nomad or entrepreneur visa). Built from the Passport Index matrix joined to our own visa dataset.
/mobility, /mobility/{nationality} · Read the Mobility API docs →
Citizenship by Investment API
Every country that grants a passport in exchange for investment or donation, with exact minimum amounts per route, government fees, family rules, processing times, program status (including terminated schemes like Malta), and the restricted applicant nationalities for each program.
/citizenship, /citizenship/{slug} · Read the Citizenship by Investment API docs →
Golden Visa API
Every golden-visa (residency-by-investment) program worldwide, with investment thresholds by route, what residency it grants, physical-presence rules, the path to permanent residence and citizenship, and current status (active, closed or terminated). Around 70 jurisdictions.
/golden-visas, /golden-visas/{slug} · Read the Golden Visa API docs →
Endpoints
Base URL: https://solooutpost.com/api
/mobility/countries/citizenship/golden-visasBuilding with Claude, Codex, or Cursor?
Point your AI tool at the machine-readable spec and it can write a working client in seconds. Two files describe the whole API:
- https://solooutpost.com/api/openapi.yaml — full OpenAPI 3 definition with real example responses. Paste this URL into Claude, Codex, or any codegen tool.
- solooutpost.com/llms.txt — a plain-text summary written for LLMs: endpoints, parameters, and copy-paste examples.
Add it to Claude in one line
SoloOutpost ships an MCP server, so Claude, Claude Code, and Cursor can query this data as native tools. In Claude Code:
claude mcp add solooutpost -- npx -y solooutpost-mcp
Then just ask: "Using SoloOutpost, where can a Russian freelancer live on a nomad visa under $3,000 a month?"
Prefer plain HTTP? Try it from the terminal, no key needed:
# where can a Russian freelancer live, nomad visas under $3000/mo curl "https://solooutpost.com/api/mobility/russian?nomad=true&maxIncome=3000" # full tax profile for one country curl "https://solooutpost.com/api/country/portugal"
Visa data change often and some visas exclude specific nationalities. Treat the API as a current starting point for filtering and ranking, not legal advice. See how we score countries.
API reference
Four read-only endpoints. Switch the language tab for ready-to-run request snippets.
/mobilityList every nationality (passport) covered. Use it to discover valid values for the by-passport endpoint.
curl "https://solooutpost.com/api/mobility"
[
{ "slug": "american", "demonym": "American", "passport": "United States", "iso": "US", "count": 148 },
{ "slug": "russian", "demonym": "Russian", "passport": "Russia", "iso": "RU", "count": 148 }
]/mobility/{nationality}Every country a passport can relocate to, ranked by Solopreneur Friendliness, with the visa route that applies.
| Parameter | In | Type | Description |
|---|---|---|---|
nationality required | path | string | Demonym slug, e.g. russian, indian, german. |
nomad | query | boolean | Only destinations with a digital nomad visa. |
maxIncome | query | integer | Only destinations whose nomad-visa monthly income minimum (USD) is at or below this. |
curl "https://solooutpost.com/api/mobility/russian?nomad=true&maxIncome=3000"
{
"passport": "Russia",
"demonym": "Russian",
"slug": "russian",
"count": 21,
"filtered": true,
"destinations": [
{
"slug": "georgia",
"name": "Georgia",
"region": "Europe",
"friendliness_score": 75,
"nomad_visa": true,
"entrepreneur_visa": false,
"nomad_income_usd": 2000,
"taxation_basis": "territorial",
"expat_regime_name": "Small Business Status (1% turnover tax up to GEL 500,000)",
"entry_category": "visa_free",
"entry_label": "Visa-free, 360 days",
"entry_days": 360
}
],
"attribution": { "source": "SoloOutpost", "url": "https://solooutpost.com" }
}/countriesAll ~150 countries with headline tax fields, visa flags, cost of living, and the friendliness score.
curl "https://solooutpost.com/api/countries"
[
{
"slug": "united-arab-emirates",
"name": "United Arab Emirates",
"iso_code": "AE",
"region": "Middle East",
"friendliness_score": 90,
"pit_top_rate": 0,
"taxation_basis": "territorial",
"digital_nomad_visa": true,
"dnv_income_requirement_usd": 3500
}
]/country/{slug}Full tax, cost, and visa record for one country, including the friendliness score and its four pillars.
| Parameter | In | Type | Description |
|---|---|---|---|
slug required | path | string | Country slug, e.g. portugal, united-arab-emirates. |
curl "https://solooutpost.com/api/country/portugal"
{
"slug": "portugal",
"name": "Portugal",
"iso_code": "PT",
"region": "Europe",
"friendliness_score": 50,
"taxation_basis": "worldwide",
"pit_top_rate": 48,
"vat_standard_rate": 23,
"digital_nomad_visa": true,
"dnv_income_requirement_usd": 3975,
"cost_of_living_index": 48.8,
"attribution": { "source": "SoloOutpost", "url": "https://solooutpost.com" }
}