geocoded
Open-source geography data API on Cloudflare Workers and D1 for countries, states, cities, IP lookup, timezones, currencies, languages, transport data, and country statistics.
the problem
Most apps eventually need geography data, but developers are forced into paid APIs, signup-gated free tiers, scattered public datasets, or self-hosted dumps for basic location, transport, and country-statistics workflows.
→ the approach
- Split the product into an apps/packages monorepo with a Cloudflare Worker API, Astro documentation site, and 16 npm packages including a TypeScript client.
- Fed it from geocoded-data, a deterministic daily pipeline that checksums upstream sources such as GeoNames, CLDR, and OurAirports and commits only when data changes.
- Built v2 root collections with whitelisted filters, search, sorting, pagination, field projection, and explicit expansions.
- Backed public reads with D1, immutable edge caching, and separate OpenAPI and Postman documents for versioned API surfaces.
what shipped
- No-key public API for 252 countries, 5,000+ states, 235K+ cities, 1.8M+ postal codes, 23K+ airports, 17K+ ports, timezones, currencies, and languages
- Root collections for countries, states, cities, airports, airlines, ports, border crossings, statistics, and migrant stocks
- Interactive docs, dashboard, explorer, quiz, and reusable TypeScript client package
- Cloudflare edge delivery with D1 and aggressive cache headers for public reference-data reads