Yelp Reviews Deep Scraper - Ratings, Photos & Tips
Pricing
Pay per usage
Yelp Reviews Deep Scraper - Ratings, Photos & Tips
Extract Yelp reviews with full text, star ratings, reviewer profiles, photos, useful/funny/cool votes, tips, and owner responses. Search by URL or keyword with sorting and pagination. For reputation monitoring, sentiment analysis, and competitor research.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 minutes ago
Last modified
Categories
Share
Yelp Reviews Deep Scraper
Extract detailed reviews from any Yelp business page. Goes far beyond basic business listing scrapers — this actor focuses on deep review extraction with full text, star ratings, reviewer profiles, photos, votes, tips, and owner responses.
What it scrapes
Per Review
| Field | Description |
|---|---|
text | Full review text (no truncation) |
rating | Star rating (1-5) |
date | Review publication date (YYYY-MM-DD) |
reviewerName | Reviewer display name |
reviewerLocation | Reviewer's city/state |
reviewerUrl | Link to reviewer's Yelp profile |
reviewerFriends | Number of friends |
reviewerReviews | Total reviews by this reviewer |
reviewerPhotos | Total photos by this reviewer |
reviewerElite | Whether the reviewer has Elite status |
useful | "Useful" vote count |
funny | "Funny" vote count |
cool | "Cool" vote count |
photos | Array of photo URLs attached to the review |
ownerResponse | Business owner's reply text |
ownerResponseDate | Date of owner response |
previousReview | Previous version if the review was updated |
checkIn | Number of check-ins mentioned |
Per Business
| Field | Description |
|---|---|
businessName | Business name |
overallRating | Overall star rating |
totalReviews | Total number of reviews |
priceRange | Price level ($, $$, $$$, $$$$) |
categories | Business categories |
address | Full address |
phone | Phone number |
website | External website URL |
hours | Operating hours |
neighborhood | Neighborhood name |
latitude / longitude | GPS coordinates |
claimedStatus | Whether the business is claimed |
yearEstablished | Year the business was established |
photoCount | Total photos on the business page |
Tips
| Field | Description |
|---|---|
text | Tip text |
author | Who left the tip |
date | When the tip was posted |
likes | Number of likes on the tip |
Input options
Business URLs
Provide direct Yelp business page URLs for targeted review extraction:
{"businessUrls": ["https://www.yelp.com/biz/gary-danko-san-francisco","https://www.yelp.com/biz/tartine-bakery-san-francisco"],"maxReviews": 500}
Search-based discovery
Search for businesses by keyword and location, then scrape reviews from all results:
{"searchTerms": ["best pizza", "italian restaurants"],"location": "New York, NY","maxReviews": 200,"sortBy": "date_desc"}
Combined approach
Mix both methods — provide specific URLs plus search terms:
{"businessUrls": ["https://www.yelp.com/biz/gary-danko-san-francisco"],"searchTerms": ["fine dining"],"location": "San Francisco, CA","maxReviews": 1000,"sortBy": "relevance_desc"}
Sort options
| Value | Description |
|---|---|
relevance_desc | Most relevant (Yelp default) |
date_desc | Newest first |
date_asc | Oldest first |
rating_desc | Highest rated first |
rating_asc | Lowest rated first |
elites_desc | Elite reviewers first |
Use cases
- Reputation monitoring — Track what customers say about your business or competitors
- Sentiment analysis — Analyze review text and ratings for trends over time
- Competitor research — Compare review volumes, ratings, and common complaints
- Local SEO — Understand which businesses dominate local search and why
- Market research — Identify underserved niches based on review feedback
- Lead generation — Find businesses with poor reviews (potential clients for services)
- Academic research — Study consumer behavior and review patterns
Proxy recommendation
Yelp aggressively blocks automated access. For reliable results:
- Small runs (< 100 reviews): Datacenter proxies may work
- Medium runs (100-1,000 reviews): Residential proxies recommended
- Large runs (1,000+ reviews): Residential proxies required
Configure proxy in the input:
{"proxy": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output example
Review record
{"type": "review","businessName": "Gary Danko","businessUrl": "https://www.yelp.com/biz/gary-danko-san-francisco","businessRating": 4.5,"businessTotalReviews": 5287,"reviewId": "abc123xyz","text": "Absolutely phenomenal dining experience. The glazed oysters were divine and the lobster bisque was the best I've ever had. Service was impeccable — our waiter anticipated every need. The prix fixe menu is well worth it.","rating": 5,"date": "2024-10-15","reviewerName": "Sarah M.","reviewerLocation": "San Francisco, CA","reviewerUrl": "https://www.yelp.com/user_details?userid=xyz123","reviewerFriends": 245,"reviewerReviews": 89,"reviewerPhotos": 312,"reviewerElite": true,"useful": 12,"funny": 3,"cool": 8,"photos": ["https://s3-media0.fl.yelpcdn.com/bphoto/abc/o.jpg","https://s3-media0.fl.yelpcdn.com/bphoto/def/o.jpg"],"ownerResponse": "Thank you for the wonderful review, Sarah! We're thrilled you enjoyed the glazed oysters. Hope to see you again soon!","ownerResponseDate": "2024-10-17","previousReview": null,"checkIn": 3,"scrapedAt": "2026-03-02T12:00:00.000Z"}
Business record
{"type": "business","businessName": "Gary Danko","overallRating": 4.5,"totalReviews": 5287,"priceRange": "$$$$","categories": "French, American (New)","address": "800 N Point St, San Francisco, CA 94109","phone": "(415) 749-2060","website": "https://www.garydanko.com","hours": "Mon-Sun: 5:00 PM - 10:00 PM","neighborhood": "Fisherman's Wharf","latitude": 37.8059,"longitude": -122.4219,"claimedStatus": "Claimed","yearEstablished": 1999,"photoCount": 3421,"highlightedReviews": ["One of the best dining experiences in SF"],"scrapedAt": "2026-03-02T12:00:00.000Z"}
Pricing
This actor uses Pay Per Event pricing:
- $0.004 per review extracted
- $0.005 per business profile extracted
Example: Scraping 500 reviews from 5 businesses = (500 x $0.004) + (5 x $0.005) = $2.025
Technical details
- Engine: CheerioCrawler (fast, lightweight HTTP-based scraping)
- Extraction: Dual strategy — embedded JSON parsing + DOM selectors with multiple fallbacks
- Rate limiting: Built-in respectful throttling (15 requests/minute max)
- Deduplication: Reviews are deduplicated by ID and content hash
- Pagination: Automatic — crawls through all review pages until maxReviews reached
- Anti-bot: Rotates User-Agent strings and uses browser-like request headers
Limitations
- Yelp may filter or hide some reviews (Yelp's "recommended reviews" algorithm)
- Very old reviews may not be accessible through pagination
- CAPTCHA/blocks may interrupt large scraping runs without residential proxies
- Review text language depends on the reviewer (no auto-translation)
Support
Built by Sovereign AI. For issues, feature requests, or custom scraping needs, open an issue on the actor page.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/yelp-reviews-scraper").call(run_input={"searchTerm": "yelp reviews","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/yelp-reviews-scraper').call({searchTerm: 'yelp reviews',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));