---
title: "Countries ranked by your own weights on quality and cost"
method: GET
path: "/api/country-fit.json"
---

# Countries ranked by your own weights on quality and cost

`GET /api/country-fit.json`

## Request

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

Blends the livability composite with budget reach by 0–10 weights; region, budget and visa are filters. A POST with `preferences` (words) is for paid plans and uses TypeSafe Jev to turn them into weights; GET is free. For information only; every response says so first.

## Query parameters

- `budget` number
- `cost` number
- `internet` number
- `safety` number
- `healthcare` number
- `air` number
- `english` number
- `region` 'East Asia & Pacific' | 'Europe & Central Asia' | 'Latin America & Caribbean' | 'Middle East, North Africa, Afghanistan & Pakistan' | 'North America' | 'South Asia' | 'Sub-Saharan Africa'
- `withinBudget` '0' | '1'
- `needsVisa` '1'
- `limit` number

## Response `200`

Match groups (qualify, nearMiss, unpublished, excluded, none), one entry, or comparison rows; attribution names the curated register

## Other responses

- `400`: No parameter (MISSING_PARAMS), a non-positive funds figure or bad period (INVALID_PARAM), or fewer than two countries (TOO_FEW)
- `422`: A country outside the spine (UNKNOWN_COUNTRY) or an unsupported currency (UNKNOWN_CURRENCY)

---

[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)
