Yellow Pages US Business Scraper — Phone, Email & Address
Pricing
from $5.00 / 1,000 business scrapeds
Yellow Pages US Business Scraper — Phone, Email & Address
Scrape US businesses from yellowpages.com by keyword and city, category URL or profile URL. Returns name, phone, address, website, categories, rating and years in business, with optional email and hours enrichment.
Pricing
from $5.00 / 1,000 business scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
What is Yellow Pages US Business Scraper — Phone, Email & Address?
Use this Apify Actor to scrape US business listings from yellowpages.com by keyword and city, by a Yellow Pages category URL, or by a business profile URL. Each record represents one business listing and can include name, phone, full address, street, city, state, zip, website, categories, rating, review count, years in business, and the source profile URL. With enrichDetails enabled, the Actor can also collect email addresses, business hours, and a description from the business detail page. The Actor is usable through Apify MCP and returns structured one-record-per-business output for lead generation, research, and downstream automation.
Best fit and connected workflows
This Actor is a good fit when you need local-business data from Yellow Pages in a structured dataset that can be used directly in spreadsheets, CRMs, enrichment pipelines, or AI-agent workflows.
Common routing patterns:
- Keyword plus city searches for local prospecting, such as a trade, service, or business type in a target area.
- Direct Yellow Pages search URLs when you already have a filtered results page.
- Direct business profile URLs when you want to process specific listings.
- Follow-up enrichment workflows when you want profile-level fields like email or hours in addition to listing fields.
focused workflow
This Actor is designed as a focused workflow.
Practical scenario
A sales operations specialist needs a list of plumbers in Los Angeles for outbound prospecting. They start with searchTerms set to plumber and location set to Los Angeles, CA. The Actor returns records with name, phone, fullAddress, website, categories, rating, reviewCount, yearsInBusiness, and profileUrl. The specialist uses phone and website to prioritize outreach, then filters by rating and reviewCount before assigning leads to a rep.
Input
| Field | Type | Description |
|---|---|---|
searchTerms | string | Business type or name to search, such as plumber, pizza, or auto repair. Combine with location for suitable results. |
location | string | City, state, or ZIP code to narrow the search. Leave blank to search nationwide. |
startUrls | array of strings | Direct yellowpages.com search URLs or business profile URLs. These override searchTerms and location when provided. |
maxResults | integer | Maximum number of business listings to return. |
maxPagesPerSearch | integer | Maximum number of search result pages to paginate through. |
enrichDetails | boolean | Visits each business profile page to extract email addresses, business hours, and description. |
proxyConfiguration | object | Proxy settings. Yellow Pages fits the workflow with residential proxies. The Actor includes a residential proxy fallback residential fallback for reliability. |
Focused JSON example
{"searchTerms": "dentist","location": "Chicago, IL","maxResults": 25,"maxPagesPerSearch": 3,"enrichDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
The dataset view is organized around one record per business listing.
| Field | Type | Description |
|---|---|---|
name | string | Business name. |
phone | string | Primary phone number. |
fullAddress | string | Full mailing or street address as parsed from the listing. |
street | string | Street portion of the address. |
city | string | City. |
state | string | State. |
zip | string | ZIP code. |
website | string | Website URL when listed. |
email | string | Email address when found through detail-page enrichment. |
categories | array | Categories shown on the listing. |
rating | number | Star rating when present. |
reviewCount | number | Review count when present. |
yearsInBusiness | string | Years in business when shown by Yellow Pages. |
profileUrl | string | Yellow Pages business profile URL. |
searchTerms | string | Search term used for the record. |
location | string | Location used for the record. |
pageNum | number | Search results page number. |
scrapedAt | string | ISO timestamp for when the record was collected. |
Illustrative JSON record
{"name": "Example Plumbing Co.","phone": "(312) 555-0148","fullAddress": "123 Main St, Chicago, IL 60601","street": "123 Main St","city": "Chicago","state": "IL","zip": "60601","website": "https://exampleplumbing.com","email": "info@exampleplumbing.com","categories": ["Plumbers", "Water Heaters"],"rating": 4.5,"reviewCount": 128,"yearsInBusiness": "15","profileUrl": "https://www.yellowpages.com/chicago-il/mip/example-plumbing-co-123456789","searchTerms": "plumber","location": "Chicago, IL","pageNum": 1,"scrapedAt": "2026-01-01T12:00:00.000Z"}
How it works
This Actor uses Firefox-rendered pages to collect Yellow Pages US business listings from yellowpages.com. According to the live contract, it is built on the js-playwright-firefox template and uses residential proxy support with a residential proxy fallback residential fallback. The manifest also states that Cloudflare protection is handled with a Firefox-based bypass approach.
The Actor accepts either search inputs or direct Yellow Pages URLs:
- keyword and location searches,
- Yellow Pages search URLs,
- category URLs,
- business profile URLs.
It writes business rows to the Apify dataset and supports optional detail-page enrichment for email, hours, and description. The dataset view exposes the key business fields for review and export.
Pricing
This Actor uses Pay per event pricing, plus Apify platform usage.
The live charged events are:
- Actor start
- Business scraped
The business-scraped event is charged once per returned business listing. For example, a run that returns one hundred businesses triggers one hundred business-scraped events, plus the actor-start event. For current billing details and any platform usage charges, see the live Pricing tab in the Apify Console.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. The tool turns a Yellow Pages search or profile URL into structured business records that an agent can read from the dataset output.
Actor identity: khadinakbar/yellow-pages-us-scraper
Tool description:
- Input: keyword plus location, or direct Yellow Pages URLs.
- Output: one dataset row per business listing, with optional enrichment fields when enabled.
- Provenance: records come from yellowpages.com and retain the source profile URL.
- Scope: US business listings from Yellow Pages.
- Pagination: controlled by
maxPagesPerSearch. - Cost guidance: each returned business is charged as a business-scraped event; use
maxResultsto bound volume.
Find plumbers in Austin, TX on Yellow Pages. Return the dataset rows and highlight each business's name, phone, address, website, categories, rating, review count, years in business, and profile URL. If detail enrichment is available, include email and hours too.
When using the output in an agent workflow, treat profileUrl as the source reference for follow-up actions and use pageNum and scrapedAt to understand where each record came from in the run.
API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const actor = client.actor('khadinakbar/yellow-pages-us-scraper');const run = await actor.call({searchTerms: 'electrician',location: 'Phoenix, AZ',maxResults: 10,maxPagesPerSearch: 2,enrichDetails: false,});const datasetId = run.defaultDatasetId;const { items } = await client.dataset(datasetId).listItems({ clean: true });console.log(items);
Best results and outcome guidance
Use a specific trade or business name together with a city, state, or ZIP code when you want a focused result set. Use startUrls when you already have a Yellow Pages search page, category page, or profile page. Increase maxPagesPerSearch when you want broader coverage across result pages. Turn on enrichDetails when email addresses, hours, and descriptions matter for your workflow. If you are planning a larger run, set maxResults deliberately so the returned dataset size matches your downstream process.
Continue the workflow
- Then use Yellow Pages UAE Scraper to extend Yellow Pages US Business Scraper — Phone, Email & Address research with a complementary content contract.
- Then use 📧 B2B Lead Finder – Verified Emails, Phone & Google Maps Data to extend Yellow Pages US Business Scraper — Phone, Email & Address with a neighboring local-business research source when the brief calls for B2b data.
Design note
I found that the live dataset view exposes name, phone, fullAddress, street, city, state, zip, website, email, categories, rating, reviewCount, yearsInBusiness, profileUrl, searchTerms, location, pageNum, and scrapedAt, which makes the output suitable for both display and export.
FAQ
Can I use keyword plus city searches?
Yes. The Actor accepts searchTerms and location for standard Yellow Pages business searches.
Can I use a Yellow Pages category or business profile URL?
Yes. startUrls accepts direct Yellow Pages search URLs and business profile URLs, and those inputs override keyword search fields.
Does the Actor support email and hours?
Yes, when enrichDetails is enabled. Those fields are collected from business detail pages on a suitable-effort basis.
What does each dataset row represent?
Each row represents one Yellow Pages business listing.
How do I control run size?
Use maxResults for the total number of returned listings and maxPagesPerSearch for the number of results pages to scan.
Responsible use
Use this Actor in compliance with applicable laws and Yellow Pages terms. It is designed for publicly available US business information from yellowpages.com. Review your own data-handling, outreach, and privacy obligations before using scraped records in production workflows.