Yellow Pages US Business Scraper — Phone, Email & Address avatar

Yellow Pages US Business Scraper — Phone, Email & Address

Pricing

from $5.00 / 1,000 business scrapeds

Go to Apify Store
Yellow Pages US Business Scraper — Phone, Email & Address

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

9 days ago

Last modified

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

FieldTypeDescription
searchTermsstringBusiness type or name to search, such as plumber, pizza, or auto repair. Combine with location for suitable results.
locationstringCity, state, or ZIP code to narrow the search. Leave blank to search nationwide.
startUrlsarray of stringsDirect yellowpages.com search URLs or business profile URLs. These override searchTerms and location when provided.
maxResultsintegerMaximum number of business listings to return.
maxPagesPerSearchintegerMaximum number of search result pages to paginate through.
enrichDetailsbooleanVisits each business profile page to extract email addresses, business hours, and description.
proxyConfigurationobjectProxy 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.

FieldTypeDescription
namestringBusiness name.
phonestringPrimary phone number.
fullAddressstringFull mailing or street address as parsed from the listing.
streetstringStreet portion of the address.
citystringCity.
statestringState.
zipstringZIP code.
websitestringWebsite URL when listed.
emailstringEmail address when found through detail-page enrichment.
categoriesarrayCategories shown on the listing.
ratingnumberStar rating when present.
reviewCountnumberReview count when present.
yearsInBusinessstringYears in business when shown by Yellow Pages.
profileUrlstringYellow Pages business profile URL.
searchTermsstringSearch term used for the record.
locationstringLocation used for the record.
pageNumnumberSearch results page number.
scrapedAtstringISO 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 maxResults to 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

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.