Yelp Reviews Scraper
Pricing
from $0.30 / 1,000 results
Yelp Reviews Scraper
Export Yelp reviews with star rating, full text, date, language, photos, reactions and reviewer name, location and review count. Paste Yelp links or aliases, scrape many businesses in one run, sort by newest or lowest and filter by star rating.
Pricing
from $0.30 / 1,000 results
Rating
0.0
(0)
Developer
Scrappa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export the Yelp reviews of any business as one clean row per review: star rating, full text, date and time, language, photos, the helpful, thanks, love this and oh no reactions, and the reviewer's name, location and review count. Paste Yelp links or aliases, add up to 100 businesses per run, sort by newest, oldest, highest, lowest or elite reviewers, and keep only one star rating if you want. Each row also carries the business name and alias, so you can compare businesses in one sheet.
What data can you extract?
| Field | Type | Description |
|---|---|---|
review_id | String | Yelp ID of the review. |
rating | Integer | Star rating from 1 to 5. |
text | String | Full review text. |
created_at | String | ISO 8601 date and time in UTC when the review was posted. |
language | String or null | Two-letter language code of the review, such as en. |
author_name | String | Public Yelp name of the reviewer, such as Dana R. |
author_location | String or null | Home town of the reviewer as shown on Yelp. |
author_review_count | Integer or null | Number of reviews the reviewer wrote on Yelp. |
author_friend_count | Integer or null | Number of Yelp friends of the reviewer. |
author_id | String | Yelp user ID of the reviewer. |
author_url | String | Yelp profile page of the reviewer. |
photos | Array<String> or null | Links to the photos the reviewer added. |
helpful_count | Integer or null | Number of Helpful reactions. Null when there are none. |
thanks_count | Integer or null | Number of Thanks reactions. Null when there are none. |
love_this_count | Integer or null | Number of Love this reactions. Null when there are none. |
oh_no_count | Integer or null | Number of Oh no reactions. Null when there are none. |
review_url | String | Link to the review on Yelp. |
business_alias | String | Yelp alias of the business. |
business_name | String | Name of the business. |
business_id | String | 22-character Yelp business ID. |
business_url | String | Yelp page of the business. |
business_review_count | Integer or null | Total number of Yelp reviews of the business. |
input_business | String | The link, alias or ID from your input. |
scraped_at | String | UTC date and time when this record was collected. |
Use cases
- Restaurant and shop owners can track new Yelp reviews of their own business and their competitors.
- Agencies can collect the 1 and 2 star reviews of a business to find what customers complain about.
- Analysts can measure customer sentiment across many branches of a chain.
- Data teams can build training sets for review summaries and sentiment models.
- Marketing teams can find authentic 5 star customer quotes for websites and ads.
How to use
- Add one entry per business to
businesses, with a Yelp link such ashttps://www.yelp.com/biz/pequods-pizza-chicago-3or an alias. - Optional: set
sorttonewestfor the latest reviews, andratingto a star rating from 1 to 5. - Set
maxResultsto the number of reviews you want for each business. - Start the run. Each review gives one dataset row with the business name and alias.
{"businesses": [{"business": "https://www.yelp.com/biz/pequods-pizza-chicago-3"}],"sort": "newest","maxResults": 20}
Input
| Field | Type | Required | Description |
|---|---|---|---|
businesses | Array<object> | Yes | Yelp businesses to scrape, one per entry. Paste the Yelp link, the alias or the business ID. Each entry can set its own sort order and star rating filter. |
businesses[].business | string | Yes per entry | Yelp business alias such as gary-danko-san-francisco, the 22-character business ID, or the yelp.com/biz link. The Actor reads the alias after /biz/ in the link. |
businesses[].sort | string | No | Order of the reviews. Leave empty for the Yelp default order (most relevant). |
businesses[].rating | integer | No | Only reviews with exactly this star rating, from 1 to 5. Leave empty for all ratings. |
sort | string | No | Order of the reviews. Leave empty for the Yelp default order (most relevant). |
rating | integer | No | Only reviews with exactly this star rating, from 1 to 5. Leave empty for all ratings. |
maxResults | integer | No | Maximum reviews to save for each business. Yelp returns 10 reviews per page. |
maxPages | integer | No | Maximum pages to request for each batch entry. |
Output example
{"review_id": "Hk3vQ8mZp1LcW7rT2yBn5A","rating": 5,"text": "The al pastor tacos are the best I have had in Austin. Tortillas are made right in front of you and the green salsa has real heat. We waited ten minutes on a Friday night, which was fine.","created_at": "2026-10-18T19:47:10Z","language": "en","author_name": "Dana R.","author_location": "Round Rock, TX","author_review_count": 87,"author_friend_count": 12,"author_id": "Rf2LxK9wQm4TzB7cN1pVhg","author_url": "https://www.yelp.com/user_details?userid=Rf2LxK9wQm4TzB7cN1pVhg","photos": ["https://s3-media0.fl.yelpcdn.com/bphoto/Tq8vYb2NcL5mWx1Rk7Ha3g/o.jpg"],"helpful_count": 3,"thanks_count": 1,"love_this_count": 2,"oh_no_count": 1,"review_url": "https://www.yelp.com/biz/la-cocina-roja-austin?hrid=Hk3vQ8mZp1LcW7rT2yBn5A","business_alias": "la-cocina-roja-austin","business_name": "La Cocina Roja","business_id": "q7Lm2Xc9RtYv4BnW8aKd1Q","business_url": "https://www.yelp.com/biz/la-cocina-roja-austin","business_review_count": 1284,"input_business": "https://www.yelp.com/biz/pequods-pizza-chicago-3","scraped_at": "2026-10-01T12:00:00Z"}
Pricing
$0.38 per 1,000 results. Apify saves one dataset item per result and applies the Actor’s per-result price to saved items.
Pagination follows the source response. Set maxPages per batch entry and maxResults for each entry.
FAQ
Is scraping this information legal?
Rules depend on the source, location, data type, and intended use. Check applicable laws and source terms, and make sure your workflow follows privacy and data protection requirements.
What limits apply?
Submit up to 100 batch entries per run. Use maxResults to cap saved items for each entry and maxPages to limit pages for each entry. Results also depend on source availability and your Scrappa API plan.
Can I start runs through the Apify API?
Yes. Send a POST request to https://api.apify.com/v2/acts/thescrappa~yelp-reviews-scraper/runs with your Actor input, or use an Apify client library. Read the output from the run dataset.
Can I connect the results to other tools?
Yes. Apify integrations and APIs can pass dataset results to Make, Zapier, n8n, Google Sheets, and other data workflows.
What happens when one input fails?
The Actor logs a short source error and continues with the remaining entries. Transient rate limits and gateway errors are retried; if every entry fails, the run reports an error.
How many reviews can I get for one business?
Up to 2,000 per business and run, 10 per page. Set maxResults to stop earlier. Yelp may show fewer reviews than the review count on the page, because it hides reviews that its software does not recommend.
How do I get only new reviews?
Set sort to newest and maxResults to a small number, such as 20. Run it on a schedule and keep the review_id to skip reviews you already have.
Why are the reaction counts or photos sometimes empty?
The fields are null when nobody reacted to the review or the reviewer added no photos.