YellowPages Chain Locations Scraper
Pricing
from $2.00 / 1,000 dataset items
YellowPages Chain Locations Scraper
Build a store locator dataset for any US retail brand. Enter a name like Starbucks or AutoZone and get every YellowPages location with address, phone, GPS, categories, hours and ratings as structured JSON — ideal for site selection and competitor mapping. Pay only for the results you get.
Pricing
from $2.00 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Get every US location of any retail brand — from a brand name alone.
Type Starbucks, AutoZone or Walgreens and this Actor returns a complete store-locator dataset: address, phone, GPS coordinates, categories, ratings and opening hours for each location, as structured JSON.
No store-locator page to crawl, no chain IDs to look up, no per-city scripting. Enter a brand, get its footprint.
Who uses this
| You are | You use it to |
|---|---|
| Retail / location analyst | Map a brand's national footprint for site selection, trade-area and cannibalization analysis. |
| Investor / alt-data analyst | Track store counts per brand over time — schedule runs and diff the datasets to spot expansion or contraction. |
| Competitive intelligence team | Compare your locations against a rival's, metro by metro. |
| Franchise / B2B sales team | Reach every franchise location of a target brand with address and phone. |
| GIS / PropTech developer | A clean, mappable location dataset with GPS on every row. |
What you get — output fields
| Field | Type | Description |
|---|---|---|
brand | string | The brand you searched for. |
chainId | string | YellowPages chain identifier for that brand. |
ypid | string | Stable YellowPages ID for this specific location. |
listingId | string | Internal listing identifier. |
name | string | Location name as listed. |
phone | string | Formatted phone number for that location. |
address | object | street, city, state, zip as separate fields. |
addressFormatted | string | Full address on one line. |
latitude / longitude | number | GPS coordinates — ready for mapping and spatial analysis. |
primaryCategory | string | Main category heading. |
categories | array | All categories this location is listed under. |
rating | number | Average star rating (0–5). |
ratingCount | integer | Number of ratings. |
reviewCount | integer | Number of written reviews. |
isClaimed | boolean | Whether the location's listing is claimed. |
yearEstablished | string | Year established, where published. |
openNow / open24Hours | boolean | Current open state and 24-hour flag. |
hoursText | string | Opening hours as displayed text.¹ |
hours | object | Machine-readable hours, e.g. {"monday": "0530-2100"}.¹ |
email | string | Location email address.¹ |
website | string | Location website.¹ |
services / amenities / paymentMethods | array | Additional location attributes.¹ |
socialLinks | array | Social profile URLs. |
photos | array | Photo URLs. |
yellowPagesUrl | string | Public YellowPages profile URL for the location. |
anchorLocation | string | The sweep anchor city this location was found from. |
distanceFromAnchorMiles | number | Distance from that anchor. |
scrapedAt | string | UTC extraction timestamp (ISO 8601). |
¹ Requires Include full location details.
How it works
YellowPages returns chain locations relative to a geographic anchor, so this Actor sweeps a list of anchor cities at a wide radius and merges the results, removing duplicates by location ID. The default anchors cover the contiguous US; add or narrow them to target a specific region.
You can also skip brand resolution entirely and pass chainIds directly if you already know them.
High-value use cases
1. Map a competitor's national footprint. Run a rival brand, export the GPS columns, and plot every location to see which metros they dominate and which they have not entered.
2. Track store openings and closures.
Schedule a monthly run per brand and diff on ypid — new IDs are openings, missing IDs are likely closures. A simple alternative-data signal.
3. Site selection and white-space analysis. Combine two or three brands in one run and look for trade areas served by competitors but not by you.
4. Franchise outreach lists. Pull every location of a franchise brand with phone and address for territory-based B2B campaigns.
5. Build a store-locator dataset for your app. Get a clean, mappable location table for any brand without maintaining a scraper per retailer.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
brands | array | ["Starbucks"] | Brand names. Automatically resolved to chain IDs. |
chainIds | array | [] | Pass chain IDs directly and skip brand resolution. |
anchorLocations | array | Major US metros | Cities used to sweep the country. |
radiusMiles | integer | 500 | Search radius around each anchor. |
maxLocationsPerBrand | integer | 2000 | Cap per brand. |
maxItems | integer | 5000 | Total result cap for the run. |
includeDetails | boolean | false | Adds hours, email, website, services and payment methods per location. |
proxyConfiguration | object | off | Optional — not normally needed. |
Example input
{"brands": ["Starbucks", "AutoZone"],"anchorLocations": ["Seattle, WA", "Denver, CO", "Chicago, IL", "Atlanta, GA"],"radiusMiles": 500,"maxLocationsPerBrand": 1000,"includeDetails": false,"maxItems": 2000}
Example output
{"brand": "Starbucks","chainId": "100032","ypid": "459125427","listingId": "459125427","name": "Starbucks Coffee","phone": "(206) 467-2766","address": {"street": "2401 Utah Ave S","city": "Seattle","state": "WA","zip": "98134"},"addressFormatted": "2401 Utah Ave S, Seattle, WA 98134","latitude": 47.581757,"longitude": -122.33532,"primaryCategory": "Coffee & Espresso Restaurants","categories": ["Coffee & Espresso Restaurants", "Coffee & Tea", "Coffee Shops"],"rating": 4.5,"ratingCount": 2,"reviewCount": 2,"isClaimed": false,"yearEstablished": "1971","openNow": false,"yellowPagesUrl": "http://www.yellowpages.com/seattle-wa/mip/starbucks-coffee-459125427","anchorLocation": "Seattle, WA","distanceFromAnchorMiles": 1.7,"scrapedAt": "2026-09-18T08:16:56Z"}
Scheduling, webhooks and integrations
- Schedule a run per brand to build a time series of store counts.
- Webhooks notify your systems the moment a run completes.
- Export to JSON, CSV, Excel, XML or JSONL — or pull from the Dataset API.
- Integrations: Google Sheets, Zapier, Make, Slack, Airbyte, Amazon S3 and Google Drive.
$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=true"
Use it from an AI assistant (MCP)
This Actor is callable over the Model Context Protocol, so assistants such as Claude, ChatGPT or Cursor can run it as a tool.
{"mcpServers": {"apify": {"command": "npx","args": ["-y", "@apify/actors-mcp-server", "--actors", "axlymxp/yellowpages-chain-locations-scraper"],"env": { "APIFY_TOKEN": "<YOUR_APIFY_TOKEN>" }}}}
Then ask: "Get every AutoZone location in the western US with addresses and coordinates."
FAQ
Do I need to know the chain ID?
No. Enter the brand name and the Actor resolves it automatically. If you already have chain IDs, you can pass them directly via chainIds.
How complete is the coverage?
Coverage depends on your anchor cities and radius. The defaults sweep the contiguous US; add anchors (or increase maxLocationsPerBrand) for denser brands, or use a single anchor with a small radius to target one region.
Will I get duplicate locations? No. Anchor searches overlap by design, and every location is de-duplicated by its YellowPages ID before being written to the dataset.
What if a brand can't be found? The run logs a warning, skips that brand and continues with the rest — it does not fail.
How fresh is the data?
Every run fetches live data at request time, and each row carries a scrapedAt timestamp.
Can I run several brands at once?
Yes. Pass multiple names in brands; each row is tagged with its brand and chainId so results are easy to split.
Is scraping this data legal? The Actor collects only publicly available business location information — the same data any visitor can see without logging in. No accounts, private data or logins are involved. You remain responsible for using the output in line with applicable laws.
Can I get support? Yes — open an issue on the Actor's Issues tab.