Geo-Parity

Geo-Parity answers the questions that come up when work, pay or life crosses a border.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Compare Total Cost: What a month actually costs in each of 41 countries on a stated income, and what is left over. Sums four lines that are kept from overlapping: rent (measured Eurostat city rents, H
  • Calculate Ppp: Given a US-denominated annual income and a target country code, returns the effective local purchasing power (income / pppIndex), the lifestyle equilibrium cost (income * pppIndex), and
  • Localize Salary: Convert a base salary from a home country into a cost-of-living-fair local equivalent: S_local = S_base × (I_target / I_home), where I is a US-relative price level. Omit `target` to r

What data it sees

Do you need an account

No: the server works without sign-in

Geo-Parity answers the questions that come up when work, pay or life crosses a border. Give it an income and a destination and it returns what you would actually keep after rent, everyday prices, out-of-pocket healthcare and income tax; the local wage ladder from the survival floor to the top 1%, so the answer can be checked against what people there really earn; which digital-nomad visas that income qualifies for and which of them lead to residency; how far a passport reaches visa-free; Schengen 90/180 and per-country tax-residency day limits; the working days a distributed team genuinely shares once public holidays are counted, not just the overlapping hours; measured internet latency and jitter rather than headline megabits, because a video call fails on delay long before it fails on throughput; monthly climate normals; and country risk.

25 tools over published data — World Bank, IMF, OECD, Penn World Table, Eurostat, WHO, HUD, Open-Meteo (ERA5) and Cloudflare Radar. Every result carries its own citation: which dataset, which provider, which reference year, and a permalink to the page that answers the same question. Where a figure is modelled rather than measured, the response says so. Estimates for orientation, not tax, legal or financial advice.

Free and key-less. No account, no API key, no sign-up — connect the URL and every tool works. Generous anonymous limits per IP; an optional key raises them without changing any response.

Server tool list (25)

Raw names from tools/list. Only developers need these.

compare_total_costWhat a month actually costs in each of 41 countries on a stated income, and what is left over. Sums four lines that are kept from overlapping: rent (measured Eurostat city rents, HUD Fair Market Rents, or the price basket where neither covers a country), the everyday basket EXCLUDING rent (the basket normally contains rent — roughly half of it — so adding a separate housing figure to the full basket would overstate a total by ~60%), out-of-pocket healthcare, and income tax plus employee social contributions on that income. VAT is already inside the basket prices (purchasing-power data derives from surveyed purchaser prices) and is therefore never added. Tax assumes you become tax-resident and are taxed locally, single filer, no deductions; special regimes such as Portugal's IFICI are reported separately where they would be cheaper. Estimates for comparison — not a quote and not tax advice.
calculate_pppGiven a US-denominated annual income and a target country code, returns the effective local purchasing power (income / pppIndex), the lifestyle equilibrium cost (income * pppIndex), and the purchasing power ratio (1 / pppIndex). Figures use real PPP data (World Bank, IMF, OECD, Penn World Table) relative to a US baseline of 1.0.
localize_salaryConvert a base salary from a home country into a cost-of-living-fair local equivalent: S_local = S_base × (I_target / I_home), where I is a US-relative price level. Omit `target` to receive a localized salary matrix across every country in the source — useful for pricing one offer across many markets. Returns USD purchasing-power equivalents, not currency-converted amounts.
calculate_wage_bandsModels a country's wage distribution as log-normal, calibrated from World Bank GNI per capita (mean) and the Gini index (spread: sigma = sqrt(2)*normInv((Gini+1)/2)), then returns the survival floor (essentials), statutory minimum (ILOSTAT where available, else curated; null where none exists), median (p50), comfortable (p75), top 10% (p90) and top 1% (p99) bands — each monthly and annual, USD and local currency. Optional `salary` locates a pay figure on the curve (percentile + out-earns %); `percentile` returns that exact threshold wage. Model estimates for benchmarking, not payroll data.
check_schengenValidate a set of trips against the Schengen Area rule: a non-EU visitor may be present at most 90 days within any rolling 180-day window. Entry and exit days both count as days of presence; overlapping trips are de-duplicated. Returns days used in the current window, days remaining, an overall compliance flag, and the exact first overstay date (if any).
find_meeting_slotGiven a set of cities/timezones and each participant's local working hours, find the longest UTC window where everyone is simultaneously within their working day (DST-accurate), AND score the team's overall timezone friction. Returns the overlap in UTC and in each participant's local time (or null with the best partial coverage), plus a `friction` block: a 0–100 score, grade (Effortless/Manageable/Strained/Broken), daily shared hours, coverage, and the `loneWolf` — the member whose removal would free the most team overlap. Useful for scheduling and for hiring/team-composition decisions.
compare_contractCompute gross-to-net parity between a self-employed contractor hourly rate and an employee (W2/EOR) hourly rate, accounting for self-employment/income tax and self-paid health insurance, and return the break-even contractor rate. Uses transparent effective-rate tax presets per country, all overridable. Estimates only — not tax advice.
select_regionGiven a user-population breakdown, find the cloud host region that minimizes population-weighted round-trip latency (argmin_j Σ_i P_i × L_ij), and compute the optimal multi-region split (each user region routed to its nearest host). Latency is estimated from great-circle distance via a fibre-propagation model, not measured.
compare_countriesSide-by-side comparison of two countries: US-relative price levels across every dataset (World Bank, IMF, OECD, Penn World Table, consumption basket), the consensus ratio, percent difference, and $100k salary equivalence in both directions.
required_rateGiven a desired annual net income, compute the freelance hourly and day rate required after taxes, self-paid health insurance, weeks off, and billable utilization. Uses the same per-country effective-rate presets as compare_contract; all overridable. Estimates only — not tax advice.
check_residencyCount distinct days of presence per country per calendar year and evaluate the generic 183-day rule, the US Substantial Presence Test (weighted 3-year formula), and the UK 183-day tax-year test. Early-warning day counter — not tax advice.
check_travel_residencyThe comprehensive engine: from one travel itinerary it returns (1) Schengen 90/180 tourist-visa status (days used/remaining, first overstay, longest compliant stay), (2) per-country tax-residency risk on each country's OWN threshold and basis — the 183-day rule, Cyprus's conditional 60-day rule (flagged only when you're not 183+ resident elsewhere), the US Substantial Presence Test and the UK tax-year test — with safe days left, leave-by dates and a safe/warning/triggered rating, and (3) with an optional income, the tax cost of triggering residency at the standard rate vs an expat regime. Supersedes check_schengen / check_residency / check_tax_residency_risk (all still available). Early-warning day math — not tax advice.
find_fire_locationsGeo-arbitrage FIRE analysis: given a portfolio and safe withdrawal rate, returns every country where the passive income sustains a lean ($32k US-equivalent/yr), comfortable ($55k), upper ($90k), or luxury ($150k) lifestyle at local purchasing-power prices — plus FIRE numbers per tier, nomad-visa income-floor eligibility, local-currency income, an SWR sensitivity band, (with savings/coast params) years until each country unlocks, and — where covered — a `statePension` overlay with the OECD net pension replacement rate (safety net from pension age; not subtracted from the FIRE numbers). Estimates only — not financial advice.
estimate_micro_costsEstimates local prices for a 32-item everyday basket (rent, pint of beer, groceries, transport, gym, …) in two countries, derived as usPrice × pppIndex^elasticity — non-tradables like rent swing harder across borders than world-priced goods like petrol (Balassa-Samuelson-style model). Returns per-item prices in USD and local currency, category subtotals, and a single-person monthly budget rollup. Model estimates, not price quotes.
check_tax_residency_riskRemote Worker Tax Trap radar: evaluates how close a stay is to triggering tax residency (183-day rule with per-country variations across 43 tax jurisdictions) and estimates the tax owed on the FULL annual income if the threshold is crossed — comparing the standard resident effective rate against the country's special expat/nomad regime (Spain's Beckham Law 24%, Portugal's IFICI 20%, Italy's impatriati, territorial/remittance systems, …). Optionally computes leave-by/residency dates from an arrival date and warns where the Schengen 90/180 tourist limit bites first. Early-warning estimates — not tax advice.
rank_livabilityQuality-of-Life vs Cost matrix: ranks 41 countries by a user-weighted composite of livability metrics (median broadband Mbps, safety, healthcare, air quality, English usability — curated country-level data replacing the discontinued Teleport API) against the monthly cost of single-person essentials at local purchasing-power prices. Returns per-country composite and value scores, lifestyle label for your budget (comfortable → like royalty), nomad-visa eligibility, and days-to-tax-residency. Curated estimates — verify locally.
compare_healthcareHealthcare cost and financial exposure across 41 countries: out-of-pocket spend per person per year (US$), out-of-pocket as a share of all health spending, total health spend per capita (PPP international $), government funding share, physicians per 1,000 and dentists per 10,000. Figures are MEASURED from World Bank and WHO Global Health Observatory series, never derived from a price index: scaling healthcare by a country's general price level overstates costs abroad by 1.2x-5.4x, because health prices do not track the price level (the US is an outlier and several countries deliberately price healthcare below their own economies). Share and burden are separate facts and both are returned - the US pays only ~11% out of pocket, a low share, but the highest absolute amount. Dental is reported as ACCESS (dentist density), not price: no free citable source publishes procedure prices. National averages, not a quote for any individual's care. Not medical, insurance or financial advice.
compare_housingHousing cost and affordability across countries, built for remote workers. Returns monthly rent plus TWO ratios that together answer the real question: rent as a share of the LOCAL median wage (are locals priced out?) and as a share of YOUR remote income (can you afford it?). The gap between them - `arbitrageGap`, in percentage points - is the single number saying whether a place is cheap FOR YOU; pass `remoteIncome` to get it. Also returns price-to-income and price-to-rent as a percentage of each country's OWN long-run average (OECD), and mortgage rates (ECB, euro area only; absent elsewhere rather than estimated). IMPORTANT: those affordability percentages compare a country with its own history, NOT with other countries - 127 for Spain means 27% less affordable than Spain's norm, not 27% dearer than Germany. Every rent carries `rentBasis`: 'measured' where a real Eurostat city figure exists (Spain, Portugal, Switzerland only) or 'modelled' from the site's price basket, which understates housing by up to ~40% where housing has decoupled from the general price level. National averages; not financial advice.
find_nomad_visasDigital-nomad visa Income Matcher: given a monthly remote income (any currency) and household size, computes each program's real income threshold (base plus its published per-dependent uplift) and returns the programs you qualify for plus the near misses just out of reach — with duration, renewability, tax notes and official source URLs. Curated summaries — verify with the official source before applying.
passport_powerPassport Power: for a given country's passport, returns the visa-free-access score (visa-free + visa-on-arrival + eTA destinations), global rank and percentile among all ~199 passports, and the full destination breakdown by access type with names resolved. Omit country for the ranked league table. Reference data from the open ilyankou/passport-index-dataset (public domain) — confirm entry rules with the destination authority before travel.
calculate_runwayFor founders/freelancers stretching savings: computes how many extra months of runway relocating to a cheaper hub buys. Burn is split into fixed (location-independent — subscriptions, debt, insurance) and local; only the local slice scales by the target's cost-of-living ratio (city-level where a curated hub is given, else national, incl. Factbook-only countries). Returns the home baseline plus each hub's monthly burn, runway months, extra months, run-out date and the ×multiplier. Estimates from purchasing-power data, not financial advice.
compare_connectivityMeasured connection quality per country from Cloudflare Radar: median download and upload (Mbps), median idle latency and jitter (ms), and a call-quality verdict derived from latency and jitter rather than bandwidth — a video call fails on latency and jitter long before it fails on throughput, which is why a download figure alone cannot answer “can I work from here”. Aggregated from real connections over a 28-day window, not crowdsourced or self-reported. Coverage is wider than the site's country pages (~200 locations), so this answers for places with no page here. A country Radar has too little data for is absent, never zero.
compare_public_holidaysTwo questions in one. Given `countries` (two or more), returns the working days those places genuinely SHARE in a year — weekdays on which nobody is on a public holiday — which is the number a distributed team actually plans against and the half of the question timezone-overlap tools never answer: a London/Tokyo team loses roughly three working weeks a year to non-overlapping holidays. Without `countries`, ranks countries by nationwide public holidays. Weekend holidays are excluded (they cost nobody a working day) and regional holidays are counted separately from national ones. Covers 204 countries, but NOT India, Thailand, Malaysia, the UAE or Saudi Arabia — those return NO_DATA rather than an empty calendar, because “no data” and “no holidays” are opposite claims.
compare_climateMonthly climate normals from ERA5 reanalysis (2015-2024) via Open-Meteo: mean daily maximum and minimum temperature, average monthly rainfall, and a count of comfortable days. Pass `city` (slug) or `country` (alpha-2) for one place's twelve months — a country answers through a named representative city, because a country does not have one climate. Otherwise cities are ranked by comfortable days, for a single `month` (1-12) or across the year; the seasonal question is the one people actually have, and an annual total hides it. A comfortable day has a maximum between 18 and 27 C with under 1 mm of rain — a STATED PREFERENCE, not an objective measure: it is temperate-biased and scores hot destinations low on terms they did not agree to, so mean maximum and rainfall travel with every row for callers who want to rank on those instead. ERA5 is reanalysis rather than station observation, which makes it complete and comparable across countries.
compare_country_riskINFORM Risk from the European Commission's Joint Research Centre: a 0-10 composite where HIGHER IS WORSE, plus the three dimensions behind it — hazard (exposure to earthquakes, floods, cyclones, drought, conflict), vulnerability (how exposed the population is) and copingCapacity (whether institutions and infrastructure could respond). The last is usually the one that matters when choosing where to live: two countries can face the same earthquake and have completely different outcomes. Safest-first by default. Covers 191 countries, far wider than this site's country pages. A country INFORM does not score is ABSENT, never zero — zero is the safest possible value and would rank an unassessed country first. Deliberately not folded into any other ranking here: risk flags, it never silently reweights a cost or livability score.
Geo-Parity: connect to Claude, ChatGPT, Cursor · Connectors.fun