canonical: https://jentic.com/apis/geo-parity.com/geo-parity

# Geo-Parity API

The Geo-Parity API answers global cost-of-living, compensation, tax, and relocation questions by country. It localizes salaries with purchasing power parity, checks Schengen 90/180 and tax-residency day counts, compares two countries across housing, cost of living, tax, and dozens of other datasets, and matches an income and household to digital-nomad, retirement, and founder visas. It also scores timezone overlap for distributed teams, ranks cloud regions and internet quality, and returns per-country dossiers of headline figures with the source each was read from. Responses are cacheable JSON and most data is available without a key, with an optional key raising the quota.

## For AI agents

Answer global cost-of-living, salary, tax, visa, and country-comparison questions by country, each figure tied to its source. Keyless by default, with an optional API key that raises the quota.

## Scope

Does not handle payments, immigration filing, or legal advice. Use for global cost-of-living, compensation, tax, and relocation reference data only.

## Capabilities

- Localize a salary to a target country using purchasing power parity and cost of living
- Check Schengen 90/180 compliance and project a planned entry
- Count tax-residency days against the 183-day, US SPT, and UK tax-year tests
- Compare two countries across cost of living, tax, housing, and dozens of datasets
- Match an income and household to digital-nomad, retirement, and founder visas
- Rank countries by weighted quality-of-life, cost, safety, and connectivity metrics
- Pull a one-country dossier of headline figures with the source of each

## Use cases

### AI Agent Country Data Lookup via Jentic

An AI agent reaches Geo-Parity through Jentic to answer a relocation or compensation question with sourced country data. It searches by intent, receives the matching operation and its input schema, and executes the read. Because the API is keyless by default, the agent can run many lookups and, when a quota lift is needed, an optional key is injected at run time.

Example prompt: Search Jentic for 'localize a salary to a target country', load the GET `/api/salary.json` schema, and execute it with an optional key injected at run time

### Relocation Decision Support

Someone weighing a move compares two countries on the numbers that matter. Geo-Parity compares the pair across its datasets, weighs total monthly cost against a stated income, and matches the person to digital-nomad visas they qualify for. Each figure is returned with the source it was read from so the decision rests on citable data.

Example prompt: Call GET `/api/compare.json` for two countries, GET `/api/total-cost.json` against an income, then GET `/api/nomad-visas.json` to match visas

### Compliance Day Counting

A frequent traveller or remote worker tracks how close they are to a visa or tax-residency threshold. Geo-Parity checks Schengen 90/180 compliance with an optional planned-entry projection and counts tax-residency days against the 183-day, US substantial-presence, and UK tax-year tests. The agent can warn before a threshold is crossed rather than after.

Example prompt: Call POST `/api/visa-check` for Schengen 90/180 compliance and POST `/api/residency-check` for tax-residency day counts

### Fair Compensation Benchmarking

An employer or contractor sets pay that is fair for where someone lives. Geo-Parity localizes a salary to a target country using purchasing power parity and returns a defensible pay range with floor, midpoint, and ceiling for a role in a country. Employer-cost and occupation-pay data let the agent reason about the true cost and the market rate.

Example prompt: Call GET `/api/salary.json` to localize a salary and GET `/api/pay-range.json` for a defensible pay range for a role in a country

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/salary.json` | Cost-of-living-fair salary localization |
| GET | `/api/calculate.json` | PPP calculation for a US-baseline income |
| POST | `/api/visa-check` | Schengen 90/180 compliance check |
| POST | `/api/residency-check` | Tax-residency day counts |
| GET | `/api/compare.json` | Two-country cost-of-living comparison |
| GET | `/api/nomad-visas.json` | Match income and household to digital-nomad visas |
| GET | `/api/dossier.json` | One country, every hub, with sources |
| GET | `/api/total-cost.json` | Total monthly cost of living vs income |

## Key resources

- **Compensation** — Localize salaries and benchmark pay via `/api/salary.json`, `/api/pay-range.json`, `/api/wage-bands.json`, and `/api/employer-cost.json`
- **Compliance** — Check visa and tax-residency thresholds via `/api/visa-check`, `/api/residency-check`, and `/api/residency-tracker`
- **Cost of Living** — Compare and total living costs via `/api/compare.json`, `/api/total-cost.json`, `/api/housing.json`, and `/api/food-cost.json`
- **Country Intelligence** — Read dossiers, rankings, and visa directories via `/api/dossier.json`, `/api/country-fit.json`, and `/api/nomad-visas.json`

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 63 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 51 / 100
  - Agent Usability: 92 / 100
  - Security: 38 / 100
  - AI Discoverability: 71 / 100
- **View full report:** https://jentic.com/apis/geo-parity.com/geo-parity/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Geo-Parity by hand means deciding when the keyless allowance is enough, adding the optional gp_live_ key as a Bearer token or query parameter when you need more quota, and parsing each dataset's source metadata yourself. Through Jentic you install once, import Geo-Parity from the API Directory, store the optional key once, and your agent calls it.
- **Permission scoping:** Geo-Parity serves each dataset through its own read operation, so scoping is by operation: a rule can limit your agent to the specific reads it needs, such as the comparison and salary endpoints. You choose which operations it may call, so the key-management operations are not reachable unless you add them.
- **Credential handling:** Your optional Geo-Parity key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'localize a salary' or 'compare two countries', and Jentic returns the matching Geo-Parity operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Countrylayer** — Country reference data such as capitals, currencies, languages, and regions
- **US Bureau of Labor Statistics** — US wage, employment, and inflation statistics
- **US Census Bureau** — US demographic, housing, and economic data

## FAQ

### What authentication does the Geo-Parity API use?

The Geo-Parity API is keyless by default: anonymous callers get a monthly request allowance per IP with a per-minute burst cap, per its OpenAPI spec. An optional API key (a gp_live_ string) sent as a Bearer token, or as a key query parameter for clients that cannot set headers, raises the quota but never changes a response. Through Jentic the optional key is stored encrypted by your own Jentic One instance and injected at execution time, so it never reaches the agent.

### What are the rate limits for the Geo-Parity API?

The OpenAPI spec notes that keyless callers get a monthly allowance per IP plus a per-minute burst cap, and an optional key raises both. The datasets endpoint reports every dataset and when it last changed, which helps an agent pace freshness checks. See https://geo-parity.com for current limits.

### Can I compare the cost of living between countries with the Geo-Parity API?

Yes. GET `/api/compare.json` compares two countries across all datasets, GET `/api/total-cost.json` weighs total monthly cost against a stated income, and GET `/api/salary.json` localizes a salary using purchasing power parity. The dossier endpoint pulls one country's headline figures with the source of each.

### Is there a Geo-Parity MCP server?

You don't need an MCP server to give your agent Geo-Parity. Jentic connects it directly from the API Directory: import it and your agent calls the cost-of-living, visa, and comparison operations on demand, discovering each operation's schema when it needs it rather than loading a separate server's tool definitions into context.

### How do I localize a salary with the Geo-Parity API through Jentic?

Search Jentic for 'localize a salary to a target country', and it returns the Geo-Parity salary operation with its input schema. Load it and execute GET `/api/salary.json`, with an optional key injected at run time if a higher quota is needed. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the Geo-Parity API?

Yes. Because the datasets are read through separate operations, write a rule that allows only the reads a task needs, for example the cost-of-living comparison and salary localization, so the agent cannot create or revoke API keys or reach unrelated datasets. Because every call runs through your own instance, each one is logged for you to review.
