One row per business, deduplicated by feature_id. Below, what is always there, what depends on where you are looking, and what is missing on purpose.
Identity and location
| Field | Fill rate | Notes |
|---|---|---|
name | 100% | Exactly as Google publishes it, accents and alphabet included. |
address | 100% | Formatted. The postal code stays embedded in it. |
latitude / longitude | 100% | Every row in every market measured. |
place_id | 100% | The Places API identifier. Joins outward. |
feature_id | 100% | Google's internal id. The deduplication key. |
Contact and reputation, with their ranges
These four carry ranges rather than single figures, because their coverage is a property of the market and the vertical — the full measurement.
| Field | Best market | Weakest market |
|---|---|---|
phone_e164 | 96.7% Toronto | 41.4% remote regions |
opening_hours | 96.1% Toronto | 48.9% remote regions |
rating | 97.5% Toronto | 55.5% remote regions |
website | 87.4% Toronto | 5.7% remote regions |
The field that is never promised
reviews_count came back on 8.5% of rows, because Google serves it in some responses and not others. It is delivered when present and never promised. If you need a review count on every row, this is not the tool — and that is stated here rather than discovered after a run.
Language changes the rows, not just the labels
The language comes from the country and sets the language of categories and opening_hours. Two runs of the same area in different languages therefore produce different rows, not just differently-labelled ones. language is on every row so this is visible in the data rather than assumed.
Provenance
from_cache and data_age_hours on every row. Cached rows are charged the same as fresh ones and always declare their age.
Four things deliberately absent
| Not returned | Why |
|---|---|
| Review text | Writing by identifiable people. Out of scope. |
| Email addresses | Google Maps does not publish them — zero in 498 records. |
| Postal code | Embedded in address, format varies by region. Parsing it out would be guesswork. |
| Place page data | Phone, hours and website already arrive in the search response; fetching each place would multiply cost ~200x for nothing. |
The email measurement in full, since it is the omission that gets questioned most.


