Lead generation
Yellow Pages Business Directory Scraper
One structured feed of Yellow Pages US business listings — searched by keyword and city — with name, phone, address, categories, rating, review count, and website per row, from an Actor that handles Cloudflare instead of tripping on it.
Free Apify credit covers a first run. No credit card to try.
What this Actor scrapes
yellowpages.com carries US business listings spanning name, phone, address, categories, ratings, and websites for local-service and retail businesses across every US city. This Actor searches its public results pages by keyword and city, writing one structured row per listing — no login, no scraping the individual business detail pages, just the search-results feed, paginated to your maxResults cap.
Give it a searchTerm (category or free-text keyword) and a location ("City, ST") and it pages through results until it hits your maxResults cap, the site's own listing total, or the last page — whichever comes first.
What we handle for you
- 🛡️ We rotate browser fingerprints (curl-cffi impersonation — Chrome / Firefox / Safari) so the target sees real-browser traffic, not Python.
- 🔁 We retry with exponential backoff on
408 / 429 / 5xxand honourRetry-After— up to 5 attempts per page. - 🌐 We rotate proxy sessions on every block — fresh session, fresh exit IP, before the next attempt.
- 🧱 We back off when the target rate-limits. Partial successes surface clearly; we never silently return an empty dataset.
- 🧊 We keep the dataset clean — Pydantic-validated rows, ISO-8601 timestamps, stable field shapes.
- 💰 You pay only for results that land. No data → no charge (only the small
actor-startwarm-up fee).
Use cases
- Lead-gen list building — pull every plumber, roofer, or dentist in a target city into a call/email list ready for outreach.
- Local-market research — compare business density and category mix across cities before opening a new location or launching an ad campaign.
- Sales prospecting tools — ingest directory data as a feed for a broader prospecting or CRM-enrichment pipeline.
- Competitive scans — see how many competitors of a given category operate in a city, and how they compare on ratings and review counts.
Input
Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.
| Field | Type | Required | What it does |
|---|---|---|---|
searchTerm | string | yes | Category or free-text keyword to search, e.g. "plumbers" or "italian restaurants". Passed as yellowpages.com's search_terms parameter. |
location | string | yes | US city + state to search, in "City, ST" shape, e.g. "Austin, TX". Passed as yellowpages.com's geo_location_terms parameter. Not geocoded — must contain a comma. |
maxResults | integer | no | Cap on total rows emitted for the run. Default covers 10 pages (30 rows/page); the run stops earlier if the site's own listing total or the last page is reached first. |
{
"searchTerm": "plumbers",
"location": "Austin, TX",
"maxResults": 300,
"proxyConfiguration": {
"useApifyProxy": true
}
} Output
One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.
business_namephonestreet_addresscitystatezip_codecategorieswebsiteratingreview_countlisting_urlsearch_termlocation_queryscraped_at
{
"business_name": "ARS / Rescue Rooter",
"phone": "(512) 837-9500",
"street_address": "1500 W Anderson Ln",
"city": "Austin",
"state": "TX",
"zip_code": "78757",
"categories": [
"Plumbers",
"Air Conditioning Contractors & Systems",
"Heating Contractors & Specialties"
],
"website": "https://www.ars.com/austin",
"rating": 4.5,
"review_count": 128,
"listing_url": "https://www.yellowpages.com/austin-tx/mip/ars-rescue-rooter-473194899",
"search_term": "plumbers",
"location_query": "Austin, TX",
"scraped_at": "2026-07-30T12:00:00Z"
} Pricing
| Event | Price | When |
|---|---|---|
| Actor start | $0.20 | Once per run, covers warm-up and proxy session setup. |
| Result emitted | $0.0012 | Per result written to the dataset. |
You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.
FAQ
Does this scrape individual business detail pages?
Is the website field the business's own domain?
Do I need a Yellow Pages account?
What happens if a run gets blocked mid-way?
Ready to run it?
Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.
Related Actors