← Open data

Pension directory — field reference

Schema version 1.0.0 · JSON · CSV

Fields

FieldTypeMeaning
countrystringThe country's name in English.
country_codestringISO 3166-1 alpha-2, uppercase. Stable — this is the key to join on.
continentstringOne of americas, europe, asia, oceania, africa.
currencystringThe currency the country's pensions are denominated in. Human-written: usually an ISO 4217 code, occasionally prose.
retirement_age_earlynumber | nullThe earliest age a pension can normally be drawn, where the country allows early claiming. Null where it doesn't.
retirement_age_fullnumberThe age at which an unreduced pension is normally payable.
retirement_age_maxnumber | nullThe latest age to which claiming can be deferred for an increase, where the country allows it.
pension_system_summarystringA paragraph describing how the country's system works.
has_totalization_treatiesbooleanWhether the country has social-security agreements allowing periods abroad to count.
official_portals{ name, url }[]Government portals where a person can reach their own record or the authority. The free official route.
depth_patternstring | nullWhat PensionChart can establish for this country, as a descriptive category — never a ranking. Null until a human has attested it.
statement_guide_urlstring | nullOur published step-by-step guide to retrieving your own statement, where one exists. Null where none is published.
last_verifiedstring | nullThe date a person checked this entry against the named official source. Null means not yet human-verified.
verification_statusstring | nullOur threshold applied to last_verified: Current under 180 days, Review due at 180+, Outdated at 365+.
pensionchart_country_pagestringThe public page this record is drawn from.
system_typestring | nullHow the first pillar is organised — contributory, residence-based, provident fund, and so on. Human-written prose, not a fixed vocabulary.
pillar_structurestring | nullWhat the country's pillars are and what each one covers.
replacement_rate_grossstring | nullGross pension as a share of prior earnings, as published by the country or the OECD. A national average, not a personal estimate.
min_qualifying_periodstring | nullThe minimum contribution or residence period before any pension is payable.
min_qualifying_partialstring | nullThe shorter period that earns a reduced pension, where the country pays one.
aggregation_rulesstring | nullHow periods worked in other countries count towards this country's qualifying period.
totalization_partnersstring[]Countries this one has a social-security agreement with. Empty where we hold none.
contribution_ratesobject | nullEmployee, employer and self-employed contribution rates, with the earnings ceiling where one applies.
voluntary_contributionsobject | nullWhether gaps can be filled voluntarily, on what terms, and by when.
adjustment_ratesobject | nullWhat claiming early or late does to the amount.
access_optionsobject | nullThe forms the pension can be taken in — annuity, lump sum, drawdown — and any conditions.
taxobject | nullHow the pension is taxed in-country, and the withholding position for non-residents.
indexationobject | nullWhether payments rise after they start, against what, and how often.
portabilityobject | nullWhether the pension can be paid to an address abroad, to whom, and with what conditions.
claimingobject | nullHow to claim from outside the country: lead time, documents, proof-of-life requirements, contact routes.
schemesobject[]The named schemes operating in the country, with the authority or provider that holds each.
cross_border_notesstring[]Points that only matter to someone who worked in more than one country.
retrieval_guideobject | nullThe full step-by-step guide to retrieving your own statement, including what to have ready and what to do when the usual route fails. Present only where a person has walked it and dated it.

What a verification date means

last_verified is the date a person checked this entry against the named official source. verification_status applies our own thresholds to that date: Current (under 180 days), Review due (180+), Outdated (365+). An absent date means the entry has not yet been human-verified.

This is the field worth comparing against any other pension dataset. Ours says when a person last looked, per country, and applies the same thresholds everywhere.

Stability

The schema is versioned. Fields are added in a minor version; a field is never removed or repurposed without a major one. country_code is the key to join on and will not change.

Citation

PensionChart (2026). PensionChart Pension Directory. Retrieved from https://pensionchart.com/pension-directory.json (CC BY 4.0)