| icp | Yes | **REQUIRED** Describe the businesses you want as leads, in plain language — e.g. “Independent gyms that offer personal training”, “Dental practices that offer cosmetic dentistry such as veneers”. Each place gets a lead score (0–100) for how well it fits.
Example values: "Dental practices that offer cosmetic dentistry such as teeth whitening, veneers or smile makeovers." | |
| places | No | Place objects pasted as JSON (same fields as a Google Maps scraper's output: title, categoryName, categories, additionalInfo, website, phone, totalScore, reviewsCount …). Use this OR “Places dataset” OR “Search terms”.
Example values: [{"title":"Kimberly Smiles Cosmetic & General Dentistry","categoryName":"Dentist","categories":["Dentist","Cosmetic dentist","Emergency dental service","Oral surgeon","Teeth whitening service"],"website":"https://dentistwickerparkchicago.com/","phone":"(773) 276-1047","city":"Chicago","totalScore":4.7,"reviewsCount":484},{"title":"Kids Tooth Team","categoryName":"Pediatric dentist","categories":["Pediatric dentist","Dental clinic","Dental hygienist","Dentist","Emergency dental service"],"website":"https://kidstoothteam.com/locations/our-south-austin-office/","phone":"(512) 641-4914","city":"Austin","totalScore":4.9,"reviewsCount":740,"additionalInfo":{"Service options":[{"English":true}],"Offerings":[{"Emergency services":true},{"Pediatric care":true},{"Sedation dentistry":true}]}}] | |
| location | No | Where to search, for example “Chicago, USA” or “Seoul, South Korea”. Required when you use Search terms (without it the scraper searches around a US data center). One location per run; to cover several cities, run once per city. Ignored with “Places dataset” or “Places”. | |
| maxItems | No | Process at most this many places (0 = all). | |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| datasetId | No | An Apify dataset of Google Maps places — for example the output of a Google Maps scraper you ran earlier. Use this OR “Search terms” OR “Places”. | |
| minRating | No | Free pre-filter: skip places rated below this (0 = off). Skipped places are not charged. | |
| minReviews | No | Free pre-filter: skip places with fewer reviews (0 = off). | |
| healthCheck | No | Internal: fail the run when results look degraded (used by the developer's scheduled checks). | |
| photoLabels | No | Up to 5 extra yes/no checks about what the photo shows, e.g. “has a garden”, “glass storefront” (each up to 200 characters). Needs "Judge the place photo". Not measured: treat the answers as a hint. | |
| customLabels | No | Up to 10 extra yes/no checks (each up to 200 characters) in plain language, e.g. “offers online booking”, “looks like a premium / high-end business”. Each gets a probability. | |
| photoMaxSide | No | Longest side in pixels of the photo that is judged (512, 768 or 1024; other values are rounded to the nearest). 1024 reads signs best; smaller is faster.
Example values: 1024 | |
| requireEmail | No | Keep only places with an email address — needs a scraper that collects emails (e.g. Google Maps with Contact Details, or the Google Maps Scraper's contact add-on). | |
| requirePhone | No | Free pre-filter: skip places without a phone number. | |
| excludeChains | No | Mark chain and franchise locations as not qualified (they are still checked and charged, with `chain` in the output). | |
| excludeClosed | No | Free pre-filter: skip permanently or temporarily closed places.
Example values: true | |
| onlyUnclaimed | No | Keep only listings the owner has not claimed on Google Maps (when the scraper reports it). | |
| searchQueries | No | Optional. What you would type in the Google Maps search box, one per line, up to 5 — for example “independent dentist”. Needs “Location” below. The Actor then runs compass’ Google Maps scraper (compass/crawler-google-places) for you and scores the places it finds.
[Description truncated] | |
| matchThreshold | No | Minimum lead score (as a probability 0–1) for a place to count as qualified.
Example values: 0.5 | |
| maxConcurrency | No | Places checked in parallel.
Example values: 10 | |
| requireWebsite | No | Free pre-filter: skip places without a website. | |
| excludeKeywords | No | Free filter: places whose name or categories contain any of these words are removed before judging, e.g. "hospital", "Aspen Dental". Not case-sensitive. | |
| judgePlacePhotos | No | Beta, off by default. For each qualified place, looks at its main Google Maps photo and adds: independent business or known chain, outdoor seating seen, condition of the building (0–4). Costs $0.001 for each photo that gives at least one value (a photo that shows none of them is not charged). The photo is sent to TypeSafe only to be judged and is not stored.
[Description truncated] | |
| maxPlacesPerSearch | No | Only used with Search terms: how many places the scraper collects for each term (default 20, at most 200; at most 500 places in total per run). You are billed for every place it collects. If your maximum cost per run is lower than the estimate, the Actor shrinks this number or refuses to start.
Example values: 20 | |
| onlyWithoutWebsite | No | For web agencies: keep only businesses that have no website on Google Maps. | |