Google Maps data, ready when you are.

Places, search and reviews from Google Maps.

Try in playground From $0.000225 a record · $0.10 free

What you can get.

  • $0.000225per record

    Places

    Full cards for up to ten places by Maps URL (place id or cid). Rating and breakdown, review keywords, contact, address, hours, popular times, attributes, socials, owner posts.

    Try it →
  • $0.000225per record

    Search

    Places for a keyword in a location. Every hit a full card.

    Try it →
  • $0.000225per record

    Reviews

    Reviews for up to ten places. Text, stars, date, reviewer, owner response; sorted newest, most relevant, highest or lowest.

    Try it →

What the data looks like.

businessNamecategoryaddresscitycountryratingreviewspriceRangephonewebsitepermanentlyClosedplaceIdplaceUrlcategoryIdreviewsUrlmenuUrlreserveTableUrlcidfidkgmidisAdvertisementdetails
Brewlab CoffeeCoffee shop210 Congress Ave, Austin, TX 78701AustinUS4.71,284$$+1 512-555-0142https://brewlab.examplefalse2910649290https://www.google.com/maps/brewlab-coffee-10003644697838https://www.google.com/maps/brewlab-coffee-1000https://www.google.com/maps/brewlab-coffee-1000https://www.google.com/maps/brewlab-coffee-1000777429974615548140751321537false
  • {}
Casa Lumen TacosMexican restaurant88 Harbor Dr, San Diego, CA 92101San DiegoUS4.52,310$+1 619-555-0190https://casalumen.examplefalse2171364855https://www.google.com/maps/casa-lumen-tacos-10011221544499https://www.google.com/maps/casa-lumen-tacos-1001https://www.google.com/maps/casa-lumen-tacos-1001https://www.google.com/maps/casa-lumen-tacos-10012979685572670518733876769627false
  • {}
Northfold FitnessGym12 Indiranagar 100 Ft Rd, Bengaluru 560038BengaluruIN4.6512$$+91 80 5555 0123https://northfoldfit.examplefalse930528383https://www.google.com/maps/northfold-fitness-10021258403920https://www.google.com/maps/northfold-fitness-1002https://www.google.com/maps/northfold-fitness-1002https://www.google.com/maps/northfold-fitness-1002106330814024002939254146290404false
  • {}
22 fields, scroll sideways for all. Example rows: made-up names, real field names. Live calls return real data.

For developers

API reference.

One endpoint, POST /v1/google_maps. Open an operation to see its fields.

Read the docs
Placesplaces

Full cards for up to ten places by Maps URL (place id or cid). Rating and breakdown, review keywords, contact, address, hours, popular times, attributes, socials, owner posts.

FieldTypeMeaning
subjects *list of string · 1-10 itemsMaps URLs carrying a place id or cid, or bare ChIJ… place ids.

Response fields, each row of data

FieldType
placeIdstring
placeUrlstring
businessNamestring
categorystring
allCategorieslist of string
categoryIdstring
placeTagslist of string
ratingnumber
reviewsinteger
reviewBreakdownany
reviewKeywordsany
reviewsUrlstring
priceRangestring
phonestring
formattedPhonestring
websitestring
emailslist of string
additionalPhoneslist of string
socialsany
directoryProfilesany
addressstring
neighborhoodstring
citystring
statestring
postalCodestring
countrystring
streetstring
latitudenumber
longitudenumber
plusCodestring
locatedInstring
floorstring
permanentlyClosedboolean
temporarilyClosedboolean
unclaimedboolean
ownerany
descriptionstring
attributesany
openingHoursany
specialHoursany
popularTimesany
liveOccupancyPercentinteger
liveStatusstring
coverPhotostring
photosany
photoCountinteger
relatedPlacesany
ownerPostsany
menuUrlstring
reserveTableUrlstring
reservationLinksany
entranceLocationany
hotelAdsany
similarHotelsany
hotelTypestring
hotelDescriptionstring
subTitlestring
cidstring
fidstring
kgmidstring
isAdvertisementboolean
languagestring
detailsobject

Every field is present on every row: a value the source had nothing for is null, an empty list is []. details is always the last field: everything else the source sent for that row, under our own field names. Its keys depend on the source that answered, so read them defensively; it is {} when there is nothing more.

example request · places
curl -X POST https://apiforagents.dev/v1/google_maps \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"places","subjects":["ChIJN1t_tDeuEmsRUsoyG83frY4"]}'

Example response rows

data · made-up names, real field names
[
  {
    "businessName": "Brewlab Coffee",
    "category": "Coffee shop",
    "address": "210 Congress Ave, Austin, TX 78701",
    "city": "Austin",
    "country": "US",
    "rating": 4.7,
    "reviews": 1284,
    "priceRange": "$$",
    "phone": "+1 512-555-0142",
    "website": "https://brewlab.example",
    "permanentlyClosed": false,
    "placeId": "2910649290",
    "placeUrl": "https://www.google.com/maps/brewlab-coffee-1000",
    "categoryId": "3644697838",
    "reviewsUrl": "https://www.google.com/maps/brewlab-coffee-1000",
    "menuUrl": "https://www.google.com/maps/brewlab-coffee-1000",
    "reserveTableUrl": "https://www.google.com/maps/brewlab-coffee-1000",
    "cid": "777429974",
    "fid": "615548140",
    "kgmid": "751321537",
    "isAdvertisement": false,
    "details": {}
  },
  {
    "businessName": "Casa Lumen Tacos",
    "category": "Mexican restaurant",
    "address": "88 Harbor Dr, San Diego, CA 92101",
    "city": "San Diego",
    "country": "US",
    "rating": 4.5,
    "reviews": 2310,
    "priceRange": "$",
    "phone": "+1 619-555-0190",
    "website": "https://casalumen.example",
    "permanentlyClosed": false,
    "placeId": "2171364855",
    "placeUrl": "https://www.google.com/maps/casa-lumen-tacos-1001",
    "categoryId": "1221544499",
    "reviewsUrl": "https://www.google.com/maps/casa-lumen-tacos-1001",
    "menuUrl": "https://www.google.com/maps/casa-lumen-tacos-1001",
    "reserveTableUrl": "https://www.google.com/maps/casa-lumen-tacos-1001",
    "cid": "2979685572",
    "fid": "67051873",
    "kgmid": "3876769627",
    "isAdvertisement": false,
    "details": {}
  }
]

An example to show the shape. The rows show the most used fields; a live row carries every field in the table above.

Try places in the playground Examples and pricing for places
Reviewsreviews

Reviews for up to ten places. Text, stars, date, reviewer, owner response; sorted newest, most relevant, highest or lowest.

FieldTypeMeaning
subjects *list of string · 1-10 itemsMaps URLs carrying a place id or cid, or bare ChIJ… place ids.
sortenumnewest · relevance · rating_high · rating_low
limitinteger · 1-100

Response fields, each row of data

FieldType
reviewIdstring
reviewUrlstring
reviewTextstring
starsnumber
postedAtstring
reviewerstring
reviewerIdstring
reviewerUrlstring
reviewerPhotostring
reviewerTotalReviewsinteger
localGuideboolean
reviewLikesinteger
originalLanguagestring
translatedLanguagestring
translatedTextstring
ownerResponsestring
ownerResponseDatestring
reviewContextany
reviewImageUrlsstring
detailsobject

Every field is present on every row: a value the source had nothing for is null, an empty list is []. details is always the last field: everything else the source sent for that row, under our own field names. Its keys depend on the source that answered, so read them defensively; it is {} when there is nothing more.

example request · reviews
curl -X POST https://apiforagents.dev/v1/google_maps \
  -H "Authorization: Bearer $AFA_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"reviews","subjects":["ChIJN1t_tDeuEmsRUsoyG83frY4"],"sort":"newest","limit":25}'

Example response rows

data · made-up names, real field names
[
  {
    "reviewer": "Ravi K.",
    "stars": 5,
    "reviewText": "Great espresso and fast service.",
    "localGuide": true,
    "reviewerTotalReviews": 214,
    "reviewLikes": 12,
    "postedAt": "2026-10-12",
    "ownerResponse": null,
    "reviewId": "3650111347",
    "reviewUrl": "https://www.google.com/maps/ravi-k-1000",
    "reviewerId": "2639496725",
    "reviewerUrl": "https://www.google.com/maps/ravi-k-1000",
    "ownerResponseDate": "2026-10-03",
    "details": {}
  },
  {
    "reviewer": "Lena M.",
    "stars": 4,
    "reviewText": "Good coffee, few seats.",
    "localGuide": false,
    "reviewerTotalReviews": 9,
    "reviewLikes": 3,
    "postedAt": "2026-10-08",
    "ownerResponse": "Thanks Lena, more seats are on the way!",
    "reviewId": "2122062301",
    "reviewUrl": "https://www.google.com/maps/lena-m-1001",
    "reviewerId": "431987686",
    "reviewerUrl": "https://www.google.com/maps/lena-m-1001",
    "ownerResponseDate": "2026-10-08",
    "details": {}
  }
]

An example to show the shape. The rows show the most used fields; a live row carries every field in the table above.

Try reviews in the playground Examples and pricing for reviews
Historyhistoryfree

Stored rating/review-count series of places already held. Free.

FieldTypeMeaning
subjects *list of string · 1-10 items
metricenumrating · reviews · live_occupancy_percent
daysinteger · 1-730
Try history in the playground

Guides and ideas.

Use it from your tools.

More in places & travel.

All platforms