Find local businesses without a website (or on a dead/DIY site) on YellowPages — the hottest leads for web agencies. Each lead enriched: 0-100 lead score, website tech stack, real emails + MX check, owner name, phone E.164, mobile/SEO audit, outreach pitch. CSV for HubSpot/Pipedrive.
All notable changes to this Actor are documented here.
[3.5] — 2026-06-14
Fixed — automated quality test / "under maintenance"
A run that collected 0 businesses (when the data source is momentarily
busy) used to end as failed, which tripped Apify's automated quality test
and flagged the actor as Under maintenance. It now finishes successfully
with zero leads and a clear status message — no data is pushed, so you are
still not charged.
Added an overall wall-clock budget (~200 s) for the collect + enrich
phase so the run always completes well within Apify's 5-minute automated-test
window, pushing whatever leads were gathered. Large manual runs can narrow the
search (maxPages / maxResults) or be re-run for the rest.
A single release rolling up the day's collection-engine and performance work:
New primary collection engine + triple redundancy. Listings are now
collected through a fast rendering engine that handles anti-bot protection,
with two independent backup engines behind it (automatic fallback), so
runs keep succeeding even when one provider is temporarily down. An optional
free API key raises rate limits on very large runs.
Built-in rotating proxy (no key needed). Collection routes through
Apify's rotating datacenter proxy by default, so each request uses a fresh IP
and the free engine's per-IP rate limit never causes pauses. Optional custom
proxy field is also supported; toggle off for direct requests.
Overlapped pipeline. Businesses are enriched the moment each result page
arrives while later pages are still being collected, so large searches finish
noticeably faster (total time approaches the slower phase, not their sum).
Tuned for speed. Faster polling, smarter per-page time budgets, optimal
collection parallelism (~10), and bulk dataset writes (results saved in
large chunks instead of one row at a time) cut tens of seconds off big runs.
Default scan depth set to cover the full local market (~1,000+ leads on
large metros); lower "Max pages" for faster, cheaper runs.
[2.2] — 2026-06-10
Changed — far more leads per run (same $2/1K price)
Auto-scans the whole local market. The actor keeps pulling result pages
automatically until the directory runs out, instead of collecting a single
page. A typical search now returns hundreds to 1,000+ businesses in one
run — roughly a 50× increase in leads for the same price.
New maxPages control sets how deep auto-pagination goes; leave pages
at 0 for full auto, or set it to pin an exact page count.
Faster collection — higher default parallelism plus a fast enrichment
mode that kicks in automatically on large result sets.
Notes
Fully backwards-compatible: every existing field and toggle is unchanged.
If you previously passed pages, it still works exactly as before.
[2.1] — 2026-06-08
Fixed — reliability & polish
More reliable collection. Added automatic retries so a temporary hiccup
on the data source no longer ends the run empty — the actor keeps trying
within a time budget and recovers on its own.
Honest empty-run handling. If the source is briefly unavailable and
returns nothing, the run says so clearly and does not charge you.
Cleaner run log. Redesigned the console output into a clear summary
(totals, lead tiers, leads without a website, deliverable emails) instead of
noisy line-by-line logging.
Email-suggestion fix. Fixed a bug where email guesses were skipped for
some business domains (e.g. domains ending in "…bing.com" such as
plumbing.com). Plumbers and similar categories now get suggestions correctly.
[2.0] — 2026-06-07
Added — full lead-intelligence enrichment (same $2/1K price)
Every lead is now enriched into a sales-ready record instead of a raw
listing. All enrichment is included in the price and can be toggled off
individually.
Lead score 0-100 + tier (leadScore, leadTier, leadScoreReasons[]).
No website is the highest-value signal; dead and DIY-builder sites score high
too. Results are sorted hottest-first.
Real contact emails + deliverability score — emailsFromWebsite[],
plus a per-email 0-100 score so you know which inbox is safe to contact.
Adds emailDetails[], bestEmail, bestEmailConfidence, bestEmailStatus.
Owner / decision-maker name (ownerName) so outreach can open with a
real first name.
Real social profiles (socialProfiles{}) — the business's actual
FB / IG / LinkedIn / X / YouTube / TikTok links, with socialSearchUrls{}
search fallbacks.
Mobile-friendliness + SEO check (mobileFriendly, mobileSignals[],
seoAudit{}).
Personalised outreach pitch (outreachPitch) with 10 industry-specific
angles, tailored to no-website / dead-site / DIY-builder.
Smart contact lookup (crawlSubpages) — looks at common contact pages
when a homepage has no email.
Brand age (brandAgeYears), chain / franchise detection
(isChain, chainBrand) + excludeChains filter, and optional
geocoding (enrichGeocode → lat/lng).
Best-contact recommendation (bestContact{}).
Direct URL / domain mode (startUrls) — enrich your own list without a
directory search.
CSV export (exportFormat) with HubSpot / Pipedrive column names.
Cost control — minLeadScore and maxResults.
Changed
category + location are no longer strictly required — supply them, OR
startUrls, OR both.
Results are sorted by lead score (hottest first).
The per-run summary is not counted as a billable result.
Migration
Fully additive. All v1 fields are unchanged; new fields appear alongside.
Disable any new behaviour via the matching enrich* / crawlSubpages /
verifyEmails / extractOwnerName toggle.
[1.0] — 2026-05-11
Added
Initial release
Find local businesses by category + location
hasWebsite flag for "businesses without website" filtering