Yelp Business Scraper
Under maintenancePricing
from $1.25 / 1,000 results
Yelp Business Scraper
Under maintenanceCollect Yelp businesses by search term and location - rating, reviews, phone, address and coordinates.
Pricing
from $1.25 / 1,000 results
Rating
0.0
(0)
Developer
String
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Yelp Business Scraper — phone, address and coordinates
This Actor scrapes Yelp business listings by search term and location. Give it a term such as
coffee and a location such as Austin, TX, and the Yelp Business Scraper returns each business
with its formatted phone number, split street address and exact latitude/longitude alongside the
star rating and review count.
No Yelp account, login or cookies are used — this reads what a logged-out visitor sees. 10 businesses per Yelp search page, up to 240 per search term.
What it returns
| Field | Type | Notes |
|---|---|---|
businessId | string | Yelp's own business ID — stable across runs, use it to de-duplicate |
name | string | |
rating | number | Stars out of 5, e.g. 4.5 |
reviewCount | number | 1243, not "1.2k" |
categories | string[] | Yelp's own category labels, e.g. ["Coffee & Tea", "Bakeries"] |
priceRange | string | Yelp's price band as displayed, e.g. $$ |
phone | string | Formatted phone number, e.g. (512) 453-1533 |
address | string | Street lines joined, e.g. 1601 W 38th St, Ste 2 |
city, state, zipcode | string | Split, not one blob |
latitude, longitude | number | Exact coordinates, ready to map |
businessUrl | string | The business's own Yelp page |
searchTerm, sourceUrl, collectedAt | string | Provenance for every row |
Input
{ "searches": ["coffee", "plumber"], "location": "Austin, TX", "maxItems": 1000 }
| Field | Description |
|---|---|
searches | Search terms, e.g. "coffee". Required, 1–50. |
location | City, state or ZIP to search in. Default "Austin, TX". One location per run. |
maxItems | Cap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below. |
concurrency | Search pages fetched in parallel. Default 2, maximum 5. |
maxItems also decides how deep each term is paged: the budget is split evenly across the search
terms, in whole pages of 10, up to Yelp's own ceiling of 24 pages per search.
Use cases
- Local lead lists with a phone number and postal address on every row
- Mapping competitor density for a category across a city
- Building a directory or map layer from geocoded, categorised businesses
- Franchise and territory planning from rating and review-count distributions
- Tracking a market on a schedule and diffing on
businessId
Reliability
Businesses are hydrated through the same endpoint Yelp's own search page uses, which is what makes the formatted phone number and the structured address available at all — the rendered search HTML carries business text for the ad cards only, and would lose the ten organic listings underneath. Sponsored results are skipped, so paid placements do not fill the dataset.
Measured at 3.33 rows per request: one search-page request plus two hydration requests return ten
businesses. A search page that cannot be read is recorded in the run's SUMMARY under failures
rather than silently returning fewer rows, and a run where every page failed exits with an error.
There are no retries by design: the String Unblocker owns proxy rotation and anti-bot solver selection, so a retry loop here would only re-roll the same block.
Frequently asked questions
How do I export Yelp business data? Run the Yelp Business Scraper with one or more search terms and a location, then export the dataset as CSV, JSON or Excel. Every row carries the business name, rating, review count, categories, phone, address and coordinates.
How many Yelp businesses does it return per search? 10 per search page, and it pages up to Yelp's
own limit of 240 results per search term. Raise maxItems to page deeper; the budget is split evenly
across the terms you supply.
Does it page through results? Yes — up to 24 pages per search term. Yelp clamps a single search at 240 results however many pages are requested past it, so 240 per term is the ceiling.
Do I need a Yelp account, API key or cookies? No. The Yelp Business Scraper reads public Yelp search results as a logged-out visitor and never signs in.
Can I search several cities in one run? Not in one run — location is a single value applied to
every search term. Run the Actor once per city, or schedule one run per market.
Does it return review text? No. The Yelp Business Scraper returns the business record — rating
and reviewCount are numbers, but individual review bodies are out of scope.
Limitations
Search results only: no business detail pages, no review text, no opening hours, no menus and no
photos. One location per run, and sponsored results are deliberately excluded. Yelp orders a search
by relevance rather than anything stable, so re-running can return a business under a different rank;
de-duplicate on businessId.
Free plan limit
Runs started from an Apify free plan stop at 250 requests and 250 results, and the run
reports that it reached the limit. Any paid plan runs the full input and maxItems you set.
The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.