Yellow Pages lost its consumer relevance a decade ago, and most marketing operators assume the data died with the print business. The opposite is true. YP.com still indexes roughly 17 million US business listings with phone numbers, categories, addresses, and verified websites. For certain verticals, it is the deepest free local B2B source on the internet, and the scraping stack required to extract it is trivially cheap.
This is how we use Yellow Pages alongside Google Maps to build complete local B2B lists, the categories where YP has the best coverage, and the free scraping stack we run.
Why Yellow Pages still beats modern directories on coverage
Yellow Pages inherited a 50-year dataset of local US businesses. The modern directory has been continuously updated, merged with legacy print entries, and enriched with phone and website data. Google Maps is fresher and more accurate on active businesses, but YP has more depth on legacy operators that never invested in online presence.
Verticals where Yellow Pages wins
- Trades and home service. Plumbers, electricians, HVAC, roofing, general contractors.
- Legal and professional services. Solo and small-practice lawyers, accountants, insurance brokers.
- Healthcare practitioners. Dentists, optometrists, chiropractors, physical therapists.
- Auto services. Repair shops, body shops, tire shops.
- Older retail. Independent storefronts that predate Google Maps adoption.
Verticals where Google Maps is better
Anything that serves a younger, more digital-native buyer. Fitness studios, boutique retail, DTC, restaurants opened in the last five years. For these, Google Maps has better freshness. For everything else, Yellow Pages has deeper coverage.
The scraping stack
Yellow Pages is almost trivially scrapable compared to Google Maps because YP.com does not throttle aggressively and the pagination is predictable.
Apify actor for most campaigns
Apify maintains a Yellow Pages scraper that handles pagination and exports directly to JSON or CSV. Cost runs about 1.50 dollars per 1,000 records, which is the cheapest B2B local data available.
Direct URL fetching for small lists
For a one-off pull of under 500 records, you can fetch YP search URLs directly with a Python requests script. The HTML is stable and parseable with a few CSS selectors.
Scale pulls require proxy rotation
Above 50,000 records per day, YP starts rate-limiting the IP. A basic rotating proxy (Bright Data, Smartproxy, IPRoyal) solves this. Cost adds up to about 5 dollars extra per 10,000 records.
Query structure for clean results
Yellow Pages search resolves on category plus location. The trick is matching the query format to the way YP indexes its categories.
Use YP category names, not freeform keywords
YP has a controlled category vocabulary. Search for "Plumbing Contractors" in Dallas rather than "plumbers in Dallas". The first returns the full indexed category. The second returns a mixed keyword search with lower relevance.
Break national pulls into states
YP does not return more than roughly 400 records per query. For a full national pull, run 50 state-level queries per category and aggregate. Total time for a national trades pull runs 20 to 40 minutes.
YP listings indexed (US)
~17M
Records per state query
100 to 400
Cost per 1K records (Apify)
~$1.50
Phone number coverage
> 95%
Turning the scrape into an outbound-ready list
Yellow Pages returns phone, address, and website. Email addresses come from the enrichment pass that follows.
Extract domain, enrich owner
For each record with a website, strip to the root domain and run it through Apollo or Prospeo to find the owner, manager, or primary contact. Local trades and legal records typically return a single contact because the business is owner-operated.
Use phone as the primary channel when email fails
Local trades have a higher rate of no-website or no-email records than other verticals. For those records, run cold phone calling as the primary channel and skip email. YP data remains valuable because the phone number is verified and current.
Respect the verticals where YP lags on freshness
A YP record has not been re-verified for an average of 18 months. A subset of records will be dead businesses, closed shops, or disconnected numbers. Expect a 10 to 15 percent dead-record rate, higher than Google Maps. Filter on records that have a current website and active domain, and the dead-record rate drops to under 5 percent.
Mistakes that waste Yellow Pages scrapes
- Keyword searches instead of categories. Use the YP controlled vocabulary.
- National queries. Always state-level or metro-level.
- Skipping the domain liveness check. Roughly 10 percent of YP records have dead domains. Verify before enriching.
- Sending email to records with no website listed. The email will bounce. Use phone as the primary channel.
- Running YP plus Google Maps without de-duplication. Overlap is 30 to 50 percent on active businesses. Always merge lists before enriching.
Yellow Pages plus Google Maps is the complete free local B2B stack. Running both, de-duplicating, and enriching gives you a list that covers active modern businesses (from Maps) and legacy operators with deep vertical depth (from YP). For any outbound operator selling to local B2B, this combination replaces paid local databases at one tenth the cost.