Early access · lock in $49/mo pricing

Census data for any location. No exceptions.
Clean, normalised, API-ready.

Stop wasting days compiling demographic data. CensusGrid gives retail and real estate teams instant access to population, income, and household data

across the US, UK, and EU, through one consistent schema.

No credit card · 500 free queries/mo · US + UK + EU coverage

CensusGrid SQL query returning clean census data with population, income, and age demographics
Unified acrossUS Census ACSUK ONSEurostatINSEEDestatisISTAT

The problem

Every site selection project starts the same way.

Download 3 spreadsheets from 3 different government portals. Reformat them. Hope the geographic boundaries match. Spend a day cleaning before any analysis can happen.

We built CensusGrid so that step takes 30 seconds, not 2 days.

The old way

With CensusGrid

Download an Excel file from the UK census website
One API call returns the same data, instantly
Find the right table in the US census portal
Same schema, every country. no lookups needed
Hunt down an EU regional CSV on Eurostat
One key, one billing, one SDK for all of Europe

What's in the box

The boring infrastructure work, done for you.

Global from day one

20+ countries across the US, UK, and EU. One billing relationship, one schema, one SDK.

Sub-second responses

Pre-normalised at ingest, served from edge cache. 95% under 120ms worldwide.

One consistent schema

Six core fields. population, age, income, households, age bands, source. Same shape, every geography.

Developer-friendly

REST + MCP endpoints. Typed SDKs for TypeScript and Python. Bulk endpoints for large catchments.

Built-in CSV & Excel

Skip the integration. Download clean tables straight from the dashboard, ready to drop into models.

Sourced, dated, cited

Every response includes its source authority and vintage. Audit-ready for regulated workflows.

The schema

Six fields. Every country. No exceptions.

Consistency is the product. We absorb the messiness of national statistics offices so your models, dashboards, and reports don't have to. Same JSON shape whether you query SW1A or 10001.

Same field names across all geographies
Currency-aware income formatting
Source authority + vintage on every record
Geographic level surfaced explicitly
response.schema.json
FieldTypeDescription
populationintegerTotal residents in geography
median_agefloatYears, one decimal place
median_household_incomestringLocal currency, formatted
householdsintegerOccupied household count
age_bandsobject0-17 / 18-34 / 35-54 / 55+
sourcestringAuthority + vintage year

Early access

Be first in line.

We're onboarding the first 100 teams this quarter. Drop your email and we'll reach out.

No spam. One email when access opens.