TravelTime

The TravelTime Data API

Points of interest, public transport, land cover, population and administrative areas for 63 countries — one HTTP API, queryable by coordinates or by H3 cell.

Five data layers across 63 countries, rebuilt per country from source on a fixed cadence.

Points of interest

Three independent sources — Foursquare, OpenStreetMap and Overture — matched into one layer, with a source-count signal so you can trade precision against recall.

  • /v1/pois/near
  • /v1/pois/in-bbox
  • /v1/pois/search
  • /v1/h3/pois

Public transport

Stations, lines, agencies and service frequency from TravelTime's own transport graph — stops clustered into stations, not raw GTFS.

  • /v1/pt/stations/near
  • /v1/pt/lines
  • /v1/h3/transport/summary

Land cover

Named parks, green space and beaches from Overture, stored as H3 aggregates so you can ask what share of an area is open space.

  • /v1/polygons
  • /v1/h3/land-cover

Population & census

WorldPop population per cell, plus small-area census demographics and income where a country publishes them. Never a fabricated zero.

  • /v1/h3/population
  • /v1/h3/population/aggregate

Areas

The administrative boundary hierarchy — browse the tree, then ask any division for its H3 cells and feed those into any other layer.

  • /v1/divisions
  • /v1/divisions/{id}/cells

Every layer is addressable by coordinates and by H3 cell. Use coordinates when you have a place; use cells when you have an area — an isochrone, a catchment, a drawn polygon — and want one row per hex.

By coordinates

A point and a radius, a bounding box, or free text. Results come back as GeoJSON, ordered by distance or relevance.

POIs near a point
bash
curl -H "Authorization: Bearer $POI_API_KEY" \
  "https://beta.poi.traveltimeapp.com/v1/pois/near?country=GB&lat=51.5074&lng=-0.1278&radius_m=500"

By H3 cell

Pass cell ids at the resolutions each layer supports — population is res 9 only, POIs accept res 6 to 10 — and get one row per cell, in a shared envelope that’s the same for every layer.

POI counts per cell
bash
curl -H "Authorization: Bearer $POI_API_KEY" \
  "https://beta.poi.traveltimeapp.com/v1/h3/pois?country=GB&cells=89195da4a93ffff"

By geohash

The POI layers, addressed by geohash at precision 6 or 7. Same filters, same envelope, rows keyed geohash.

POI counts per geohash
bash
curl -H "Authorization: Bearer $POI_API_KEY" \
  "https://beta.poi.traveltimeapp.com/v1/geohash/pois?country=GB&geohashes=gcpvj0,gcpvj1"

Each country is a separate dataset. Send country on every request — queries never silently span borders.

See which datasets feed each country, and how each measures up against Google Places.