---
title: "API & MCP Server — Geo-Parity"
description: "A free, open, key-free JSON API and an MCP server over cost-of-living, salary, tax and visa data. 1,500 requests a month with no key; higher ceilings from £19 a month."
canonical: "https://geo-parity.com/developers/"
generator: geo-parity markdown twin
---
# API & MCP server

Every figure on this site is available as JSON and as an MCP tool. No key, no sign-up and no CORS restrictions to start — a key only raises the ceiling, it never changes the answer.

62 tools, one per question the site answers, each returning a **discriminated union** (`ok: true` or `ok: false` with a machine-readable `code`) and an **attribution block** naming the dataset, the provider, the reference year and a ready-to-quote citation sentence.

## Try it without signing up

```
`curl "https://geo-parity.com/api/calculate.json?income=60000&target=VN"`
```

That works right now, from anywhere, with no key. The same call is the MCP tool `calculate_ppp` — MCP requests dispatch in-process to these same handlers, so an agent and a `curl` get byte-identical payloads.

## Connect the MCP server

Add this to your client's config (Claude Desktop, Claude Code, or anything else that speaks MCP). The package is a thin stdio bridge to the hosted server — there is nothing to keep updated when tools are added.

```
`{ "mcpServers": { "geo-parity": { "command": "npx", "args": ["-y", "geo-parity-mcp"] } } }`
```

Or point a remote MCP client straight at `https://geo-parity.com/api/mcp`. The server is open — no auth — and metered by IP exactly like the REST API. It negotiates protocol revisions rather than asserting one, and serves tools, resources and prompts.

## Limits, and what a key buys

There are two ceilings: a **monthly quota**, which is the allowance a plan buys, and a **per-minute burst**, so one caller cannot saturate the service. Quotas reset on the 1st, UTC. Metering is per account, not per key — holding several keys does not raise the allowance.

| Plan | Price | Requests/month | Burst/minute |
| --- | --- | --- | --- |
| Anonymous no key, no account | Free | 1,500 per IP | 30 |
| Free account a key, so the quota follows you | Free | 2,000 per account | 60 |
| Lite the AI adviser, and a little more API | £1/mo | 4,000 per account | 60 |
| Pro saved comparisons and CSV export too | £4/mo | 20,000 per account | 90 |
| Pro Plus more of everything Pro has | £12/mo | 75,000 per account | 150 |
| API Starter for a product in the background; Pro Plus features included | £19/mo | 150,000 per account | 200 |
| API Scale high-volume or agent fleets; the largest adviser allowance | £59/mo | 600,000 per account | 300 |

Prices are in GBP and exclude any tax your country applies; USD pricing and checkout are on [the pricing page](https://geo-parity.com/pricing/). Billing runs through Polar, which is the merchant of record.

[Create a key on your account page](https://geo-parity.com/account/) — it takes a minute and the free tier needs no card.

## Handling the ceilings

Every response carries `X-RateLimit-Limit`, `-Remaining` and `-Reset` for the minute, and `X-Quota-Limit`, `-Remaining` and `-Reset` for the month. Two different 429s, and they mean different things:

- `RATE_LIMITED` — too fast. Wait for `Retry-After` and continue; your monthly allowance is untouched.
- `QUOTA_EXCEEDED` — the month's allowance is spent. Retrying before the 1st cannot help; a key or a higher plan is the only thing that does.

Send a key as `Authorization: Bearer gp_live_…`, or `?key=…` where you cannot set headers.

## Specifications

- [openapi.json](https://geo-parity.com/openapi.json) — OpenAPI 3.1 for every endpoint
- [llms.txt](https://geo-parity.com/llms.txt) — the capability index, written for models
- [.well-known/mcp.json](https://geo-parity.com/.well-known/mcp.json) — the MCP server card
- [.well-known/api-catalog](https://geo-parity.com/.well-known/api-catalog) — RFC 9727 linkset

Every indexable page also has a Markdown twin at `index.md` beside it, so an agent can read the prose without parsing HTML.

## What stays free

The API stays open and key-free. Paid plans raise the ceiling; they do not put a dataset, an endpoint or a tool behind a login, and nothing here is priced per call. If the free tier covers what you are doing, that is the intended outcome — the plans exist for volume, not to ration the answers.

---

Source: Geo-Parity — https://geo-parity.com/developers/
