{"openapi":"3.1.0","info":{"title":"MyLatinLife Data API","version":"2026-10-19","description":"Verified immigration, residency, citizenship, tax and banking data for Latin America and Latin Europe. The same tools are available as an MCP server at https:\/\/mylatinlife.com\/mcp. General information, not legal or tax advice. Rules change; check last_verified and the cited sources, or book a call with MyLatinLife for your situation.","contact":{"name":"MyLatinLife","url":"https:\/\/mylatinlife.com\/"},"termsOfService":"https:\/\/mylatinlife.com\/api\/v1\/terms","license":{"name":"Free to use with attribution and a link to mylatinlife.com. No bulk resale or republishing as a competing dataset."}},"servers":[{"url":"https:\/\/mylatinlife.com\/api\/v1"}],"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"Optional commercial key (higher limits, get_dataset): https:\/\/buy.stripe.com\/7sYdR956F11W0bh1fhaVb1q"}}},"security":[{},{"apiKey":[]}],"paths":{"\/list_countries":{"get":{"operationId":"list_countries","summary":"Covered countries","description":"Countries (and trade blocs) with data: ISO code, region, a one-line headline and which topics each one has.","parameters":[],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}},"\/find_visas":{"get":{"operationId":"find_visas","summary":"Find residency visas","description":"Search digital nomad, retirement (pensionado) and investor visas across countries, cheapest entry first. Filter by the most a person can show: monthly USD income for digital_nomad and retirement, USD investment for investor. Returns summary rows; use get_country_profile for full requirements.","parameters":[{"name":"visa_type","in":"query","required":false,"description":"","schema":{"type":"string","enum":["digital_nomad","retirement","investor","any"]}},{"name":"max_minimum_usd","in":"query","required":false,"description":"Only visas whose entry minimum is at or below this.","schema":{"type":"number"}},{"name":"region","in":"query","required":false,"description":"A region (\"South America\", \"Central America\", \"North America\", \"Caribbean\", \"Europe\") or \"Latin America\".","schema":{"type":"string"}},{"name":"countries","in":"query","required":false,"description":"Comma-separated list.","schema":{"type":"string"}}],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}},"\/get_country_profile":{"get":{"operationId":"get_country_profile","summary":"Country profile","description":"Everything on one country, starting with a summary (headline sentence, lowest visa minimums, years to citizenship, tax system, monthly cost, safety rank, programs researched and found not to exist, and the oldest and newest verification dates). Then: visas, years from residency to permanent residency and citizenship (with legal citations), physical presence rules, foreign-income tax, banking access, property tax, cost of living (country and city), safety, healthcare and hospitals, passport power, expat index scores and tax blacklist status. Pass topics to narrow it; full profiles can be large.","parameters":[{"name":"country","in":"query","required":true,"description":"Country name or slug, e.g. \"Panama\" or \"costa-rica\".","schema":{"type":"string"}},{"name":"topics","in":"query","required":false,"description":"Comma-separated list.","schema":{"type":"string"}}],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}},"\/compare_countries":{"get":{"operationId":"compare_countries","summary":"Compare countries","description":"Side-by-side rows for several countries on one topic, e.g. tax_systems for Panama, Paraguay and Uruguay.","parameters":[{"name":"countries","in":"query","required":true,"description":"Comma-separated list.","schema":{"type":"string"}},{"name":"topic","in":"query","required":true,"description":"","schema":{"type":"string","enum":["citizenship_residency_pathways","digital_nomad_visas","investor_visas","retirement_visas","physical_presence","tax_systems","banking","property_tax","cost_of_living","safety","healthcare","city_cost_of_living","passport_power","expat_index","tax_blacklists"]}}],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}},"\/get_dataset":{"get":{"operationId":"get_dataset","summary":"Full dataset (commercial)","description":"Every row of one topic, optionally for one country. Requires a commercial API key: https:\/\/buy.stripe.com\/7sYdR956F11W0bh1fhaVb1q","parameters":[{"name":"topic","in":"query","required":true,"description":"","schema":{"type":"string","enum":["citizenship_residency_pathways","digital_nomad_visas","investor_visas","retirement_visas","physical_presence","tax_systems","banking","property_tax","cost_of_living","safety","healthcare","city_cost_of_living","passport_power","expat_index","tax_blacklists"]}},{"name":"country","in":"query","required":false,"description":"Country name or slug, e.g. \"Panama\" or \"costa-rica\".","schema":{"type":"string"}}],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}},"\/check_tax_blacklists":{"get":{"operationId":"check_tax_blacklists","summary":"Tax blacklist check","description":"Which tax and AML blacklists or greylists (EU Annex I\/II, OECD, FATF, national lists) a jurisdiction is on, with legal basis and consequences.","parameters":[{"name":"jurisdiction","in":"query","required":true,"description":"Name or ISO alpha-2 code, e.g. \"PA\".","schema":{"type":"string"}}],"responses":{"200":{"description":"Result, with meta (attribution, license, disclaimer) and mylatinlife_services links.","content":{"application\/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid argument; the error message lists valid values."},"429":{"description":"Free tier rate limit reached."}}}}},"x-mcp-server":"https:\/\/mylatinlife.com\/mcp"}