Local Business Leads — Emails, Phones & Website Status avatar

Local Business Leads — Emails, Phones & Website Status

Pricing

from $5.00 / 1,000 business leads

Go to Apify Store
Local Business Leads — Emails, Phones & Website Status

Local Business Leads — Emails, Phones & Website Status

Query local businesses by country, city and industry, keep only those with a contact email, and see which have no website at all. No scraping, no rate limit — the index ships inside the Actor image. Image is maintained Daily

Pricing

from $5.00 / 1,000 business leads

Rating

0.0

(0)

Developer

Team Kamkod

Team Kamkod

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Local Business Leads — No Website & Dead Site Filter

Query an exhaustive local-business index. No scraping, no API key, no rate limit.

This Actor answers the one question every Google Maps based lead scraper cannot: "give me every business in this area, this industry, that has no real website or a dead one" — not the first 120 results a Maps query happens to return.

The index is built from the open Overture Maps places dataset (release 2026-09-23.0) and ships inside the Actor image, so every run is answered locally with DuckDB. Nothing is fetched at run time unless you ask for website verification.

What you get

  • 30.4 million businesses that have a contact email
  • Country, city, region and industry keyword filters
  • Web presence filter — no real website (none, social page, free builder, dead site) / any
  • Optional live website check: alive · dead · free page · undetermined
  • Phone numbers, all known emails, social profiles, operating status
  • A hard limit cap and a max_verifications cap so the cost of a run is predictable

Two levels: the source field, then the live check

Level 1 — no network call. A business whose "website" is a Facebook page, an Instagram profile, a Linktree, a wixsite.com / wordpress.com / blogspot subdomain, a booking page or a directory profile — or that has none at all — counts as having no real website. On the current index that is 10.6 million businesses, decided instantly, before any outbound request.

Level 2 — verify_sites. Remaining domains are fetched from Apify infrastructure and classified:

site_stateMeaning
aliveAnswers and serves real content
deadDNS lookup fails, 404/410, connection refused, or a parked-domain page
free_pageRedirects to a social page, a free builder subdomain or a directory
undeterminedHTTP 403/429/5xx or timeout — a WAF blocking a datacenter IP is never reported as a dead site

Measured on 300 random US/CA/GB businesses that the source declared as having a website: 66 % alive, 20.7 % dead, 1 % free builder, 12.3 % undetermined. Checking runs at 13 domains per second, costs about $0.01 per 1 000 websites, and 400 domains take ~30 seconds.

Typical use cases

Find businesses that need a website (web agencies, SEO, hosting, site rebuilds) — filter web_presence = No real website on any city and industry, and get the whole segment in one run instead of a sample.

Find businesses with a broken site — verify_sites = true plus site_state = dead: these already had a website and let it die, which is the warmest list a web agency can call.

Build a callable B2B list — phone_required = true plus an industry keyword.

Feed a CRM or an AI agent — flat JSON, one row per business, ready for HubSpot/Pipedrive/Sheets or for an agent through Apify's MCP server.

Input

  • country — ISO-2 country code (US, CA, BR, ZA…), optional
  • city — partial, case-insensitive city match (Tampa, Mississauga)
  • region — partial region/state match (FL, Ontario)
  • category — partial industry keyword (roofing, plumb, dentist, real_estate)
  • web_presence — any · no_real_website · no_website · has_website
  • verify_sites — fetch the remaining domains and classify each one (charged per verified lead)
  • site_state — keep only no_real_website · dead · free_page · alive · undetermined
  • max_verifications — hard cap on outbound checks (default 1 000, max 20 000)
  • phone_required — keep only businesses with a phone number
  • limit — max rows returned (default 100, max 200 000)
  • offset — page through a large segment

Output (one row per business)

{
"name": "SUNRISE ROOFING LLC",
"category": "roofing_service",
"category_bucket": "roofing",
"postal_code": "33607", "city": "Tampa", "region": "FL", "country": "US",
"email": "office@sunriseroofing.example",
"emails": ["office@sunriseroofing.example"],
"phone": "+1 813 555 0134",
"phones": ["+1 813 555 0134"],
"website": "https://www.instagram.com/sunriseroofing",
"website_missing": false,
"site_state": "free_page",
"site_verified": false,
"social_profiles": [],
"operating_status": null,
"source_release": "2026-09-23.0"
}

Use it from an AI agent (MCP)

https://mcp.apify.com?tools=teamkamkod/local-business-leads

Set it on a schedule

Run it weekly on a rotating territory, or monthly after each dataset release, and keep a rolling feed of businesses that just became contactable in your segment.

Good to know

  • Coverage is not uniform. Email coverage per business is roughly 35 % in the US, 40-46 % in Canada / Mexico / Brazil, above 50 % in South Africa and Colombia. The index only contains businesses that have an email.
  • operating_status is mostly empty in the source (≈22 % of records). It is exposed as information, never used as a default filter; null means "the source says nothing".
  • Emails are delivered as the source publishes them. This Actor does not claim to verify deliverability.
  • Emails and phone numbers are personal data in many jurisdictions — it is your responsibility to have a lawful basis for the outreach you run.