Yellow Pages Scraper USA — Business Leads avatar

Yellow Pages Scraper USA — Business Leads

Pricing

from $8.96 / 1,000 business listing extracteds

Go to Apify Store
Yellow Pages Scraper USA — Business Leads

Yellow Pages Scraper USA — Business Leads

Scrape YellowPages.com US business listings by keyword, city/ZIP, or direct URL. Extract business name, phone, website, address, rating, hours, years in business, BBB rating, and customer reviews for local lead generation.

Pricing

from $8.96 / 1,000 business listing extracteds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

8 days ago

Last modified

Security

Limited permissions

Share

Yellow Pages Scraper USA — Business Leads & Reviews

Yellow Pages Scraper USA (muhammadafzal/yellow-pages-us-scraper) extracts structured US business listings and customer reviews from yellowpages.com into JSON, CSV, or Excel at $4.00–$5.00 per 1,000 business records (plus $0.015068–$0.018836 per GB of Actor start memory). Search by keyword and US city/ZIP (searchTerms × locations), paste category or search URLs (startUrls), or extract individual /mip/ business profile pages with phone numbers, websites, emails, structured addresses, opening hours, ratings, BBB status, years in business, and optional customer reviews.

What does Yellow Pages Scraper USA extract?

Every business listing is normalized into a flat, schema-validated record containing 27 fields ready for CRM import, outbound sales enrichment, or local market analysis:

FieldTypeDescription
namestringOfficial business name on Yellow Pages
phonestring | nullPrimary US telephone number
emailstring | nullContact email address (when published on the profile page)
websitestring | nullExternal business website URL
addressobject{ street, city, state, postalCode, country: "US" }
addressFormattedstringSingle-line postal address ("50 Franklin St, Boston, MA, 02110")
coordinatesobject{ lat, lng } WGS84 geo coordinates
categoriesstring[]All assigned Yellow Pages business categories
primaryCategorystring | nullMain business category
servicesstring[]Services and specialties listed on the profile
paymentMethodsstring[]Accepted payment methods
hoursobject | nullOperating hours keyed by day or schedule
ratingnumber | nullAverage star rating (1.0–5.0)
reviewCountnumber | nullTotal customer review count
reviewsarray | nullArray of { author, rating, date, text } when includeReviews: true
socialLinksobject{ facebook, instagram, linkedin, twitter, youtube }
logostring | nullBusiness logo or thumbnail URL
photosstring[]Gallery image URLs
claimedbooleanWhether the owner has claimed the Yellow Pages listing
bbbAccreditedbooleanWhether a Better Business Bureau badge is present
yearsInBusinessnumber | nullYears in operation reported on Yellow Pages
descriptionstring | nullBusiness description or review snippet
taglinestring | nullPromotional callout or tagline
isAdbooleantrue for paid placements, false for organic listings
yellowPagesIdstringUnique numeric Yellow Pages listing ID (YPID)
profileUrlstringCanonical yellowpages.com/.../mip/... profile URL
sourceUrlstringSearch, category, or profile URL crawled
searchTermstringSearch keyword used ("plumber")
searchLocationstringSearch location used ("Boston, MA")
scrapedAtstringISO 8601 UTC extraction timestamp

Sample output record

{
"name": "Roto-Rooter Plumbing & Water Cleanup",
"phone": "(857) 810-7698",
"email": null,
"website": "https://www.rotorooter.com/boston/",
"address": {
"street": "50 Franklin St",
"city": "Boston",
"state": "MA",
"postalCode": "02110",
"country": "US"
},
"addressFormatted": "50 Franklin St, Boston, MA, 02110",
"coordinates": {
"lat": 42.35565,
"lng": -71.0586
},
"categories": [
"Plumbers",
"Plumbing-Drain & Sewer Cleaning",
"Water Heater Repair"
],
"primaryCategory": "Plumbers",
"services": [],
"paymentMethods": ["financing available"],
"hours": {
"mon-sun": "Open 24 Hours"
},
"rating": 4.42,
"reviewCount": 36,
"reviews": null,
"socialLinks": {
"facebook": null,
"instagram": null,
"linkedin": "https://www.linkedin.com/company/roto-rooter",
"twitter": "https://twitter.com/rotorooter",
"youtube": "https://www.youtube.com/user/rotorootertv"
},
"logo": "https://i1.ypcdn.com/blob/94850e1522feb07bd424a37f4165194fe5f8b345_400x260_crop.jpg",
"photos": [],
"claimed": false,
"bbbAccredited": false,
"yearsInBusiness": 91,
"description": "When you need an emergency plumber near me in Boston or a drain cleaner, call Roto-Rooter Plumbing & Water Cleanup.",
"tagline": null,
"isAd": false,
"yellowPagesId": "451044375",
"profileUrl": "https://www.yellowpages.com/boston-ma/mip/roto-rooter-plumbing-water-cleanup-451044375",
"sourceUrl": "https://www.yellowpages.com/search?search_terms=plumber&geo_location_terms=Boston%2C+MA",
"searchLocation": "Boston, MA",
"searchTerm": "plumber",
"scrapedAt": "2026-10-27T06:00:00.000Z"
}

How to scrape Yellow Pages US business listings

Input parameters

ParameterTypeDefault / PrefillDescription
searchTermsstring[]Prefill: ["plumber"]Keywords or categories to search ("plumber", "dentist", "roofing"). Cross-joined with locations.
locationsstring[]Prefill: ["Boston, MA"]US cities ("City, ST") or 5-digit ZIP codes ("90210"). Cross-joined with searchTerms.
startUrlsarray[]Direct yellowpages.com search URLs, city-category URLs (/boston-ma/plumbers), or business profile URLs (/mip/...).
sortBystring"default"Sort order: "default" (relevance), "distance", "name", or "rating".
includeReviewsbooleanfalseVisit each business's /mip/ profile page to extract customer reviews and extended profile fields.
maxReviewsPerBusinessinteger10Maximum customer reviews per business when includeReviews: true (0 = up to 2,000).
maxResultsintegerDefault 20 / Prefill 3Maximum total business records across the run (0 = up to 10,000).
maxPagesPerSearchintegerDefault 3 / Prefill 1Maximum search result pages per query or URL (1–50, ~30 organic businesses per page).

Call from Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("muhammadafzal/yellow-pages-us-scraper").call(
run_input={
"searchTerms": ["plumber", "electrician"],
"locations": ["Boston, MA", "Austin, TX"],
"sortBy": "rating",
"includeReviews": False,
"maxResults": 60,
"maxPagesPerSearch": 2,
}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item["name"], item["phone"], item["website"], item["rating"])

Call from JavaScript / TypeScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/yellow-pages-us-scraper').call({
searchTerms: ['dentist'],
locations: ['Austin, TX'],
maxResults: 30,
includeReviews: true,
maxReviewsPerBusiness: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Use it from an AI assistant (MCP)

Connect this Actor directly to Claude Desktop, Cursor, Windsurf, or any Model Context Protocol (MCP) client using the Apify MCP endpoint:

  • MCP Server URL: https://mcp.apify.com/?tools=muhammadafzal/yellow-pages-us-scraper
  • Pass Authorization: Bearer <APIFY_TOKEN> in your MCP client headers to let AI assistants search US Yellow Pages listings, filter by rating or location, and enrich business profiles on demand.

When to use Yellow Pages Scraper USA (and when not to)

  • Use this Actor when you need structured US business directory data from yellowpages.com—including phone numbers, external websites, street addresses, categories, years in business, BBB badges, claimed status, and customer reviews—by keyword, city/ZIP, or direct URL.
  • Do not use this Actor when you need non-US Yellow Pages directories: use yellow-pages-ca-scraper for Canada (yellowpages.ca) or yellow-pages-au-scraper for Australia (yellowpages.com.au).

Pricing

This Actor uses all-in Pay Per Event (PPE) pricing (isPPEPlatformUsagePaidByUser: false). Platform compute and network usage are included in the event prices below with no separate platform-usage pass-through charge. Every plan, including the free plan, can extract up to 10,000 results per run.

EventFreeBronzeSilverGold / Platinum / DiamondDescription
result$0.005001$0.004875$0.004750$0.004000Charged once per validated US business record written to the default dataset.
apify-actor-start$0.018836$0.018365$0.017894$0.015068Charged once at Actor startup per GB of allocated memory (default 256 MB = 1 event).

Scheduled change: from 2026-11-04 the result event price becomes $0.0112 (Free), $0.01092 (Bronze), $0.01064 (Silver) and $0.00896 (Gold / Platinum / Diamond); the start event is unchanged. The examples below use the current prices.

If includeReviews: true and a business profile page cannot be loaded, the list-level record is still saved but is not charged; OUTPUT.degradedUncharged counts these records.

Representative total run cost examples

  • Sample / health-check run (3 business records at 256 MB):
    • Free tier: $0.018836 + (3 × $0.005001) = $0.033839
    • Gold tier: $0.015068 + (3 × $0.004000) = $0.027068
  • 100 business leads (100 records at 256 MB):
    • Bronze tier: $0.018365 + (100 × $0.004875) = $0.505865
    • Gold tier: $0.015068 + (100 × $0.004000) = $0.415068
  • 1,000 business leads (1,000 records at 256 MB):
    • Bronze tier: $0.018365 + (1,000 × $0.004875) = $4.893365
    • Gold tier: $0.015068 + (1,000 × $0.004000) = $4.015068

Frequently asked questions (FAQ)

How fast is Yellow Pages Scraper USA?

Search and category runs with includeReviews: false extract up to 30 complete business records per page directly from Yellow Pages search results in 3–10 seconds, without needing to load 30 separate detail pages.

When should I enable includeReviews?

Enable includeReviews: true only when you need individual customer review texts (reviews[]) or profile-only fields such as email, paymentMethods, services, and socialLinks; keeping it false is significantly faster because all core lead fields (name, phone, website, address, categories, rating, reviewCount, yearsInBusiness, claimed, bbbAccredited) are extracted directly from the search page.

Can I scrape startUrls without running keyword searches?

Yes—leave searchTerms and locations empty when calling the API with startUrls, and the Actor will crawl only the URLs you provide.

How does deduplication work across multiple searches or pages?

Every listing is deduplicated by its canonical yellowPagesId and profileUrl before being written to the dataset or charged, so overlapping searches never produce duplicate records or double charges.

What happens if a search query returns zero businesses?

The Actor detects Yellow Pages empty-result pages, charges $0 for result events, and writes a structured OUTPUT summary (status: "empty", deliveredCount: 0) to the default key-value store. If every page is blocked or the input is invalid, the run ends with a FAILED status, OUTPUT.status of blocked or invalid_input, and no result charges. OUTPUT.stopReason records why the run stopped (completed, result_limit, charge_limit, time_limit or aborted).

Is there a free-plan result limit?

No. Free-plan runs have the same limit as paid plans: up to 10,000 business results per run.


Last verified: 2026-10-27