Every field a Google Maps listing can return
18 groups and 62 columns. Name the groups you want and a row carries exactly those - nothing else to pay for, and nothing to strip out.
The groups
Every row carries 5 of these whatever you ask for, and they
cost nothing beyond the row itself. The rest are add-ons, and each one is a panel or a tab this
crawler has to open - so each is priced, and each is billed only at
depth: "detail", which is the only depth at which it can be filled. Ask for one at
listing depth and the columns come back empty and free.
| Group | Holds | Free rate, per 1,000 |
|---|---|---|
identity | Business name, category list, and the listing’s stable identifiers. | In every row |
location | Full address broken into parts, plus latitude, longitude and plus code. | In every row |
rating | Average rating, total review count, and the one-to-five star distribution. | In every row |
contact | Public phone number and website. | In every row |
hours | Opening hours per day, and whether a place has closed temporarily or for good. | In every row |
busyness | The published hour-by-hour busyness curve, and how busy the place is right now. | $3.00 per place |
price | Price band and, where published, an estimated spend per person. | $2.00 per place |
menu | The published menu where there is one: sections, dish names, prices and descriptions. | $3.00 per place |
media | The listing's cover photo, and the names of the photo tabs it groups the rest under. | $0.50 per place |
actions | Reservation, ordering and menu links the listing offers. | $2.00 per place |
reviews | Individual reviews with rating, text, date and any per-category scores the reviewer gave, plus the aggregate topic tags. | $0.50 per item |
attributes | Amenities and descriptors exactly as the listing publishes them, grouped into the sections the source groups them into and each carrying whether the place offers it. | $2.00 per place |
tickets | Admission and experience tickets on sale, each with a price in USD, its seller and a booking link. | $3.00 per place |
hotel | For a place that takes room bookings: star rating, the dates quoted, every rate offered, and the nearby hotels shown beside it. | $3.00 per place |
posts | Updates the owner has published, with the event date and time any of them carries. What the owner says, which is not the same as what is currently true. | $2.00 per place |
area | The published verdict on the surrounding area: an overall visitor score, and the transit, sightseeing and airport scores behind it. | $2.00 per place |
web | Pages elsewhere on the web that cite this place, each with its provider and the snippet it was shown under. | $2.00 per place |
related | The places shown alongside this one, with rating and review count - the competitive set as the source itself draws it. | $2.00 per place |
Those are the free rates, and they are what the rate card calls the free column; a monthly plan opens three cheaper ones. Every record pays the base row whatever you ask for.
Asking for them
curl -s https://mapcensus.com/v1/scrape \
-H 'authorization: Bearer YOUR_KEY' \
-H 'content-type: application/json' \
-d '{"query":"coffee shops","location":"Austin, TX","limit":10,
"depth":"detail","fields":["identity","location","menu"]}'
Name no fields and you get identity, location, rating, contact, hours - every group that
carries no separate charge. "fields": "all" asks for the lot. The
reference has the rest of the request, and
/openapi.json has it for a program.
identity
Business name, category list, and the listing’s stable identifiers.
namesubtitledescriptioncategorycategoriesplace_idcidurlis_advertisementis_unclaimed
location
Full address broken into parts, plus latitude, longitude and plus code.
addressstreetneighborhoodcitystatepostal_codecountry_codelatitudelongitudeplus_codelocated_in
rating
Average rating, total review count, and the one-to-five star distribution.
ratingreview_countrating_distribution
contact
Public phone number and website.
phonephone_e164website
hours
Opening hours per day, and whether a place has closed temporarily or for good.
permanently_closedtemporarily_closedhourshours_text
busyness
The published hour-by-hour busyness curve, and how busy the place is right now.
popular_timeslive_busyness
price
Price band and, where published, an estimated spend per person.
price_bandprice_per_person_usdprice_per_person_localprice_basis
menu
The published menu where there is one: sections, dish names, prices and descriptions.
menu_urlmenu
media
The listing's cover photo, and the names of the photo tabs it groups the rest under.
cover_imageimage_groups
actions
Reservation, ordering and menu links the listing offers.
reservation_linksorder_linksmenu_url
reviews
Individual reviews with rating, text, date and any per-category scores the reviewer gave, plus the aggregate topic tags.
reviewsreview_tags
This group returns personal data. It carries the display name a reviewer published alongside what they wrote, so asking for it makes you a controller of that data in your own right. The privacy notice describes what we drop before it reaches you, and rating gives you the score and the count with none of this.
attributes
Amenities and descriptors exactly as the listing publishes them, grouped into the sections the source groups them into and each carrying whether the place offers it.
attributes
Sections seen across a real corpus, and the source may add more: accessibility amenities atmosphere children crowd dining_options highlights offerings parking payments pets planning popular_for service_options
tickets
Admission and experience tickets on sale, each with a price in USD, its seller and a booking link.
admission_ticketsexperience_tickets
hotel
For a place that takes room bookings: star rating, the dates quoted, every rate offered, and the nearby hotels shown beside it.
hotel_starscheck_incheck_outhotel_ratesnearby_hotels
posts
Updates the owner has published, with the event date and time any of them carries. What the owner says, which is not the same as what is currently true.
posts
area
The published verdict on the surrounding area: an overall visitor score, and the transit, sightseeing and airport scores behind it.
area_scorearea_labelarea_summaryarea_scores
web
Pages elsewhere on the web that cite this place, each with its provider and the snippet it was shown under.
web_results
related
The places shown alongside this one, with rating and review count - the competitive set as the source itself draws it.
related_places
The shape a row comes back in
Two, and they carry the same fields. ?shape=flat is one snake_case level -
place_id, review_count - which is what a spreadsheet wants and what
CSV can express; the names above are the flat ones. ?shape=nested returns the
record as the crawler holds it, with the sections and spelling it uses -
identifiers.placeId, rating.reviewsCount - which is also the form on
disk, so ?format=ndjson&shape=nested&fields=all streams with no conversion
at all. There is no nested CSV, and asking for one is an error rather than a flat file you did
not ask for.
Every row carries two columns whatever you asked for: when it was read, and what asked for
it. Formats are json, ndjson, csv, over the same URL.