Local lead lists
Build a public business list for a category and area, then review contact and website fields.
- searchStringsArray
- phone
- website
Google Maps API
Collect public business names, categories, addresses, contact details and source links from Google Maps searches.
Historical recordings · 1 recorded item in the saved sample
ATX Family Dental · dentist in Austin
Google Maps · recorded sample
Google Maps Business
Dentist
Average rating
4.9
Reviews count
906
Search result rank
1
Weekly hours complete
Yes
(512) 717-3147
Overview
Collect public business names, categories, addresses, contact details and source links from Google Maps searches.
Each searchStringsArray entry is searched separately, optionally combined with locationQuery. maxCrawledPlacesPerSearch is capped at 20 because this contract reads one Google page per search; use more terms or a tighter location to widen coverage.
Records keep stable Google identifiers such as fid and placeId. Filters can restrict country, category, minimum stars or website presence, and filtered-out businesses are not returned. Missing fields remain missing rather than being inferred.
Input
Search terms and location
Output
Business place records
Provide one business or category search per line, with an optional location query.
The Actor resolves each search and keeps the public place fields Google returns.
The Dataset includes identity, category, address, contact, rating and source-link fields when present.
Use cases
The record is designed to sit inside research and review workflows. The examples below are starting points, not packaged scores.
Build a public business list for a category and area, then review contact and website fields.
Compare public categories, ratings and review counts for businesses in the same search.
Add Google Maps identifiers and address context to existing local-business records.
Try it
Read a saved public place row, then inspect the original Dataset item as JSON.
Enter a search term such as a business category and place.
https://api.apify.com/v2/acts/meka.im~google-maps-business-scraper/run-sync-get-dataset-items
Google Maps business
Dentist · 1700 S 1st St, Austin, TX 78704
Average rating
4.9
Reviews
906
Search rank
1
Open state at scrape
Open · Closes 5 PM
Published hours only; not a live status.
Monday
8 AM–5 PM
Tuesday
8 AM–5 PM
Wednesday
8 AM–5 PM
Thursday
8 AM–5 PM
Friday
8 AM–4 PM
Saturday
Closed
Sunday
Closed
Phone, website and address as Google displays them. Coordinates are shown only when Google returns them.
The average rating is a Google value on a 1–5 scale. Categories are listed with Google's primary category first.
| Category |
|---|
| Dentist |
| Cosmetic dentist |
| Dental clinic |
| Emergency dental service |
| Pediatric dentist |
| Teeth whitening service |
openState is Google's live text at scrape time and is not a permanent-closure flag. openingHoursComplete is true only when all seven days are present.
| Day | Hours |
|---|---|
| Monday | 8 AM–5 PM |
| Tuesday | 8 AM–5 PM |
| Wednesday | 8 AM–5 PM |
| Thursday | 8 AM–5 PM |
| Friday | 8 AM–4 PM |
| Saturday | Closed |
| Sunday | Closed |
Accessibility attributes in their returned structure; true and false are preserved as published.

Only returned fields are shown.
All returned fields
Recorded Sep 24, 2026 · Historical snapshot · Source: Google Maps
1[2{3"fid": "0x8644b4eb0b01986f:0x6b241d4769ed491e",4"placeId": "ChIJb5gBC-u0RIYRHkntaUcdJGs",5"cid": "7720327853776914718",6"kgmid": "/g/11cn2mvqwc",7"businessProfileId": "3134221588857878500",8"url": "https://www.google.com/maps?cid=7720327853776914718",9"title": "ATX Family Dental",10"categoryName": "Dentist",11"categories": [12"Dentist",13"Cosmetic dentist",14"Dental clinic",15"Emergency dental service",16"Pediatric dentist",17"Teeth whitening service"18],19"description": null,20"tagline": null,21"address": "1700 S 1st St, Austin, TX 78704",22"street": "1700 S 1st St",23"city": "Austin",24"state": "Texas",25"postalCode": "78704",26"countryCode": "US",27"neighborhood": "Bouldin Creek",28"location": {29"lat": 30.2482229,30"lng": -97.7559704999999931},32"phone": "(512) 717-3147",33"phoneUnformatted": "+15127173147",34"website": "https://www.atxfamilydental.com/",35"totalScore": 4.9,36"reviewsCount": 906,37"openingHours": [38{39"day": "Monday",40"hours": "8 AM–5 PM"41},42{43"day": "Tuesday",44"hours": "8 AM–5 PM"45},46{47"day": "Wednesday",48"hours": "8 AM–5 PM"49},50{51"day": "Thursday",52"hours": "8 AM–5 PM"53},54{55"day": "Friday",56"hours": "8 AM–4 PM"57},58{59"day": "Saturday",60"hours": "Closed"61},62{63"day": "Sunday",64"hours": "Closed"65}66],67"openingHoursComplete": true,68"openState": "Open · Closes 5 PM",69"timezone": "America/Chicago",70"additionalInfo": {71"Accessibility": [72{73"Wheelchair accessible entrance": true74},75{76"Wheelchair accessible parking lot": true77},78{79"Wheelchair accessible restroom": true80},81{82"Wheelchair accessible seating": true83}84]85},86"thumbnail": "https://lh5.googleusercontent.com/-gJOr85KBasI/AAAAAAAAAAI/AAAAAAAAAAA/L_fAS1EkjSM/s44-p-k-no-ns-nd/photo.jpg",87"searchString": "dentist in Austin",88"language": "en",89"rank": 1,90"scrapedAt": null91}92]
Reference
POST to the Apify Actor endpoint with a bearer token. Request examples use $APIFY_TOKEN and the current product defaults; response examples come from a saved historical record.
Request fields accepted by the Actor. Preview input is sent only when you run a live request.
searchStringsArraystring[]RequiredWhat to look for, one term per line. "dentist in Austin TX" style terms with a place name work best. Each term is searched separately and results keep the order you typed.
locationQuerystringA single place to search in, for example "Austin, TX". Combined with each search term. Leave empty if your terms already name the place.
maxCrawledPlacesPerSearchintegerUp to 20. Google returns one page of 20 per search, and this version does not page further, so higher values are capped at 20. Use more search terms or a tighter location to get more businesses. Default: 20. Minimum: 1. Maximum: 20.
languagestringLanguage of names, categories and opening hours. Default: "en". Accepted: "en", "af", "az", "id", "ms", "bs", "ca", "cs", "da", "de", "et", "es", "es-419", "eu", "fil", "fr", "gl", "hr", "zu", "is", "it", "sw", "lv", "lt", "hu", "nl", "no", "uz", "pl", "pt-BR", "pt-PT", "ro", "sq", "sk", "sl", "fi", "sv", "vi", "tr", "el", "bg", "ky", "kk", "mk", "mn", "ru", "sr", "uk", "ka", "hy", "iw", "ur", "ar", "fa", "am", "ne", "hi", "mr", "bn", "pa", "gu", "ta", "te", "kn", "ml", "si", "th", "lo", "my", "km", "ko", "ja", "zh-CN", "zh-TW".
Example: en
countryCodestringOnly returns (and charges for) businesses whose address country or time zone confirms they are in this country. Businesses whose country cannot be confirmed are left out. Country detection relies on Google's data and is not guaranteed to be perfect. Leave empty to search without a country filter. Accepted: "", "us", "af", "al", "dz", "as", "ad", "ao", "ai", "aq", "ag", "ar", "am", "aw", "au", "at", "az", "bs", "bh", "bd", "bb", "by", "be", "bz", "bj", "bm", "bt", "bo", "ba", "bw", "bv", "br", "io", "bn", "bg", "bf", "bi", "kh", "cm", "ca", "cv", "ky", "cf", "td", "cl", "cn", "cx", "cc", "co", "km", "cg", "cd", "ck", "cr", "ci", "hr", "cu", "cy", "cz", "dk", "dj", "dm", "do", "ec", "eg", "sv", "gq", "er", "ee", "et", "fk", "fo", "fj", "fi", "fr", "gf", "pf", "tf", "ga", "gm", "ge", "de", "gh", "gi", "gr", "gl", "gd", "gp", "gu", "gt", "gn", "gw", "gy", "ht", "hm", "va", "hn", "hu", "is", "in", "id", "ir", "iq", "ie", "il", "it", "jm", "jp", "jo", "kz", "ke", "ki", "kp", "kr", "kw", "kg", "la", "lv", "lb", "ls", "lr", "ly", "li", "lt", "lu", "mo", "mk", "mg", "mw", "my", "mv", "ml", "mt", "mh", "mq", "mr", "mu", "yt", "mx", "fm", "md", "mc", "mn", "me", "ms", "ma", "mz", "mm", "na", "nr", "np", "nl", "an", "nc", "nz", "ni", "ne", "ng", "nu", "nf", "mp", "no", "om", "pk", "pw", "ps", "pa", "pg", "py", "pe", "ph", "pn", "pl", "pt", "pr", "qa", "re", "ro", "ru", "rw", "sh", "kn", "lc", "pm", "vc", "ws", "sm", "st", "sa", "sn", "rs", "sc", "sl", "sg", "sk", "si", "sb", "so", "za", "gs", "ss", "es", "lk", "sd", "sr", "sj", "sz", "se", "ch", "sy", "tw", "tj", "tz", "th", "tl", "tg", "tk", "to", "tt", "tn", "tr", "tm", "tc", "tv", "ug", "ua", "ae", "gb", "um", "uy", "uz", "vu", "ve", "vn", "vg", "vi", "wf", "eh", "ye", "zm", "zw".
Example: US
citystringOptional. Added to the location.
Example: Austin
statestringOptional. Added to the location.
Example: Texas
countystringOptional. Added to the location.
postalCodestringOptional. Added to the location.
Example: 78704
customGeolocationobjectA GeoJSON geometry. Its centre is used as the map centre for the search. The outline itself is not applied, so results near the edge are not clipped.
categoryFilterWordsstring[]Case-insensitive match against a business’s categories. Filtered-out businesses are not written and not charged.
searchMatchingstring"all" keeps everything Google returned. "only_includes" keeps names containing the search term. "only_exact" keeps exact name matches. Default: "all". Accepted: "all", "only_includes", "only_exact".
placeMinimumStarsstringDrop businesses rated below this. Businesses with no rating are dropped when a minimum is set. Default: "". Accepted: "", "two", "twoAndHalf", "three", "threeAndHalf", "four", "fourAndHalf".
websitestringKeep only businesses that have a website, or only those without one. Default: "allPlaces". Accepted: "allPlaces", "withWebsite", "withoutWebsite".
Example: https://www.atxfamilydental.com/
disableTelemetrybooleanTurn off the anonymous reliability telemetry described in the README. When this is on, nothing about your run — including your search terms — leaves the run. Default: false.
Published response fields. Example properties are taken from one historical record; they describe that record, not a guaranteed schema for every response.
fidstringGoogle's feature ID, e.g. 0x8644b4eb0b01986f:0x6b241d4769ed491e. The stable key for joining and de-duplication.
Example: 0x8644b4eb0b01986f:0x6b241d4769ed491e
placeIdstring | nullGoogle Place ID, e.g. ChIJ…
Example: ChIJb5gBC-u0RIYRHkntaUcdJGs
cidstring | nullCustomer ID, the decimal form used by maps?cid= links.
Example: 7720327853776914718
kgmidstring | nullKnowledge Graph machine ID, e.g. /g/11abc…
Example: /g/11cn2mvqwc
businessProfileIdstring | nullGoogle Business Profile ID.
Example: 3134221588857878500
urlstring | nullGoogle Maps link for this business.
Example: https://www.google.com/maps?cid=7720327853776914718
titlestring | nullBusiness name.
Example: ATX Family Dental
categoryNamestring | nullPrimary category, the first entry of categories.
Example: Dentist
categoriesstring[]All categories Google lists, primary first.
[ "Dentist", "Cosmetic dentist", "Dental clinic", "Emergency dental service", "Pediatric dentist", "Teeth whitening service" ]
descriptionstring | nullEditorial summary. Null when Google has none.
taglinestring | nullShort tagline. Additional field: the reference Actor does not publish this.
addressstring | nullStreet address without the business name, e.g. 1700 S 1st St, Austin, TX 78704.
Example: 1700 S 1st St, Austin, TX 78704
streetstring | nullstreet
Example: 1700 S 1st St
citystring | nullcity
Example: Austin
statestring | nullstate
Example: Texas
postalCodestring | nullpostalCode
Example: 78704
countryCodestring | nullTwo-letter country code.
Example: US
neighborhoodstring | nullneighborhood
Example: Bouldin Creek
locationobject{ lat, lng }, each null when Google has no coordinates.
{
"lat": 30.2482229,
"lng": -97.75597049999999
}phonestring | nullPhone as Google displays it.
Example: (512) 717-3147
phoneUnformattedstring | nullPhone in E.164-like digits.
Example: +15127173147
websitestring | nullwebsite
Example: https://www.atxfamilydental.com/
totalScorenumber | nullAverage rating, 1 to 5.
Example: 4.9
reviewsCountinteger | nullNumber of reviews. Null when this response variant omitted it.
Example: 906
openingHoursobject[]Weekly hours as { day, hours }, Monday first. Empty when the business publishes none.
{
"day": "Monday",
"hours": "8 AM–5 PM"
}openingHoursCompletebooleanTrue when all seven days are present. Google returns a short variant at random; the run retries, but not every business ends up complete.
Example: true
openStatestring | nullOpen or closed text at the moment of the scrape, e.g. "Closed · Opens 9 AM Sun". NOT a permanent-closure flag.
Example: Open · Closes 5 PM
timezonestring | nullIANA timezone, e.g. America/Chicago.
Example: America/Chicago
additionalInfoobjectAccessibility attributes as { group: [{ label: boolean }] }. The search response carries the accessibility group only.
{
"Accessibility": [
{
"Wheelchair accessible entrance": true
},
{
"Wheelchair accessible parking lot": true
},
{
"Wheelchair accessible restroom": true
},
{
"Wheelchair accessible seating": true
}
]
}thumbnailstring | nullPreview image URL.
Example: https://lh5.googleusercontent.com/-gJOr85KBasI/AAAAAAAAAAI/AAAAAAAAAAA/L_fAS1EkjSM/s44-p-k-no-ns-nd/photo.jpg
searchStringstring | nullThe search term this row came from.
Example: dentist in Austin
languagestring | nullLanguage used for the search.
Example: en
rankinteger | nullPosition within that search term's results, starting at 1.
Example: 1
scrapedAtstringISO timestamp of when this row was produced.
curl -X POST 'https://api.apify.com/v2/acts/meka.im~google-maps-business-scraper/run-sync-get-dataset-items' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"searchStringsArray": [
"dentist in Austin"
],
"maxCrawledPlacesPerSearch": 20,
"language": "en"
}'Recorded sample
1 recorded item · historical sample
[
{
"fid": "0x8644b4eb0b01986f:0x6b241d4769ed491e",
"placeId": "ChIJb5gBC-u0RIYRHkntaUcdJGs",
"cid": "7720327853776914718",
"kgmid": "/g/11cn2mvqwc",
"businessProfileId": "3134221588857878500",
"url": "https://www.google.com/maps?cid=7720327853776914718",
"title": "ATX Family Dental",
"categoryName": "Dentist",
"categories": [
"Dentist",
"Cosmetic dentist",
"Dental clinic",
"Emergency dental service",
"Pediatric dentist",
"Teeth whitening service"
],
"description": null,
"tagline": null,
"address": "1700 S 1st St, Austin, TX 78704",
"street": "1700 S 1st St",
"city": "Austin",
"state": "Texas",
"postalCode": "78704",
"countryCode": "US",
"neighborhood": "Bouldin Creek",
"location": {
"lat": 30.2482229,
"lng": -97.75597049999999
},
"phone": "(512) 717-3147",
"phoneUnformatted": "+15127173147",
"website": "https://www.atxfamilydental.com/",
"totalScore": 4.9,
"reviewsCount": 906,
"openingHours": [
{
"day": "Monday",
"hours": "8 AM–5 PM"
},
{
"day": "Tuesday",
"hours": "8 AM–5 PM"
},
{
"day": "Wednesday",
"hours": "8 AM–5 PM"
},
{
"day": "Thursday",
"hours": "8 AM–5 PM"
},
{
"day": "Friday",
"hours": "8 AM–4 PM"
},
{
"day": "Saturday",
"hours": "Closed"
},
{
"day": "Sunday",
"hours": "Closed"
}
],
"openingHoursComplete": true,
"openState": "Open · Closes 5 PM",
"timezone": "America/Chicago",
"additionalInfo": {
"Accessibility": [
{
"Wheelchair accessible entrance": true
},
{
"Wheelchair accessible parking lot": true
},
{
"Wheelchair accessible restroom": true
},
{
"Wheelchair accessible seating": true
}
]
},
"thumbnail": "https://lh5.googleusercontent.com/-gJOr85KBasI/AAAAAAAAAAI/AAAAAAAAAAA/L_fAS1EkjSM/s44-p-k-no-ns-nd/photo.jpg",
"searchString": "dentist in Austin",
"language": "en",
"rank": 1,
"scrapedAt": null
}
]Recorded Sep 24, 2026 · historical snapshot
Pricing & access
Published FREE-plan event rates from public Apify metadata. Plan-specific rates and usage terms remain on the Actor's pricing page.
Pricing
$0.50per 1,000 businesses
Per delivered business. Duplicates and empty or failed searches are free.
Access
https://api.apify.com/v2/acts/meka.im~google-maps-business-scraper/run-sync-get-dataset-items
FAQ
Authentication, response shape, recorded data and availability.
This contract reads one Google page of up to 20 places per search and does not page further. Use more search terms or a tighter location to collect more businesses.
When countryCode is set, only businesses whose address country or time zone confirms that country are returned. Businesses whose country cannot be confirmed are left out.
Rating fields are present only when Google supplies them. If you set placeMinimumStars, businesses without a rating are dropped rather than assigned a default.
Send an Apify token as a Bearer token in the Authorization header, as shown in the request examples.
Not by default. Saved samples are historical recordings from the source; each keeps the fields and values from that record and does not verify current availability. Live data is requested directly from the published Apify Actor endpoint with your own token.
Current pricing and usage terms are published on the Apify Actor page.