Developers

API documentation

A JSON API for residency, citizenship and digital-nomad programmes across 150+ countries. Start free; upgrade to Pro for the full dataset and CSV export.

Free

  • • No key required
  • • 60 requests / hour per IP
  • • Up to 100 results per call
  • • JSON only

Pro

  • • Bearer API key
  • • 600 requests / hour per key
  • • Full dataset, up to 1000 per call
  • • JSON + CSV export
Get a free Pro beta key

Authentication

The free endpoint needs no auth. The Pro endpoint takes your key as a bearer token (or x-api-key header, or ?api_key=).

Authorization: Bearer wcim_your_key_here

Free — list programmes

GET /api/programmes — returns a sample of up to 100 records.

curl "https://wherecanimove.com/api/programmes?type=golden_visa&limit=5"

Example response

[
  {
    "slug": "portugal-d7-passive-income-visa",
    "name": "Portugal D7 (Passive Income) Visa",
    "country": "Portugal",
    "region": "Europe",
    "sub_type": "passive_income_visa",
    "cost_display": "From ~$9,200/yr income",
    "investment_minimum": null,
    "processing_months": 4,
    "leads_to_pr": true,
    "path_to_citizenship_years": 5,
    "last_verified": "2026-05-30"
  }
]

Pro — full dataset

GET /api/v1/programmes — the complete catalogue, JSON or CSV.

# JSON, all citizenship-by-investment programmes
curl -H "Authorization: Bearer wcim_your_key" \
  "https://wherecanimove.com/api/v1/programmes?type=citizenship_by_investment"

# CSV export of everything
curl -H "Authorization: Bearer wcim_your_key" \
  "https://wherecanimove.com/api/v1/programmes?format=csv" -o programmes.csv

Pro responses are wrapped as { "count": n, "data": [...] }. Manage your keys in the Pro console.

Query parameters

ParameterTypeDescription
countrystringFilter by country name, e.g. Portugal.
typestringFilter by sub-type (comma-separated), e.g. golden_visa,digital_nomad.
regionstringFilter by region, e.g. Europe.
searchstringFree-text match on name, country and description.
limitnumberResults to return. Free: max 100. Pro: max 1000.
formatstringjson (default) or csv (Pro only).

Response fields

Each programme includes these key fields (and more):

slugUnique identifier, used in /programme/{slug}.
nameProgramme name.
countryCountry offering the programme.
regionWorld region.
sub_typeProgramme category (golden_visa, digital_nomad, citizenship_by_investment…).
statusactive, or closed (closed are excluded by default).
cost_displayHuman-readable headline cost.
investment_minimumMinimum qualifying amount (USD).
processing_monthsTypical processing time in months.
leads_to_prWhether it leads to permanent residency.
path_to_citizenship_yearsYears to citizenship eligibility, if any.
tax_rateHeadline personal tax indicator.
visa_free_countriesVisa-free count for the resulting document.
last_verifiedWhen the record was last checked against sources.

Fair use

Please cache responses and attribute WhereCaniMove with a link when you publish data. The data is provided as-is for guidance and isn't legal advice. For commercial or bulk use, go Pro or get in touch.

Ready to build?

Grab a free Pro beta key and pull the full dataset in minutes.

Get your API key