Skip to content

How we verify places

This page explains how we build places from three open sources, verify them against official registers and mark them closed, so you can decide how far to trust a place. The response fields are described in How a place is verified.

Combining the three sources

We build each country from Foursquare Open Places, OpenStreetMap and Overture Maps. Records in different sources that describe the same place become one place, found in two passes.

  1. Name and location. Two records match when their names are similar and they are close. How close depends on the category: parks and other large sites can be further apart than cafés and restaurants. Records in unrelated category groups, such as a gym and a church, do not match, unless one has no category or a broad one such as store.
  2. Location and category. A record the first pass left unmatched can match a record of the same category at a much shorter distance, whatever the names. This joins a café listed under its trading name in one source and its company name in another. The pass skips crowded spots and broad categories such as store, where distance alone is not enough.

What source_count counts is described in Source counts and min_sources.

How registers verify places

Registers are official lists such as food hygiene inspections, health providers and schools. Only records the register lists as open can verify a place.

A register record verifies a nearby place when the names identify the same establishment. The names must be similar, and at least half the words of the register's name must appear in the place's name, ignoring words such as the and ltd, unless the two names are the same once spaces are removed ("Pizza Express", "PizzaExpress"). When the two are of different kinds, a word many places share, such as a town or street name, is not enough. This keeps the business next door from being verified. A street or town word both addresses carry is no evidence either when their house numbers differ. Names that pass the similarity test but fail the rest can still match on the same street and house number. A register that matches by location also matches a nearby place in its category group when every word of one name appears in the other; for a register that only verifies, one of those words must be distinctive, not a kind of place or a town.

A matched place gains the register in verified_by and becomes verified.

Some registers name the licensee or company rather than the sign over the door, or give no name at all. A record of theirs that no name matches pairs with the nearest place of the same category close by, shown as matched_on: "location and category". Registers that give only a postcode match on the postcode and a stricter name test, shown as matched_on: "name and postcode", as does a record whose location sits away from the place: it pairs with the only unmatched place in its postcode that passes the stricter test, if that place is within 2 km and gives no other house number.

Registers add trust. They never delete a place. A register we use as the primary source for a category also works the other way, as described in Official registers.

GET /v1/catalog lists each country's registers under layers.gov_registers, with each register's name and publisher under sources. The Data page shows the same per country.

Closed places

A place is marked closed when a record the register lists as closed matches it: nearby, in the same category group, and by a stricter name test than verifying uses. Registers that give only a postcode never mark a place closed. The mark is skipped in two cases.

  • A register confirms the place as open.
  • An open record near the closed record has a name that matches the place. A register still lists the business as open next door.

Marks come only from a register's own closed records, never from a record that disappeared. A place with no mark is not proven open: most categories have no register.

Closed places stay in the data. closed names the register and, when it gives one, the closing date. Source counts and min_sources says which endpoints leave them out on include_closed=false.

How we measure accuracy

For each register with a judged sample, an AI judges a random sample of its matches: is each pair the same place? match_accuracy on the register's entry in GET /v1/catalog gives the share of pairs judged the same place, with a 95% interval. Closed marks are not measured this way.

We check the places themselves against Google Places. The Accuracy page shows agreement and coverage for each country, including agreement by number of sources. GET /v1/benchmark returns the same figures.

Choosing filters

You wantSend
Reliable results for most usesNothing. The default keeps verified places and places with 2 or 3 sources.
As many places as possible, accepting some wrongmin_sources=1
Only places a register or TravelTime transport data confirmsverified=true. Expect gaps where a category or country has no register.
Places every open source agrees onmin_sources=3. Verified places and public transport places are still included.
No places a register says have closedinclude_closed=false, on any endpoint that takes min_sources.

GET /v1/pois/{id} ignores all three filters, so read source_count, verified and closed from the place and apply your own rule.