---
title: "What it costs to arrive in a country"
method: GET
path: "/api/arrival.json"
---

# What it costs to arrive in a country

`GET /api/arrival.json`

## Request

- Base URL: `https://geo-parity.com`
- URL: `https://geo-parity.com/api/arrival.json`
- Auth: one of:
  - none
  - HTTP bearer
  - API key in query parameter `key`

The cash needed to ARRIVE, as distinct from what a month costs once you live there: the entry fee for a given passport, the first month's rent, the deposit, and a long-stay visa fee where one has been verified against the issuing government. READ `complete` BEFORE `totalUsd`. Rent covers a subset of the country spine and most visa fees could not be verified, so the total is a FLOOR whenever `complete` is false, and `missing` names each component that could not be priced. The total can legitimately be 0 - visa-free entry into a country with no rent figure sums to nothing known - which is honest arithmetic and a false headline. `depositMonths` is a stated assumption rather than a measurement: no free global dataset of deposit norms exists. The entry ROUTE is derived exactly from passport mobility data, so 'visa-free for this passport' is always answered even where no fee is. The destination must be in the PPP registry; some countries with a verified nomad-visa fee are reachable only through /api/visas.json.

## Query parameters

- `passport` string, required
- `destination` string, required
- `depositMonths` number
- `income` number

## Response `200`

Ranked countries with rentBasis, per-metric reference years, a count of countries excluded for want of the sorted metric, and an attribution block.

## Other responses

- `400`: Invalid parameter (bad sort, or a non-positive income, filter or flat size).
- `422`: Unknown country code.

---

[API](https://skmtc.dev/geo-parity/apis/geo-parity-api.md) · [All operations](https://skmtc.dev/geo-parity/apis/geo-parity-api/llms.txt) · [OpenAPI document](https://skmtc.dev/geo-parity/apis/geo-parity-api/revisions/8ddff47a0806?raw)
