{
 "dataset": {
  "version": "2026-11-05",
  "builtAt": "2026-11-05T15:34:08.779Z",
  "licence": "CC-BY-4.0",
  "licenceUrl": "https://creativecommons.org/licenses/by/4.0/",
  "licenceNote": "Borgo's compilation is licensed CC BY 4.0. Each figure keeps its source's own terms and attribution, listed in data/licences.json; reuse a figure under those terms.",
  "licences": "https://borgo.abcastor.com/data/licences.json",
  "otherParts": [
   {
    "part": "odbl",
    "licence": {
     "id": "ODbL-1.0",
     "name": "Open Database License 1.0",
     "url": "https://opendatacommons.org/licenses/odbl/1-0/"
    },
    "file": "https://borgo.abcastor.com/data/dataset-odbl.json",
    "city": "https://borgo.abcastor.com/api/odbl/city/{id}.json"
   },
   {
    "part": "who",
    "licence": {
     "id": "WHO-data",
     "name": "WHO terms and conditions for data compilations",
     "url": "https://www.who.int/about/policies/publishing/data-policy/terms-and-conditions"
    },
    "file": "https://borgo.abcastor.com/data/dataset-who.json",
    "city": "https://borgo.abcastor.com/api/who/city/{id}.json"
   },
   {
    "part": "cmhc",
    "licence": {
     "id": "CMHC-data",
     "name": "CMHC Licence Agreement for the Use of Data",
     "url": "https://www.cmhc-schl.gc.ca/about-us/terms-conditions/hmip-terms-conditions"
    },
    "file": "https://borgo.abcastor.com/data/dataset-cmhc.json",
    "city": "https://borgo.abcastor.com/api/cmhc/city/{id}.json"
   }
  ],
  "creator": "Castor",
  "fx": {
   "base": "EUR",
   "date": "2026-10-26",
   "source": "ecb-fx"
  }
 },
 "id": "rotterdam-nl",
 "name": "Rotterdam",
 "country": {
  "code": "NL",
  "name": "Netherlands",
  "currency": "EUR"
 },
 "region": null,
 "lat": 51.9225,
 "lon": 4.47917,
 "population": 868135,
 "wikidata": null,
 "geonames": "2747891",
 "page": "https://borgo.abcastor.com/city/rotterdam-nl/",
 "markdown": "https://borgo.abcastor.com/city/rotterdam-nl/index.md",
 "keyFacts": [
  "Rotterdam has about 868,135 residents (GeoNames).",
  "On a gross salary of €60,000 a year, an employee in Rotterdam takes home about €44,094 a year (€3,674 a month) after income tax and employee contributions, an effective rate of 26.5% (Netherlands 2026 rules).",
  "In Rotterdam the average daily high (air temperature in the shade) peaks at 22.6 °C in August and the average daily low falls to 2.3 °C in January (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "Rotterdam has about 29 nice days a year, days that are dry, mostly clear and feel 18 to 30 °C on average from 8 am to 8 pm, most of them in August (8) (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "Between 2021 and 2025 the air in Rotterdam reached 36.7 °C at its hottest and −9.6 °C at its coldest (Historical weather (ERA5 reanalysis), Open-Meteo).",
  "It rains or snows (at least 1 mm) on about 158 days a year in Rotterdam (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "The shortest day in Rotterdam lasts 7 h 45 min and the longest 16 h 43 min (computed from latitude).",
  "Everyday prices in the Netherlands sit at 86.7 on an index where the United States is 100 (World Development Indicators, World Bank, 2025).",
  "Life expectancy at birth in the Netherlands is 82.0 years (World Development Indicators, World Bank, 2024).",
  "The Netherlands records 0.69 intentional homicides per 100,000 people a year (World Development Indicators, World Bank, 2023).",
  "Besides citizens of the Netherlands, citizens of 29 other countries under EU and EEA free movement and of Switzerland (Swiss-EU free movement) can live and work in Rotterdam without a visa."
 ],
 "figures": [
  {
   "metric": "childcare_fees_1",
   "label": "Childcare fees, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs in fees a year, before any public support, in the place the OECD tax-benefit model takes as typical for the country.",
   "value": 22256,
   "text": "€22,256 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Fees for one child aged 2 or 3 in full-time care, before support (OECD tax-benefit model)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "childcare_fees_2",
   "label": "Childcare fees, two children",
   "description": "Fees a year for full-time childcare for two children aged 2 and 3, before any public support (OECD tax-benefit model).",
   "value": 44512,
   "text": "€44,512 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Fees for two children aged 2 and 3 in full-time care, before support (OECD tax-benefit model)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "childcare_net_couple_1",
   "label": "Childcare, net of support: couple, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs a two-earner couple (on 100% and 67% of the average wage) a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 9481,
   "text": "€9,481 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "childcare_net_couple_2",
   "label": "Childcare, net of support: couple, two children",
   "description": "What full-time childcare for two children aged 2 and 3 costs a two-earner couple (on 100% and 67% of the average wage) a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 12419,
   "text": "€12,419 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "childcare_net_single_1",
   "label": "Childcare, net of support: single parent, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs a single parent on the average wage a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 2827,
   "text": "€2,827 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "childcare_net_single_2",
   "label": "Childcare, net of support: single parent, two children",
   "description": "What full-time childcare for two children aged 2 and 3 costs a single parent on the average wage a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 4273,
   "text": "€4,273 a year",
   "unit": "EUR/year",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "health_oop",
   "label": "Out-of-pocket health spending",
   "description": "What people pay for health care themselves each year, per person, on average across the country: deductibles, co-payments and care not covered, but not insurance premiums.",
   "value": 807,
   "text": "US$807 a year per person",
   "unit": "USD/year per person",
   "period": "2024",
   "level": "country",
   "retrieved": "2026-11-04",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Out-of-pocket health expenditure per person, current US dollars (WHO Global Health Expenditure Database via World Bank)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "annual_leave",
   "label": "Paid holiday by law",
   "description": "The fewest paid days of holiday an employer must give a full-time employee on a five-day week, from the country's labour law; contracts and collective agreements often give more.",
   "value": 20,
   "text": "20 working days a year",
   "unit": "working days a year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:54.070Z",
   "method": "source",
   "sources": [
    {
     "id": "labour-law",
     "name": "Paid holiday by law, from the labour codes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/family.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "4 times the weekly working hours (EURES: Netherlands working conditions, statutory annual leave)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "public_holidays",
   "label": "Public holidays on working days",
   "description": "Public holidays that fall on a weekday this year, nationwide plus those of the city's region; a holiday on a weekend is lost unless the law moves it.",
   "value": 6,
   "text": "6 days a year",
   "unit": "days a year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:53.369Z",
   "method": "source",
   "sources": [
    {
     "id": "nager-date",
     "name": "Nager.Date public holidays",
     "publisher": "Nager.Date (open-source project)",
     "url": "https://date.nager.at/",
     "licence": "MIT",
     "licenceUrl": "https://github.com/nager/Nager.Date/blob/main/LICENSE.md"
    }
   ],
   "note": "Public holidays on Monday to Friday in 2026, nationwide",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "leave_mothers",
   "label": "Paid leave for mothers",
   "description": "Paid maternity, parental and home-care leave a mother can take, counted as weeks at full pay (weeks times the average payment rate for someone on average earnings).",
   "value": 22.3,
   "text": "22.3 weeks at full pay",
   "unit": "weeks at full pay",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:52.107Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-family-db",
     "name": "OECD Family Database: parental leave systems (PF2.1)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/oecd-family-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Paid maternity, parental and home-care leave available to mothers, in full-rate-equivalent weeks (OECD PF2.1.A, policies in April 2025; not a current-year statutory entitlement)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "leave_fathers",
   "label": "Paid leave for fathers",
   "description": "Paid paternity leave and parental leave reserved for fathers, counted as weeks at full pay (weeks times the average payment rate for someone on average earnings).",
   "value": 11.3,
   "text": "11.3 weeks at full pay",
   "unit": "weeks at full pay",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:52.107Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-family-db",
     "name": "OECD Family Database: parental leave systems (PF2.1)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/oecd-family-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Paid paternity leave and leave reserved for fathers, in full-rate-equivalent weeks (OECD PF2.1.B, policies in April 2025; not a current-year statutory entitlement)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "price_level",
   "label": "Price level",
   "description": "How expensive everyday consumption is, compared with the United States at market exchange rates.",
   "value": 86.7,
   "text": "86.7 index, US = 100",
   "unit": "index, US = 100",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Private consumption PPP over the market exchange rate; United States = 100",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "wet_days",
   "label": "Wet days",
   "description": "Days a year with at least 1 mm of rain or snow, enough to wet the ground.",
   "value": 158,
   "text": "158 days a year",
   "unit": "days a year",
   "period": "2021-2025",
   "level": "city",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "method": "source",
   "sources": [
    {
     "id": "open-meteo-era5",
     "name": "Historical weather (ERA5 reanalysis)",
     "publisher": "Open-Meteo, Copernicus Climate Change Service (ECMWF)",
     "url": "https://open-meteo.com/en/docs/historical-weather-api",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://open-meteo.com/en/license"
    }
   ],
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "levelText": "city"
  },
  {
   "metric": "sunshine_hours",
   "label": "Sunshine",
   "description": "Hours a year of bright, direct sun, measured at a weather station by the WMO definition: direct sunlight of at least 120 W/m², roughly when the sun is strong enough to cast a sharp shadow.",
   "value": 1752,
   "text": "1,752 hours a year",
   "unit": "hours a year",
   "period": "1991-2020",
   "level": "city",
   "retrieved": "2026-10-27T11:14:13.313Z",
   "method": "source",
   "sources": [
    {
     "id": "wmo-normals",
     "name": "WMO Climatological Standard Normals 1991-2020",
     "publisher": "World Meteorological Organization, archived by NOAA NCEI",
     "url": "https://www.ncei.noaa.gov/products/wmo-climate-normals",
     "licence": "No licence attached; NCEI public access, citation requested (WMO Unified Data Policy)",
     "licenceUrl": "https://www.ncei.noaa.gov/access/metadata/landing-page/bin/iso?id=gov.noaa.nodc:0253808"
    }
   ],
   "note": "Measured at RotterdamTheHagueAp, 5 km away at -5 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "levelText": "city"
  },
  {
   "metric": "homicide_rate",
   "label": "Homicides",
   "description": "People killed on purpose each year per 100,000 residents, a common proxy for violent crime.",
   "value": 0.69,
   "text": "0.69 per 100,000",
   "unit": "per 100,000",
   "period": "2023",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Intentional homicides per 100,000 people (UNODC via World Bank)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "life_expectancy",
   "label": "Life expectancy",
   "description": "How many years a baby born now would live on average if today's death rates held, for the whole country.",
   "value": 82,
   "text": "82.0 years",
   "unit": "years",
   "period": "2024",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "life_evaluation",
   "label": "Life satisfaction",
   "description": "How satisfied people say they are with their life as a whole, on a scale from 0 to 10, averaged over the country.",
   "value": 7.6,
   "text": "7.6 of 10",
   "unit": "of 10",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "oecd-wellbeing",
     "name": "OECD Well-being Database (How's Life?)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/well-being-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Average answer to how satisfied people are with their life as a whole, 0 to 10",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "research_output",
   "label": "Research output",
   "description": "Papers, patents and datasets published in a year by institutions in the city, per 100,000 residents.",
   "value": 1590,
   "text": "1,590 works per 100k residents",
   "unit": "works per 100k residents",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "openalex",
     "name": "OpenAlex institutions",
     "publisher": "OurResearch",
     "url": "https://openalex.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "13,800 works by 99 institutions in Rotterdam",
   "levelText": "city"
  },
  {
   "metric": "builder_density",
   "label": "Research output per resident",
   "description": "Research output of institutions in the city, per resident, on a 0 to 100 scale.",
   "value": 48,
   "text": "48 of 100",
   "unit": "of 100",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "openalex",
     "name": "OpenAlex institutions",
     "publisher": "OurResearch",
     "url": "https://openalex.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "log scale: 100 works per 100k residents = 0, 30,000 = 100",
   "levelText": "city"
  },
  {
   "metric": "universities",
   "label": "Universities and colleges",
   "description": "Higher-education organisations registered in the city in the Research Organization Registry, so counts follow how each country registers its institutions.",
   "value": 6,
   "text": "6 organisations",
   "unit": "organisations",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ror",
     "name": "Research Organization Registry",
     "publisher": "ROR",
     "url": "https://ror.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://ror.org/registry/"
    }
   ],
   "note": "ROR organisations of type education (universities, colleges, schools of higher education)",
   "levelText": "city"
  },
  {
   "metric": "research_institutes",
   "label": "Research institutes",
   "description": "Research facilities (institutes, laboratories, observatories) registered in the city in the Research Organization Registry; national research councils that register every lab inflate some cities (Paris, Tokyo).",
   "value": 8,
   "text": "8 organisations",
   "unit": "organisations",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ror",
     "name": "Research Organization Registry",
     "publisher": "ROR",
     "url": "https://ror.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://ror.org/registry/"
    }
   ],
   "note": "ROR organisations of type facility (research institutes, laboratories, observatories)",
   "levelText": "city"
  },
  {
   "metric": "founders_running_club",
   "label": "Founders Running Club",
   "description": "Whether the Founders Running Club, a running community for founders, lists a chapter in the city.",
   "value": 0,
   "text": "no chapter",
   "unit": "1 = a chapter",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "foundersrc",
     "name": "Founders Running Club communities",
     "publisher": "Founders Running Club",
     "url": "https://foundersrc.com/communities",
     "licence": "Public listing (facts of presence only; no licence stated)"
    }
   ],
   "note": "No chapter listed on https://foundersrc.com/communities",
   "levelText": "city"
  },
  {
   "metric": "public_pools",
   "label": "Public swimming pools (official)",
   "description": "Public swimming pools, indoor and outdoor, per 100,000 residents, as reported by the city to the Eurostat Urban Audit.",
   "value": 1.9,
   "text": "1.9 per 100,000",
   "unit": "per 100,000",
   "period": "2024",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Rotterdam (greater city): the city and its contiguous urban area; 24 in total",
   "levelText": "city"
  },
  {
   "metric": "sea_km",
   "label": "Distance to the sea",
   "description": "Straight-line distance from the centre to the open-sea coast; lakes and tidal rivers do not count.",
   "value": 24,
   "text": "24 km",
   "unit": "km",
   "period": "Natural Earth 5.1",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "natural-earth",
     "name": "Natural Earth (coastline, land, countries and populated places)",
     "publisher": "Natural Earth",
     "url": "https://www.naturalearthdata.com/",
     "licence": "Public domain",
     "licenceUrl": "https://www.naturalearthdata.com/about/terms-of-use/"
    }
   ],
   "note": "straight line from the centre to the open-sea coastline (lakes excluded)",
   "levelText": "city"
  },
  {
   "metric": "mountain_km",
   "label": "Distance to the mountains",
   "description": "Straight-line distance from the centre to ground that rises 1,000 m above it; 300 means none within 300 km.",
   "value": 300,
   "text": "300 km",
   "unit": "km",
   "period": "terrain tiles 2017",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "terrain-tiles",
     "name": "Terrain Tiles (Terrarium) on AWS Open Data",
     "publisher": "Mapzen / AWS Open Data",
     "url": "https://registry.opendata.aws/terrain-tiles/",
     "licence": "Public domain (USGS, NOAA) and Open Government Licence – Canada, with attribution",
     "licenceUrl": "https://github.com/tilezen/joerd/blob/master/docs/attribution.md"
    }
   ],
   "note": "no ground 1,000 m above the centre (about 10 m) within 300 km",
   "levelText": "city"
  },
  {
   "metric": "airport_km",
   "label": "Nearest major airport",
   "description": "Straight-line distance from the centre to the nearest large airport with scheduled flights.",
   "value": 5,
   "text": "5 km",
   "unit": "km",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ourairports",
     "name": "OurAirports airports",
     "publisher": "OurAirports",
     "url": "https://ourairports.com/data/",
     "licence": "Public domain",
     "licenceUrl": "https://ourairports.com/data/"
    }
   ],
   "note": "Rotterdam The Hague Airport (RTM), straight line from the centre",
   "levelText": "city"
  },
  {
   "metric": "airports_100km",
   "label": "Airports within 100 km",
   "description": "Airports with scheduled passenger flights within 100 km of the centre.",
   "value": 4,
   "text": "4 airports",
   "unit": "airports",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ourairports",
     "name": "OurAirports airports",
     "publisher": "OurAirports",
     "url": "https://ourairports.com/data/",
     "licence": "Public domain",
     "licenceUrl": "https://ourairports.com/data/"
    }
   ],
   "note": "RTM, AMS, EIN, ANR",
   "levelText": "city"
  },
  {
   "metric": "road_deaths",
   "label": "Road deaths",
   "description": "People killed in road accidents per 10,000 residents a year.",
   "value": 0.19,
   "text": "0.19 per 10,000",
   "unit": "per 10,000",
   "period": "2020",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "levelText": "city"
  },
  {
   "metric": "foreign_born_share",
   "label": "Born abroad",
   "description": "Share of residents born in another country: a measure of how international the city is.",
   "value": 25.8,
   "text": "25.8 % of residents",
   "unit": "% of residents",
   "period": "2024",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "levelText": "city"
  },
  {
   "metric": "english_share",
   "label": "English speakers",
   "description": "Share of the country's population that speaks English at any level; cities usually speak more than the national figure.",
   "value": 90,
   "text": "90 % of population",
   "unit": "% of population",
   "period": "CLDR 49",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "cldr",
     "name": "CLDR territory information",
     "publisher": "Unicode Consortium",
     "url": "https://cldr.unicode.org/",
     "licence": "Unicode-3.0",
     "licenceUrl": "https://www.unicode.org/license.txt"
    }
   ],
   "note": "share of the population that speaks English, any level",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "english_official",
   "label": "English is official",
   "description": "Whether English is an official or de facto official language of the country.",
   "value": 0,
   "text": "no",
   "unit": "1 = yes",
   "period": "CLDR 49",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "cldr",
     "name": "CLDR territory information",
     "publisher": "Unicode Consortium",
     "url": "https://cldr.unicode.org/",
     "licence": "Unicode-3.0",
     "licenceUrl": "https://www.unicode.org/license.txt"
    }
   ],
   "note": "English is not an official language",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "download_mbps",
   "label": "Internet speed",
   "description": "Typical download speed of home and mobile connections in speed tests (M-Lab NDT, one TCP stream, so lower than commercial tests); compare cities with each other.",
   "value": 65.8,
   "text": "66 Mbit/s",
   "unit": "Mbit/s",
   "period": "2023",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "mlab",
     "name": "M-Lab NDT statistics (daily city aggregates)",
     "publisher": "Measurement Lab",
     "url": "https://www.measurementlab.net/data/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "median of daily median NDT download speeds, 336 days, 138,492 tests (Rotterdam, NL-ZH)",
   "levelText": "city"
  },
  {
   "metric": "degree_share",
   "label": "Adults with a degree",
   "description": "Share of adults whose highest qualification is tertiary, a university degree or a vocational diploma above school level (ISCED levels 5 to 8), counting people aged 25 to 64 for a city or region and 25 or older for a country.",
   "value": 40.3,
   "text": "40.3 % of adults",
   "unit": "% of adults",
   "period": "2020",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "levelText": "city"
  },
  {
   "metric": "github_developers",
   "label": "Developers on GitHub",
   "description": "GitHub accounts whose profile names the city as their location, per 1,000 residents: a rough count of people who write software there, since many leave the field empty and some name a city they only live near.",
   "value": 7.2,
   "text": "7.2 per 1,000 residents",
   "unit": "per 1,000 residents",
   "period": "2026-11-05",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "github",
     "name": "GitHub user search",
     "publisher": "GitHub",
     "url": "https://docs.github.com/en/rest/search/search#search-users",
     "licence": "No data licence: only total counts of profiles are stored (GitHub Acceptable Use Policies, section 7)",
     "licenceUrl": "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies#7-information-usage-restrictions"
    }
   ],
   "note": "6,221 accounts whose location names \"Rotterdam\", over 868,135 residents",
   "levelText": "city"
  },
  {
   "metric": "city_edge_km",
   "label": "Out of the dense city",
   "description": "Straight-line distance from the centre to the nearest edge of the dense city (the GHSL urban centre: touching 1 km squares with at least 1,500 residents per km²) in a direction that leads on over land, so roughly what a cyclist rides before the dense city gives way to suburbs, farmland, hills or a large park.",
   "value": 4,
   "text": "4.0 km",
   "unit": "km",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "ghsl-ucdb",
     "name": "GHS Urban Centre Database 2025 (R2024A), general characteristics",
     "publisher": "European Commission, Joint Research Centre (GHSL)",
     "url": "https://human-settlement.emergency.copernicus.eu/ghs_ucdb_2024.php",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Rotterdam [The Hague] urban centre (2,173,754 people, 2025): nearest edge 4 km to the north-west; half the directions over land end within 9.5 km",
   "levelText": "city"
  },
  {
   "metric": "politics_lr",
   "label": "Politics, left to right",
   "description": "An estimate of where the place voted at its latest national lower-house election (a Swiss canton, Canadian province or Australian state at its own count), on a scale from 0, left, to 10, right: each party's ParlGov position (the mean of expert surveys, or of its party family where no survey covers it), averaged by its share of the official result.",
   "value": 6.2,
   "text": "centre-right, 6.2 of 10",
   "unit": "0 to 10",
   "period": "2025-10-29",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "politics",
     "name": "Political position from election results",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/pipeline/inputs/politics.json",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Estimate from the official result of House of Representatives, 29 Oct 2025, with ParlGov party positions: D66 16.9% (4.5), PVV 16.7% (8.8), VVD 14.2% (7.3), GroenLinks–PvdA 12.8% (2.8, members' average), CDA 11.8% (5.9), JA21 5.9% (8.7, party-family average). Parties with a position took 94% of the vote.",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "abortion_law",
   "label": "Abortion in law",
   "description": "On what grounds the law allows a pregnancy to be ended: 0 not at all or only to save the woman's life, 1 also to protect her health or after rape or incest, 2 also on broad social or economic grounds, 3 on request but only in the first weeks (under 10), 4 on request to 10 weeks or later.",
   "value": 4,
   "text": "on request, 10 weeks or later",
   "unit": "0 to 4",
   "period": "2026-11-05",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "abortion-law",
     "name": "Abortion in law, from the statutes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/rights-law.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Until the fetus could survive outside the womb, when the woman's situation of need makes it unavoidable; the law requires the decision to be taken with care (Wet afbreking zwangerschap, art. 5; checked against the source linked on 2026-11-05)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "doctors",
   "label": "Doctors",
   "description": "Practising physicians per 1,000 people in the country, generalists and specialists (WHO figures).",
   "value": 3.88,
   "text": "3.9 per 1,000 people",
   "unit": "per 1,000 people",
   "period": "2022",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Physicians per 1,000 people (WHO Global Health Workforce Statistics via World Bank)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "unemployment",
   "label": "Unemployment",
   "description": "Share of people who want work and are looking for it but have none, in the country (ILO modelled estimate).",
   "value": 3.9,
   "text": "3.9 % of the labour force",
   "unit": "% of the labour force",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Unemployment, % of the labour force, ILO modelled estimate (via World Bank)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "clean_government",
   "label": "Control of corruption",
   "description": "How far public power is kept from private gain, petty and grand corruption alike, as experts, firms and households perceive it in the country: the World Bank's governance estimate, roughly -2.5 (weak) to 2.5 (strong).",
   "value": 1.87,
   "text": "1.87 -2.5 to 2.5",
   "unit": "-2.5 to 2.5",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wgi",
     "name": "Worldwide Governance Indicators",
     "publisher": "World Bank",
     "url": "https://www.worldbank.org/en/publication/worldwide-governance-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/search/dataset/0038026/worldwide-governance-indicators"
    }
   ],
   "note": "Control of corruption, governance estimate (Worldwide Governance Indicators)",
   "levelText": "Netherlands-wide"
  },
  {
   "metric": "same_sex_couples",
   "label": "Same-sex couples in law",
   "description": "What the law offers same-sex couples: 0 sexual relations between people of the same sex are a crime, 1 legal but national law offers no union, 2 civil union or registered partnership, 3 marriage.",
   "value": 3,
   "text": "marriage",
   "unit": "0 to 3",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "couples-law",
     "name": "Same-sex couples in law, from the statutes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/rights-law.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Marriage: Burgerlijk Wetboek Boek 1, art. 30, since 1 April 2001 (stated from the law cited)",
   "levelText": "Netherlands-wide"
  }
 ],
 "gaps": [
  {
   "metric": "rent_1bed",
   "label": "Rent, one bedroom"
  },
  {
   "metric": "rent_3bed",
   "label": "Rent, three bedrooms"
  },
  {
   "metric": "childcare_cost",
   "label": "Your childcare cost"
  },
  {
   "metric": "health_premium",
   "label": "Health insurance premium"
  },
  {
   "metric": "pm25",
   "label": "Fine dust (PM2.5)"
  },
  {
   "metric": "coworking",
   "label": "Coworking spaces"
  },
  {
   "metric": "climbing_gyms",
   "label": "Climbing gyms"
  },
  {
   "metric": "swimming_pools",
   "label": "Public swimming pools"
  },
  {
   "metric": "hackerspaces",
   "label": "Hackerspaces and makerspaces"
  },
  {
   "metric": "green_space_10km",
   "label": "Green space"
  },
  {
   "metric": "green_share",
   "label": "Green urban areas (official)"
  },
  {
   "metric": "rail_stations",
   "label": "Rail and metro stations"
  },
  {
   "metric": "cycle_paths_km",
   "label": "Cycle paths"
  },
  {
   "metric": "transit_commute_share",
   "label": "Commuting by public transport"
  },
  {
   "metric": "commute_minutes",
   "label": "Commute time"
  },
  {
   "metric": "transit_pass",
   "label": "Monthly transit pass"
  },
  {
   "metric": "walkable_share",
   "label": "Everyday needs on foot"
  },
  {
   "metric": "bike_network",
   "label": "Cycle network"
  },
  {
   "metric": "active_commute_share",
   "label": "Walking or cycling to work"
  }
 ],
 "climate": {
  "months": [
   "Jan",
   "Feb",
   "Mar",
   "Apr",
   "May",
   "Jun",
   "Jul",
   "Aug",
   "Sep",
   "Oct",
   "Nov",
   "Dec"
  ],
  "tempHighC": [
   6.8,
   8.7,
   11.4,
   13.3,
   17.7,
   21.6,
   22,
   22.6,
   20.2,
   15.9,
   10.5,
   7.9
  ],
  "tempLowC": [
   2.3,
   3.2,
   3.8,
   5.5,
   9.3,
   13.2,
   14.6,
   14.9,
   12.8,
   10.3,
   5.9,
   3.7
  ],
  "wetDays": [
   14.2,
   11.8,
   11.8,
   11.6,
   13.4,
   11.2,
   16,
   12,
   11.2,
   15.4,
   16.8,
   12.8
  ],
  "daylightHours": [
   8.24,
   9.8,
   11.81,
   13.88,
   15.72,
   16.69,
   16.2,
   14.58,
   12.55,
   10.49,
   8.71,
   7.78
  ],
  "period": "2021-2025",
  "source": {
   "id": "open-meteo-era5",
   "name": "Historical weather (ERA5 reanalysis)",
   "publisher": "Open-Meteo, Copernicus Climate Change Service (ECMWF)",
   "url": "https://open-meteo.com/en/docs/historical-weather-api",
   "licence": "CC-BY-4.0",
   "licenceUrl": "https://open-meteo.com/en/license"
  }
 },
 "daylight": {
  "shortestDayHours": 7.75,
  "longestDayHours": 16.72,
  "method": "computed from latitude"
 },
 "takeHome": {
  "currency": "EUR",
  "year": 2026,
  "scope": "Employee under state pension age: box 1 income tax and national insurance premiums, general tax credit and labour tax credit.",
  "sources": [
   {
    "label": "Belastingdienst: box 1 rates 2026 (with worked example)",
    "url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/prive/inkomstenbelasting/heffingskortingen_boxen_tarieven/boxen_en_tarieven/box_1/box_1"
   },
   {
    "label": "Belastingdienst: algemene heffingskorting 2026",
    "url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/prive/inkomstenbelasting/heffingskortingen_boxen_tarieven/heffingskortingen/algemene_heffingskorting/tabel-algemene-heffingskorting-2026"
   },
   {
    "label": "Belastingdienst: arbeidskorting 2026",
    "url": "https://www.belastingdienst.nl/wps/wcm/connect/bldcontentnl/belastingdienst/prive/inkomstenbelasting/heffingskortingen_boxen_tarieven/heffingskortingen/arbeidskorting/tabel-arbeidskorting-2026"
   }
  ],
  "caveats": [
   "Employee workplace pension contributions are not included unless entered as a pension share. Eligible employee premiums reduce taxable wages, and so the income both credits are worked out on; the scheme determines the contribution and franchise.",
   "Holiday allowance (8%) is assumed to be inside the gross figure you enter.",
   "No municipal income tax in Amsterdam or Rotterdam; municipal levies on housing are not income taxes.",
   "Credits are not paid out beyond the tax due (single person, no fiscal partner).",
   "Newcomers: the 30% ruling pays 30% of salary tax-free in 2026 (27% from 2027), within a salary cap; choose the regime (nl-expat) to see it as a scenario."
  ],
  "local": [],
  "rows": [
   {
    "gross": 30000,
    "net": 27754.13,
    "effectiveRate": 0.074862274
   },
   {
    "gross": 60000,
    "net": 44093.53,
    "effectiveRate": 0.2651078203333333
   },
   {
    "gross": 100000,
    "net": 62710.89,
    "effectiveRate": 0.372891141
   }
  ],
  "completeness": {
   "status": "complete",
   "missing": [],
   "approximations": []
  }
 },
 "freeMovement": {
  "citizensOf": "NL",
  "areas": [
   {
    "id": "EEA",
    "name": "EU and EEA free movement",
    "members": [
     "AT",
     "BE",
     "BG",
     "HR",
     "CY",
     "CZ",
     "DK",
     "EE",
     "FI",
     "FR",
     "DE",
     "GR",
     "HU",
     "IE",
     "IT",
     "LV",
     "LT",
     "LU",
     "MT",
     "PL",
     "PT",
     "RO",
     "SK",
     "SI",
     "ES",
     "SE",
     "IS",
     "LI",
     "NO"
    ],
    "note": "Directive 2004/38/EC, extended to Iceland, Liechtenstein and Norway by the EEA Agreement. Beyond three months a registration is usually required, but no visa or permit to work.",
    "source": {
     "id": "eu-free-movement",
     "name": "Directive 2004/38/EC and the EEA Agreement",
     "publisher": "European Union",
     "url": "https://eur-lex.europa.eu/eli/dir/2004/38/oj",
     "licence": "Borgo's summary of the official text (CC BY 4.0)",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   },
   {
    "id": "CH-IN-EU",
    "name": "Swiss-EU free movement",
    "members": [
     "CH"
    ],
    "source": {
     "id": "ch-afmp",
     "name": "Agreement on the Free Movement of Persons (EU-Switzerland)",
     "publisher": "Swiss State Secretariat for Migration",
     "url": "https://www.sem.admin.ch/sem/en/home/themen/fza_schweiz-eu-efta.html",
     "licence": "Borgo's summary of the official text (CC BY 4.0)",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   }
  ]
 },
 "defaultProfile": {
  "assumptions": "one person, €60,000 gross a year, a one-bedroom home, everyday spending of €1,200 a month in Lisbon scaled by each country's price level",
  "month": {
   "currency": "EUR",
   "gross": 60000,
   "net": 44093.53,
   "rent": null,
   "rentFigure": null,
   "everyday": 1603.0816640986131,
   "everydayHow": "a starting guess, scaled from Lisbon: set your own",
   "childcare": null,
   "health": 60.109045405791925,
   "left": null,
   "missing": [
    "rent"
   ],
   "completeness": {
    "status": "partial",
    "missing": [
     "health insurance premium bought outside pay (add yours, a month)"
    ],
    "approximations": []
   }
  }
 },
 "observations": [
  {
   "metric": "abortion_law",
   "value": 4,
   "period": "2026-11-05",
   "level": "country",
   "source": "abortion-law",
   "retrieved": "2026-11-05",
   "url": "https://wetten.overheid.nl/BWBR0003396/",
   "note": "Until the fetus could survive outside the womb, when the woman's situation of need makes it unavoidable; the law requires the decision to be taken with care (Wet afbreking zwangerschap, art. 5; checked against the source linked on 2026-11-05)",
   "sourceName": "Abortion in law, from the statutes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "english_official",
   "value": 0,
   "period": "CLDR 49",
   "level": "country",
   "source": "cldr",
   "retrieved": "2026-10-27",
   "note": "English is not an official language",
   "sourceName": "CLDR territory information",
   "licence": "Unicode-3.0"
  },
  {
   "metric": "english_share",
   "value": 90,
   "period": "CLDR 49",
   "level": "country",
   "source": "cldr",
   "retrieved": "2026-10-27",
   "note": "share of the population that speaks English, any level",
   "sourceName": "CLDR territory information",
   "licence": "Unicode-3.0"
  },
  {
   "metric": "same_sex_couples",
   "value": 3,
   "period": "2026",
   "level": "country",
   "source": "couples-law",
   "retrieved": "2026-11-05",
   "url": "https://wetten.overheid.nl/BWBR0002656/",
   "note": "Marriage: Burgerlijk Wetboek Boek 1, art. 30, since 1 April 2001 (stated from the law cited)",
   "sourceName": "Same-sex couples in law, from the statutes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "degree_share",
   "value": 47.3,
   "period": "2025",
   "level": "region",
   "source": "eurostat-regions",
   "retrieved": "2026-11-05",
   "note": "Zuid-Holland (NL36), aged 25 to 64",
   "sourceName": "Population by educational attainment and NUTS 2 region (edat_lfse_04)",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "road_deaths",
   "value": 0.19,
   "period": "2020",
   "level": "city",
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "foreign_born_share",
   "value": 25.8,
   "period": "2024",
   "level": "city",
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "public_pools",
   "value": 1.9,
   "period": "2024",
   "level": "city",
   "note": "Rotterdam (greater city): the city and its contiguous urban area; 24 in total",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "degree_share",
   "value": 40.3,
   "period": "2020",
   "level": "city",
   "note": "Rotterdam (greater city): the city and its contiguous urban area",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "founders_running_club",
   "value": 0,
   "period": "2026-10-27",
   "level": "city",
   "source": "foundersrc",
   "retrieved": "2026-10-27",
   "note": "No chapter listed on https://foundersrc.com/communities",
   "sourceName": "Founders Running Club communities",
   "licence": "Public listing (facts of presence only; no licence stated)"
  },
  {
   "metric": "sea_km",
   "value": 24,
   "period": "Natural Earth 5.1",
   "source": "natural-earth",
   "level": "city",
   "retrieved": "2026-10-27",
   "note": "straight line from the centre to the open-sea coastline (lakes excluded)",
   "sourceName": "Natural Earth (coastline, land, countries and populated places)",
   "licence": "Public domain"
  },
  {
   "metric": "mountain_km",
   "value": 300,
   "period": "terrain tiles 2017",
   "source": "terrain-tiles",
   "level": "city",
   "retrieved": "2026-10-27",
   "note": "no ground 1,000 m above the centre (about 10 m) within 300 km",
   "sourceName": "Terrain Tiles (Terrarium) on AWS Open Data",
   "licence": "Public domain (USGS, NOAA) and Open Government Licence – Canada, with attribution"
  },
  {
   "metric": "city_edge_km",
   "period": "2025",
   "level": "city",
   "source": "ghsl-ucdb",
   "retrieved": "2026-11-05",
   "url": "https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/GHS_UCDB_GLOBE_R2024A/GHS_UCDB_THEME_GLOBE_R2024A/GHS_UCDB_THEME_GENERAL_CHARACTERISTICS_GLOBE_R2024A/V1-2/GHS_UCDB_THEME_GENERAL_CHARACTERISTICS_GLOBE_R2024A_V1_2.zip",
   "value": 4,
   "note": "Rotterdam [The Hague] urban centre (2,173,754 people, 2025): nearest edge 4 km to the north-west; half the directions over land end within 9.5 km",
   "sourceName": "GHS Urban Centre Database 2025 (R2024A), general characteristics",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "github_developers",
   "value": 7.2,
   "period": "2026-11-05",
   "level": "city",
   "source": "github",
   "retrieved": "2026-11-05",
   "url": "https://api.github.com/search/users?q=location%3A%22Rotterdam%22&per_page=1",
   "note": "6,221 accounts whose location names \"Rotterdam\", over 868,135 residents",
   "sourceName": "GitHub user search",
   "licence": "No data licence: only total counts of profiles are stored (GitHub Acceptable Use Policies, section 7)"
  },
  {
   "metric": "annual_leave",
   "value": 20,
   "period": "2026",
   "level": "country",
   "source": "labour-law",
   "retrieved": "2026-11-04T23:14:54.070Z",
   "url": "https://eures.europa.eu/living-and-working/living-and-working-conditions/living-and-working-conditions-netherlands_en",
   "fetcher": "labour-law@1",
   "note": "4 times the weekly working hours (EURES: Netherlands working conditions, statutory annual leave)",
   "sourceName": "Paid holiday by law, from the labour codes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "download_mbps",
   "value": 65.8,
   "period": "2023",
   "level": "city",
   "source": "mlab",
   "retrieved": "2026-10-27",
   "note": "median of daily median NDT download speeds, 336 days, 138,492 tests (Rotterdam, NL-ZH)",
   "sourceName": "M-Lab NDT statistics (daily city aggregates)",
   "licence": "CC0-1.0"
  },
  {
   "metric": "public_holidays",
   "value": 6,
   "period": "2026",
   "level": "country",
   "source": "nager-date",
   "retrieved": "2026-11-04T23:14:53.369Z",
   "url": "https://date.nager.at/api/v3/PublicHolidays/2026/NL",
   "fetcher": "nager-date@1",
   "note": "Public holidays on Monday to Friday in 2026, nationwide",
   "sourceName": "Nager.Date public holidays",
   "licence": "MIT"
  },
  {
   "metric": "childcare_fees_1",
   "value": 22256,
   "period": "2025",
   "note": "Fees for one child aged 2 or 3 in full-time care, before support (OECD tax-benefit model)",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_fees_2",
   "value": 44512,
   "period": "2025",
   "note": "Fees for two children aged 2 and 3 in full-time care, before support (OECD tax-benefit model)",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_couple_1",
   "value": 9481,
   "period": "2025",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_couple_2",
   "value": 12419,
   "period": "2025",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_single_1",
   "value": 2827,
   "period": "2025",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_single_2",
   "value": 4273,
   "period": "2025",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.164Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NLD.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "leave_mothers",
   "value": 22.3,
   "note": "Paid maternity, parental and home-care leave available to mothers, in full-rate-equivalent weeks (OECD PF2.1.A, policies in April 2025; not a current-year statutory entitlement)",
   "level": "country",
   "source": "oecd-family-db",
   "retrieved": "2026-11-04T23:14:52.107Z",
   "url": "https://webfs.oecd.org/els-com/Family_Database/PF2_1_Parental_leave_systems.xlsx",
   "fetcher": "oecd-family-db@1",
   "period": "2025",
   "sourceName": "OECD Family Database: parental leave systems (PF2.1)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "leave_fathers",
   "value": 11.3,
   "note": "Paid paternity leave and leave reserved for fathers, in full-rate-equivalent weeks (OECD PF2.1.B, policies in April 2025; not a current-year statutory entitlement)",
   "level": "country",
   "source": "oecd-family-db",
   "retrieved": "2026-11-04T23:14:52.107Z",
   "url": "https://webfs.oecd.org/els-com/Family_Database/PF2_1_Parental_leave_systems.xlsx",
   "fetcher": "oecd-family-db@1",
   "period": "2025",
   "sourceName": "OECD Family Database: parental leave systems (PF2.1)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "life_evaluation",
   "value": 7.6,
   "period": "2025",
   "level": "country",
   "source": "oecd-wellbeing",
   "retrieved": "2026-10-27",
   "note": "Average answer to how satisfied people are with their life as a whole, 0 to 10",
   "sourceName": "OECD Well-being Database (How's Life?)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "temp_high",
   "value": [
    6.8,
    8.7,
    11.4,
    13.3,
    17.7,
    21.6,
    22,
    22.6,
    20.2,
    15.9,
    10.5,
    7.9
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low",
   "value": [
    2.3,
    3.2,
    3.8,
    5.5,
    9.3,
    13.2,
    14.6,
    14.9,
    12.8,
    10.3,
    5.9,
    3.7
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "feels_high",
   "value": [
    2.8,
    4.7,
    7.8,
    10.1,
    16,
    21.1,
    21.6,
    22,
    19.2,
    13.9,
    7.6,
    4.5
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Apparent temperature: air temperature adjusted for humidity, wind and sun. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "feels_low",
   "value": [
    -1.8,
    -0.9,
    0.2,
    2.1,
    7.2,
    11.8,
    13.8,
    14.3,
    11.5,
    8,
    2.6,
    -0.1
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Apparent temperature: air temperature adjusted for humidity and wind. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_high_p10",
   "value": [
    2.7,
    3.4,
    6.9,
    9,
    13.6,
    16.8,
    18.6,
    18.7,
    15.2,
    13,
    6.4,
    2.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_high_p90",
   "value": [
    11.2,
    12.3,
    16.2,
    18,
    22.3,
    27.2,
    26.5,
    27.4,
    25.5,
    19.3,
    14.1,
    11.5
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low_p10",
   "value": [
    -1.5,
    -1.8,
    -0.4,
    1.3,
    5.5,
    9.5,
    12.3,
    12.4,
    8.6,
    6.6,
    1.8,
    -2.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low_p90",
   "value": [
    7.2,
    8.6,
    7.7,
    9.5,
    12.8,
    17.2,
    16.9,
    17.6,
    16.3,
    13.3,
    10.1,
    7.8
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_record_high",
   "value": [
    15,
    17.3,
    21.9,
    24.7,
    28,
    31.3,
    36.7,
    31.1,
    30.8,
    23.3,
    17.4,
    16.4
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide); 2021-2025 only, so a rarer extreme can lie outside it",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_record_low",
   "value": [
    -5.4,
    -9.6,
    -3.5,
    -3.3,
    1.4,
    6.4,
    10.4,
    9.8,
    5,
    4.2,
    -4,
    -5.5
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide); 2021-2025 only, so a rarer extreme can lie outside it",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_hourly",
   "value": [
    4.1,
    4.1,
    4.1,
    4,
    4,
    3.9,
    3.8,
    3.7,
    3.7,
    3.7,
    4.3,
    5,
    5.7,
    6,
    6.1,
    6,
    5.7,
    5,
    4.7,
    4.5,
    4.3,
    4.2,
    4.1,
    4.1,
    4.9,
    4.9,
    4.8,
    4.6,
    4.5,
    4.5,
    4.3,
    4.2,
    4.2,
    4.7,
    5.6,
    6.5,
    7.2,
    7.7,
    8.1,
    8.1,
    8,
    7.4,
    6.5,
    5.9,
    5.7,
    5.5,
    5.3,
    5.1,
    5.8,
    5.7,
    5.5,
    5.3,
    5,
    4.8,
    4.7,
    4.5,
    5.1,
    6.3,
    7.6,
    8.8,
    9.7,
    10.5,
    10.9,
    11,
    10.9,
    10.4,
    9.4,
    8,
    7.4,
    6.9,
    6.5,
    6.2,
    7.3,
    7.1,
    6.9,
    6.6,
    6.4,
    6.2,
    6.1,
    6.9,
    8.1,
    9.4,
    10.5,
    11.5,
    12.1,
    12.5,
    12.8,
    12.8,
    12.7,
    12.3,
    11.7,
    10.6,
    9.4,
    8.7,
    8.2,
    7.7,
    11.1,
    11,
    10.6,
    10.4,
    10.1,
    10,
    10.5,
    11.6,
    12.8,
    14.1,
    15.1,
    16,
    16.6,
    16.8,
    16.8,
    16.8,
    16.6,
    16.2,
    15.6,
    14.7,
    13.6,
    12.6,
    12,
    11.5,
    14.9,
    14.7,
    14.3,
    14,
    13.8,
    13.7,
    14.5,
    15.6,
    16.9,
    18.1,
    19.1,
    19.9,
    20.5,
    20.7,
    20.9,
    21,
    20.8,
    20.4,
    19.9,
    19.2,
    18.1,
    16.8,
    16,
    15.5,
    16.1,
    16,
    15.7,
    15.4,
    15.2,
    15.1,
    15.7,
    16.7,
    17.8,
    18.8,
    19.7,
    20.5,
    21.2,
    21.1,
    21.4,
    21.4,
    21.2,
    20.8,
    20.2,
    19.5,
    18.6,
    17.5,
    16.9,
    16.5,
    16.6,
    16.5,
    16.1,
    15.9,
    15.7,
    15.5,
    15.5,
    16.4,
    17.7,
    18.9,
    20.1,
    21,
    21.6,
    21.8,
    22,
    22,
    21.7,
    21.3,
    20.8,
    19.8,
    18.5,
    17.8,
    17.3,
    16.9,
    14.7,
    14.7,
    14.2,
    13.9,
    13.7,
    13.5,
    13.3,
    13.6,
    14.7,
    16,
    17.3,
    18.3,
    19.1,
    19.5,
    19.7,
    19.7,
    19.5,
    19,
    18.1,
    16.9,
    16.1,
    15.6,
    15.2,
    14.9,
    11.9,
    11.9,
    11.8,
    11.6,
    11.5,
    11.3,
    11.3,
    11.3,
    11.6,
    12.4,
    13.3,
    14.2,
    14.9,
    15.2,
    15.3,
    15.3,
    15,
    14.4,
    13.5,
    13,
    12.7,
    12.4,
    12.2,
    12.1,
    7.7,
    7.7,
    7.5,
    7.5,
    7.4,
    7.3,
    7.2,
    7.2,
    7.2,
    7.5,
    8.1,
    8.9,
    9.5,
    9.8,
    9.8,
    9.7,
    9.4,
    8.7,
    8.3,
    8.1,
    8,
    7.8,
    7.7,
    7.6,
    5.5,
    5.5,
    5.3,
    5.2,
    5.2,
    5.2,
    5.1,
    5.2,
    5.1,
    5.1,
    5.5,
    6.1,
    6.6,
    6.9,
    7.1,
    7,
    6.6,
    6.2,
    6,
    6,
    5.9,
    5.8,
    5.7,
    5.7
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature by local hour, January 0:00 to December 23:00. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "cloud_cover",
   "value": [
    77,
    74,
    61,
    63,
    62,
    54,
    62,
    59,
    63,
    76,
    78,
    82
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "wet_days_monthly",
   "value": [
    14.2,
    11.8,
    11.8,
    11.6,
    13.4,
    11.2,
    16,
    12,
    11.2,
    15.4,
    16.8,
    12.8
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "wet_days",
   "value": 158,
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "nice_bins_feels",
   "value": [
    0.4,
    0.2,
    0,
    0.6,
    0.2,
    0.2,
    0.6,
    0.2,
    0.2,
    0.6,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.8,
    0.2,
    0.2,
    0.6,
    0.4,
    0.6,
    0.2,
    0.8,
    0.6,
    0.6,
    0.4,
    0,
    0,
    0,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.6,
    0.8,
    1.2,
    1.2,
    0.2,
    0.4,
    0.8,
    1.4,
    0.6,
    0.8,
    0.6,
    1.2,
    0.2,
    0.2,
    0.2,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.2,
    0.2,
    0.4,
    0.6,
    0.8,
    0.8,
    0.8,
    0.4,
    1,
    0.8,
    0.6,
    0,
    0.2,
    0.4,
    0.2,
    0.2,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0.2,
    0.4,
    0.2,
    0.6,
    0,
    0.4,
    0.4,
    1.2,
    0.6,
    0.2,
    1.2,
    1,
    0.2,
    0.6,
    0,
    0.6,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0.4,
    0.2,
    0.6,
    1.4,
    0.6,
    1,
    0.6,
    0.6,
    0.6,
    1.8,
    0.6,
    0.6,
    0.6,
    0.6,
    0.4,
    0.4,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0.6,
    0.2,
    0.4,
    0.8,
    0.6,
    0.6,
    0.6,
    1,
    0.6,
    0.4,
    0,
    0.2,
    0,
    0.2,
    0.4,
    0,
    0,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0.2,
    0.8,
    0.8,
    0.6,
    1.4,
    0.6,
    1,
    1.2,
    0.8,
    0.2,
    0.8,
    0.6,
    0.8,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.2,
    0.4,
    0.2,
    0.2,
    0.2,
    0.8,
    1,
    1,
    0.8,
    0,
    0.4,
    0.6,
    0,
    0,
    0.6,
    0.6,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0.2,
    0.2,
    1.4,
    1,
    0.8,
    0.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0.4,
    0.2,
    0.2,
    0.6,
    0.6,
    1,
    0,
    0.2,
    0.2,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1.2,
    0.4,
    0.4,
    0,
    0,
    0.4,
    0.2,
    0.4,
    0.2,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Dry, mostly clear days by their daytime feels-like temperature, whole degrees from -5 to 40 °C, by month. Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "nice_bins_air",
   "value": [
    0,
    0,
    0.2,
    0.2,
    0,
    0.2,
    0,
    0.6,
    0.6,
    0.2,
    0.2,
    0,
    0.4,
    0.4,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.4,
    0.2,
    0,
    0,
    0.2,
    0.4,
    0.4,
    0.4,
    0.4,
    0.4,
    1,
    0.8,
    0,
    0.6,
    0,
    0,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1,
    0.8,
    1,
    1.6,
    0.2,
    1,
    0.6,
    1.4,
    1,
    1,
    0.8,
    0.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.2,
    0.2,
    1,
    1.4,
    0.6,
    0.8,
    0.8,
    1,
    0.4,
    0.4,
    0.2,
    0.4,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.4,
    0,
    0.2,
    0.6,
    0.2,
    0.8,
    0.8,
    0.8,
    1,
    1.2,
    0.6,
    0.4,
    0.2,
    0.8,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0.2,
    0.4,
    0.8,
    1,
    1.6,
    1.2,
    0.8,
    1,
    1.2,
    0.6,
    1,
    0.4,
    0.6,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    1,
    1,
    1,
    1.2,
    1.2,
    0.2,
    0,
    0.2,
    0.4,
    0,
    0.2,
    0.2,
    0,
    0,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    1.2,
    0.8,
    2,
    1.6,
    1.2,
    0.4,
    0.8,
    0.6,
    0.4,
    0.4,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0.6,
    0.2,
    0.2,
    0.4,
    1.2,
    1,
    1.2,
    0,
    0.6,
    0.6,
    0.4,
    0.8,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.2,
    1,
    1.8,
    0.6,
    0.2,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0.4,
    0.2,
    0.2,
    0.6,
    0.8,
    0.8,
    0.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.6,
    0.6,
    0.4,
    0.2,
    0,
    0.2,
    0.2,
    0.4,
    0,
    0.2,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Dry, mostly clear days by their daytime air temperature, whole degrees from -5 to 40 °C, by month. Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "beach_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    2.4,
    0.8,
    2.6,
    1,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "active_days",
   "value": [
    4.2,
    12.6,
    18.8,
    23.2,
    29,
    28.8,
    29.6,
    29.8,
    28.6,
    30.2,
    20.4,
    10.4
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "muggy_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.6,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "grey_days",
   "value": [
    17.2,
    16.4,
    12.2,
    11.4,
    12.2,
    10.2,
    9.2,
    8.2,
    10.6,
    17.8,
    17,
    22.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "hot_nights",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "hot_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0.4,
    1,
    0.6,
    0.2,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "snow_days",
   "value": [
    1.6,
    1.2,
    0.8,
    0.8,
    0,
    0,
    0,
    0,
    0,
    0,
    1.4,
    0.8
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "windy_days",
   "value": [
    2.8,
    2.2,
    1,
    2,
    0.4,
    0.2,
    0.8,
    0,
    0.2,
    0.2,
    0.8,
    2.2
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:37:31.077Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=51.9225&longitude=4.47917&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "research_output",
   "value": 1590,
   "period": "2025",
   "level": "city",
   "source": "openalex",
   "retrieved": "2026-10-27",
   "note": "13,800 works by 99 institutions in Rotterdam",
   "sourceName": "OpenAlex institutions",
   "licence": "CC0-1.0"
  },
  {
   "metric": "builder_density",
   "value": 48,
   "period": "2025",
   "level": "city",
   "source": "openalex",
   "retrieved": "2026-10-27",
   "note": "log scale: 100 works per 100k residents = 0, 30,000 = 100",
   "sourceName": "OpenAlex institutions",
   "licence": "CC0-1.0"
  },
  {
   "metric": "airport_km",
   "value": 5,
   "period": "2026-10-27",
   "level": "city",
   "source": "ourairports",
   "retrieved": "2026-10-27",
   "note": "Rotterdam The Hague Airport (RTM), straight line from the centre",
   "sourceName": "OurAirports airports",
   "licence": "Public domain"
  },
  {
   "metric": "airports_100km",
   "value": 4,
   "period": "2026-10-27",
   "level": "city",
   "source": "ourairports",
   "retrieved": "2026-10-27",
   "note": "RTM, AMS, EIN, ANR",
   "sourceName": "OurAirports airports",
   "licence": "Public domain"
  },
  {
   "metric": "politics_lr",
   "value": 6.2,
   "period": "2025-10-29",
   "level": "country",
   "source": "politics",
   "retrieved": "2026-11-05",
   "url": "https://www.verkiezingsuitslagen.nl/verkiezingen/detail/TK20251029",
   "note": "Estimate from the official result of House of Representatives, 29 Oct 2025, with ParlGov party positions: D66 16.9% (4.5), PVV 16.7% (8.8), VVD 14.2% (7.3), GroenLinks–PvdA 12.8% (2.8, members' average), CDA 11.8% (5.9), JA21 5.9% (8.7, party-family average). Parties with a position took 94% of the vote.",
   "sourceName": "Political position from election results",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "universities",
   "value": 6,
   "period": "2026-10-27",
   "level": "city",
   "source": "ror",
   "retrieved": "2026-10-27",
   "note": "ROR organisations of type education (universities, colleges, schools of higher education)",
   "sourceName": "Research Organization Registry",
   "licence": "CC0-1.0"
  },
  {
   "metric": "research_institutes",
   "value": 8,
   "period": "2026-10-27",
   "level": "city",
   "source": "ror",
   "retrieved": "2026-10-27",
   "note": "ROR organisations of type facility (research institutes, laboratories, observatories)",
   "sourceName": "Research Organization Registry",
   "licence": "CC0-1.0"
  },
  {
   "metric": "sunshine_monthly",
   "value": [
    70,
    90,
    143,
    193,
    226,
    216,
    221,
    203,
    153,
    115,
    67,
    56
   ],
   "period": "1991-2020",
   "level": "city",
   "source": "wmo-normals",
   "retrieved": "2026-10-27T11:14:13.313Z",
   "url": "https://www.ncei.noaa.gov/data/oceans/archive/arc0216/0253808/6.6/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TSUN.csv",
   "fetcher": "wmo-normals@1",
   "note": "Measured at RotterdamTheHagueAp, 5 km away at -5 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "sourceName": "WMO Climatological Standard Normals 1991-2020",
   "licence": "No licence attached; NCEI public access, citation requested (WMO Unified Data Policy)"
  },
  {
   "metric": "sunshine_hours",
   "value": 1752,
   "period": "1991-2020",
   "level": "city",
   "source": "wmo-normals",
   "retrieved": "2026-10-27T11:14:13.313Z",
   "url": "https://www.ncei.noaa.gov/data/oceans/archive/arc0216/0253808/6.6/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TSUN.csv",
   "fetcher": "wmo-normals@1",
   "note": "Measured at RotterdamTheHagueAp, 5 km away at -5 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "sourceName": "WMO Climatological Standard Normals 1991-2020",
   "licence": "No licence attached; NCEI public access, citation requested (WMO Unified Data Policy)"
  },
  {
   "metric": "degree_share",
   "value": 38.9,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NL/indicator/SE.TER.CUAT.ST.ZS?format=json&per_page=100&date=2015:2026",
   "note": "At least short-cycle tertiary education, % of people aged 25 and over (UNESCO Institute for Statistics via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "doctors",
   "value": 3.88,
   "period": "2022",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NL/indicator/SH.MED.PHYS.ZS?format=json&per_page=100&date=2015:2026",
   "note": "Physicians per 1,000 people (WHO Global Health Workforce Statistics via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "unemployment",
   "value": 3.9,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NL/indicator/SL.UEM.TOTL.ZS?format=json&per_page=100&date=2015:2026",
   "note": "Unemployment, % of the labour force, ILO modelled estimate (via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "clean_government",
   "value": 1.87,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wgi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/sources/3/country/NLD/series/GOV_WGI_CC.EST/time/all?format=json&per_page=100",
   "note": "Control of corruption, governance estimate (Worldwide Governance Indicators)",
   "sourceName": "Worldwide Governance Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "price_level",
   "value": 86.7,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "note": "Private consumption PPP over the market exchange rate; United States = 100",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "homicide_rate",
   "value": 0.69,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "note": "Intentional homicides per 100,000 people (UNODC via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "life_expectancy",
   "value": 82,
   "period": "2024",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "health_oop",
   "value": 807,
   "period": "2024",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-04",
   "note": "Out-of-pocket health expenditure per person, current US dollars (WHO Global Health Expenditure Database via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  }
 ],
 "comparisons": [
  {
   "with": "amsterdam-nl",
   "page": "https://borgo.abcastor.com/compare/amsterdam-nl-vs-rotterdam-nl/"
  },
  {
   "with": "berlin-de",
   "page": "https://borgo.abcastor.com/compare/berlin-de-vs-rotterdam-nl/"
  },
  {
   "with": "brussels-be",
   "page": "https://borgo.abcastor.com/compare/brussels-be-vs-rotterdam-nl/"
  },
  {
   "with": "cambridge-gb",
   "page": "https://borgo.abcastor.com/compare/cambridge-gb-vs-rotterdam-nl/"
  },
  {
   "with": "hamburg-de",
   "page": "https://borgo.abcastor.com/compare/hamburg-de-vs-rotterdam-nl/"
  },
  {
   "with": "krakow-pl",
   "page": "https://borgo.abcastor.com/compare/krakow-pl-vs-rotterdam-nl/"
  },
  {
   "with": "london-gb",
   "page": "https://borgo.abcastor.com/compare/london-gb-vs-rotterdam-nl/"
  },
  {
   "with": "madrid-es",
   "page": "https://borgo.abcastor.com/compare/madrid-es-vs-rotterdam-nl/"
  },
  {
   "with": "naples-it",
   "page": "https://borgo.abcastor.com/compare/naples-it-vs-rotterdam-nl/"
  },
  {
   "with": "paris-fr",
   "page": "https://borgo.abcastor.com/compare/paris-fr-vs-rotterdam-nl/"
  },
  {
   "with": "rome-it",
   "page": "https://borgo.abcastor.com/compare/rome-it-vs-rotterdam-nl/"
  },
  {
   "with": "turin-it",
   "page": "https://borgo.abcastor.com/compare/rotterdam-nl-vs-turin-it/"
  },
  {
   "with": "valencia-es",
   "page": "https://borgo.abcastor.com/compare/rotterdam-nl-vs-valencia-es/"
  }
 ],
 "linkOut": [
  {
   "label": "Numbeo: cost of living in Rotterdam",
   "url": "https://www.numbeo.com/cost-of-living/in/Rotterdam"
  },
  {
   "label": "WeatherSpark: year-round weather in Rotterdam",
   "url": "https://weatherspark.com/search?q=Rotterdam"
  },
  {
   "label": "Wikipedia: Rotterdam",
   "url": "https://en.wikipedia.org/wiki/Rotterdam"
  }
 ],
 "cite": "Borgo, \"Living in Rotterdam\", https://borgo.abcastor.com/city/rotterdam-nl/, figures as of 2026-11-05. Name the original source of any figure you quote."
}
