Apify Store
AS
Apify Store
/blackfalcondata/google-maps-no-website-leads-scraper

Google Maps No-Website Leads Scraper — Prospects by Radius

Find local businesses with NO website on Google Maps (google.com/maps) — name · category · address · phone · rating · reviews & a 0–100 lead score. Every lead ships a phone; those with only a Facebook

liveasyncunknown~30s typical
businesslead generationautomationgooglemapswebsiteleads
$0.0045
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.0036 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /blackfalcondata/google-maps-no-website-leads-scraper for me.

Input

FieldTypeDescription
searchTermsarrayWhat to search for, e.g. "plumber", "roofer", "dentist". Add several to scan multiple categories in one run.
locationstringCity, area, or region to search within, e.g. "Austin, TX" or "Manchester, UK".
searchRadiusKmintegerHow far from the location centre to include results. Results outside the radius are dropped. default 25
searchRadiusMilesintegerOptional alternative to km. Used only when the km radius is left empty.
maxResultsintegerMaximum number of businesses to return. default 100
glstring (us | gb | ca | au | ie | nz)Country to bias the search and geocoding toward. default "us"
hlstringResult language (2-letter code, e.g. "en"). default "en"
minRatingintegerOnly keep businesses with at least this star rating (0–5). Leave empty for no minimum.
minReviewsintegerOnly keep businesses with at least this many reviews.
categorystringKeep only businesses whose Google category contains this text (case-insensitive).
requirePhonebooleanKeep only businesses that list a phone number (recommended for outreach). default false
telegramTokenstringTelegram bot token (from @BotFather). Required for Telegram notifications.
telegramChatIdstringTelegram chat or channel ID. Required when a Telegram token is set.
discordWebhookUrlstringDiscord incoming webhook URL.
slackWebhookUrlstringSlack incoming webhook URL.
whatsappAccessTokenstringWhatsApp Cloud API access token. The recipient must have messaged your business number within the last 24h.
whatsappPhoneNumberIdstringYour WhatsApp Business phone-number ID. Required when a WhatsApp token is set.
whatsappTostringRecipient phone in E.164 format without + (e.g. "15125550100").
webhookUrlstringReceives a JSON POST with the run's leads after the run finishes (n8n / Make / Zapier / custom).
webhookHeadersobjectOptional JSON object of custom headers (e.g. {"Authorization":"Bearer ..."}).
notifyOnlyChangesbooleanOnly send notifications for businesses that are new or changed since the previous run. default false
appConnectorstringOptional. Pick a connected app under Settings → API & Integrations to receive your results (including contact details like phone and email where available). Notion is supported today (a run-summary page); other MCP connectors are best-effort as Apify expands its catalog.
mcpIssueTeamstringOnly when the connected app is an issue tracker: the team (name or ID) the summary issue is created under, if that app requires one.
notificationLimitintegerMaximum number of listings included in each notification message (1–20). default 5
excludeEmptyFieldsbooleanDrop null, empty-string, and empty-array fields from each record before output. Reduces payload size. default false
descriptionFormatstring (all | text | html | markdown)Choose which representation of the listing description to include. `all` keeps every variant; the others keep only the selected one. default "all"
startUrlsarrayOne or more direct search or listing detail URLs to process. When set, other search filters are ignored.
compactbooleanReturn only core fields. Reduces payload size for LLM pipelines and agent tools. default false
includeDetailsbooleanFetch the detail page for each listing to retrieve the full description text and contact information. Increases run time and cost. Leave off for a fast, low-cost run. default false
querystringListing search keywords. Enter a single term or a JSON array for multi-query runs.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/blackfalcondata/google-maps-no-website-leads-scraper","input":{"searchTerms":["plumber"],"location":"Austin, TX","maxResults":3,"excludeEmptyFields":false,"descriptionFormat":"all","includeDetails":false},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /blackfalcondata/google-maps-no-website-leads-scraper -i '{"searchTerms":["plumber"],"location":"Austin, TX","maxResults":3,"excludeEmptyFields":false,"descriptionFormat":"all","includeDetails":false}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/blackfalcondata/google-maps-no-website-leads-scraper", input: {"searchTerms":["plumber"],"location":"Austin, TX","maxResults":3,"excludeEmptyFields":false,"descriptionFormat":"all","includeDetails":false}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.