Yelp Reviews Scraper
Pricing
$0.30 / 1,000 reviews
Yelp Reviews Scraper
Easily extract Yelp business reviews at scale. This Yelp Reviews Scraper collects ratings, review text, reviewer details, timestamps, photos, and business info. Export data in JSON, CSV, Excel, or via API.
Pricing
$0.30 / 1,000 reviews
Rating
5.0
(1)
Developer
Billy
Maintained by CommunityActor stats
10
Bookmarked
324
Total users
82
Monthly active users
6.9 hours
Issues response
6 days ago
Last modified
Categories
Share
Extract structured reviews from any Yelp business, in any country, at scale. Feed it business URLs, business IDs, or whole search result pages, and the actor returns clean JSON ready for analysis.
Why use it
- One actor, three input types: paste business URLs, paste business IDs, or hand it a Yelp search URL and let it expand.
- Works on every regional Yelp domain, from
yelp.comtoyelp.com.trtoja.yelp.co.jp. - Filter reviews by rating, language, or keyword, and translate them on the fly.
- Privacy switch nullifies all reviewer fields by default so you stay on the safe side of GDPR and CCPA.
What you get
Every row in the dataset is one review with the originating business already attached. No joins required.
Always present:
- Review identifiers, position, full text, rating, language, translated text, and review date.
- Reactions (Helpful, Thanks, Love this, Oh no), check-in count, prior-reviews-by-this-author count, payment and reservation flags, public owner reply, photos and videos.
- Business identifiers, alias, name, primary photo, root category list, overall rating, total reviews, rating distribution, and language counts.
Optional (include_personal_data):
- Reviewer display name, profile photo, friend count, review count, location, elite status. Disabled fields are returned as
null, never removed, so the schema stays the same.
Example input
{"biz_urls": ["https://www.yelp.com/biz/mcgrath-elmhurst-toyota-elmhurst-2"],"biz_ids": [],"search_urls": [],"search_location": "New York","domain": "www.yelp.com","reviews_limit": 40,"reviews_sort": "newest","reviews_language": "en","include_personal_data": false}
Example output
{"review_position": 1,"encid": "_GCdHSPxqgjGlJFHwea6sw","alias": "mcgrath-elmhurst-toyota-elmhurst-2","businessUrl": "https://www.yelp.com/biz/mcgrath-elmhurst-toyota-elmhurst-2","name": "McGrath Elmhurst Toyota","primaryPhoto": "https://s3-media0.fl.yelpcdn.com/bphoto/ZrLpn8ghBiTAJNXNyGunvg/60s.jpg","businessRating": 3,"reviewEncid": "yCNiHGzfWNtAPhBBl_ig0A","reviewUrl": "https://www.yelp.com/biz/mcgrath-elmhurst-toyota-elmhurst-2?hrid=yCNiHGzfWNtAPhBBl_ig0A","text": "Good experience overall. Would come here again for sure.... Asha is a good sales person.","language": "en","translatedText": null,"rating": 4,"reviewDate": "2026-02-20T10:47:10-06:00","userSpecifiedTimeOfExperience": null,"checkInCount": 0,"isFirstReviewer": false,"reviewOfTheDay": null,"expertRecognition": null,"hasPaidThroughYelp": false,"hasPurchasedDeal": false,"hasPlacedReservation": false,"reservationProvider": null,"publicReply": null,"author": {"name": null,"review_count": null,"friend_count": null,"photo_count": null,"profile_photo": null,"currentTruncatedEliteYear": null,"elite_years": [],"isEliteAllStar": null},"photos": [],"videos": [],"feedback": [{ "type": "HELPFUL", "count": 1, "displayText": "Helpful" },{ "type": "THANKS", "count": 0, "displayText": "Thanks" },{ "type": "LOVE_THIS", "count": 0, "displayText": "Love this" },{ "type": "OH_NO", "count": 0, "displayText": "Oh no" }],"totalReviews": 304,"ratingDetail": { "5_star": 127, "4_star": 26, "3_star": 5, "2_star": 17, "1_star": 129 },"reviewsCountByLanguage": [{ "language": "en", "count": 304 }],"scrapedAt": "2026-04-21T09:12:33Z"}
When include_personal_data is enabled, the same row's author object fills in:
"author": {"name": "Rajarshi R.","review_count": 6,"friend_count": 1,"photo_count": 0,"profile_photo": "https://s3-media0.fl.yelpcdn.com/photo/M8pxN3JLuXo9qA7yVWAU1A/180s.jpg","currentTruncatedEliteYear": null,"elite_years": [],"isEliteAllStar": false}
Use cases
- Brand and reputation monitoring for chains and franchises.
- Competitor benchmarking with rating distribution and review velocity.
- Sentiment analysis and topic modelling on long-form text.
- Local SEO audits, NAP consistency checks, and listing quality tracking.
- Lead lists for agencies, with filterable price tier, features, and location.
- Academic research on consumer feedback at city or category scale.
Privacy and personal information
Reviewer details (display name, photo, location, friend count, Yelp user ID, elite status) are personal data under GDPR (EU) and CCPA (California). The actor sets all of those fields to null by default. Set include_personal_data to true only when you have a documented lawful basis or explicit user consent. The output structure is identical either way, so downstream pipelines do not need to branch.
Your responsibility
You are the data controller for any data this actor returns. Make sure your use case complies with Yelp's Terms of Service, the data protection law in your jurisdiction, and the rights of the people whose reviews you collect. Do not republish personal information without consent. Do not use the data for spam, harassment, automated decision-making against individuals, or any unlawful purpose.
Tips
- Keep
reviews_limitaligned with what you actually need. The default sort is "recommended", which surfaces Yelp's own ranking first. - Use
reviews_keywords(up to 5) to fan out the same business across multiple text filters in a single run. - For broad discovery, drop a Yelp search results URL into
search_urlsand setsearch_limitto the number of result pages to expand. - Translate non-English reviews on the fly with
reviews_translate(e.g.en,fr,de).
Support
Found a bug, missing a field, or want a new filter? Open an issue on the actor's issues page or reach out via Apify support.