Yelp Complete Business Scraper
Pricing
$19.00/month + usage
Yelp Complete Business Scraper
Scrape full Yelp business data: profiles, reviews, menus, popular dishes, analytics-ready.
Pricing
$19.00/month + usage
Rating
0.0
(0)
Developer

EndSpec
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Yelp Full Business Scraper
A comprehensive Apify Actor for extracting complete business profiles from Yelp. This actor provides structured access to business information, customer reviews, restaurant menus, popular dishes, and user profiles - everything you need for business intelligence and market research.
What Makes This Special:
- Yelp Business Data: Comprehensive restaurant and business information aggregated from Yelp
- Complete Profiles: Business details + reviews + menus + popular dishes in one go
- Analysis Ready: Structured JSON with consistent schemas for data science workflows
- Enterprise Features: Error handling, rate limiting, and pagination built-in
What You Get
Business Intelligence Data
Complete business profiles with:
- Core Business Info: Name, rating (0-5 scale), review count, price range ($, $$, $$$, $$$$)
- Location Data: Full address, city, state, ZIP, coordinates (latitude/longitude)
- Contact Info: Phone number, website URL, business hours
- Categorization: Business categories and subcategories
- Visual Assets: Primary photo, gallery images with captions
- Services & Amenities: Delivery, takeout, reservations, wheelchair access, WiFi, parking, etc.
- Health & Safety: Health inspection scores, COVID-19 measures
- Business Status: Claimed/unclaimed status, temporary closures
Customer Review Analytics
Comprehensive review data including:
- Review Content: Full text, star rating (1-5), publication date, language
- Author Profiles: User ID, name, location, elite status, total review count, friend count
- Social Engagement: Useful/funny/cool vote counts
- Business Responses: Owner/manager replies to reviews
- Photo Reviews: Images attached to reviews with captions
Restaurant-Specific Data
Menu intelligence for restaurants:
- Complete Menus: Item names, descriptions, prices by category (appetizers, entrees, desserts)
- Popular Dishes: Most-reviewed items with photo counts and review counts
- Menu Photos: Images of menu items when available
User Profile Networks
Reviewer insights extracted from reviews:
- User Demographics: Location, review history, elite status
- Social Graph: Friend counts, photo contributions
- Review Behavior: Patterns in rating distribution and review frequency
API Endpoints Used
GET /search- Business search by location and term (returns basic business info)GET /search/category- Business search by category (returns basic business info)GET /each- Detailed business information including services, amenities, hoursGET /reviews- Customer reviews with pagination, ratings, and user infoGET /get_menus- Restaurant menus with items, prices, and descriptions (when available)GET /popular_dish- Popular dishes with ratings and photos (when available)GET /biz_url2id- Convert business URL to business ID
Exact Data Output
All data is delivered as structured JSON objects in your Apify dataset. Here's exactly what you receive:
Business Records (type: "business")
{"businessId": "qjIN4UbE96Cq6JKwLIQ9VQ","type": "business","url": "https://www.yelp.com/biz/saloon-restaurant-philadelphia","title": "Saloon Restaurant","rating": 4.5,"reviewCount": 309,"priceRange": "$$$","categories": ["Italian", "Seafood"],"address": {"city": "Philadelphia","state": "PA","postalCode": "19147","addressLine1": "750 S 7th St","addressLine2": "","addressLine3": "","formatted": "750 S 7th St\nBella Vista\nPhiladelphia, PA 19147\nUSA"},"coordinates": [{"latitude": 39.9398664, "longitude": -75.1545609}],"primaryPhoto": "https://s3-media0.fl.yelpcdn.com/bphoto/RmNxGXx3gTljQPe5VMykvQ/o.jpg","phoneNumber": "+12156271811","website": "https://www.saloonrestaurant.net","hours": {"Mon": "5:00 PM - 9:30 PM","Tue": "5:00 PM - 9:30 PM","Wed": "5:00 PM - 9:30 PM","Thu": "5:00 PM - 9:30 PM","Fri": "5:00 PM - 9:30 PM","Sat": "5:00 PM - 9:30 PM"},"businessServices": {"Takes Reservations": true,"Offers Delivery": false,"Offers Takeout": true,"Accepts Credit Cards": true,"Wheelchair Accessible": true,"Good for Kids": false,"Good for Groups": true,"Wi-Fi": "Free","Has TV": false,"Dogs Allowed": false,"Alcohol": "Full Bar","Gender-neutral restrooms": false,"Health Score": "98 out of 100"},"images": [{"url": "https://s3-media0.fl.yelpcdn.com/bphoto/RmNxGXx3gTljQPe5VMykvQ/o.jpg","caption": ""}],"isClaimed": "Unclaimed","timestamp": "2026-01-17T10:40:03.456Z"}
Review Records (type: "review")
{"businessId": "qjIN4UbE96Cq6JKwLIQ9VQ","type": "review","reviewId": "lj4_5vrZUTAyHt0i2b_fcA","rating": 5,"message": "Jose was a awesome server! The food was amazing and the atmosphere was outstanding.\n\nWe were there for my Son's Birthday and Jose made him feel special\n\nThank you Jose","language": "en","publishedAt": "2025-12-28T16:45:08-05:00","userName": "Miriam M.","author": {"id": "HlEpLwRwfQWOBxRJPh4mZg","name": "Miriam M.","location": "San Diego, CA","photoUrls": {"mediaItemSrcUrl": "https://s3-media0.fl.yelpcdn.com/photo/Mj67RocWk9MTph3c2Siyzg/60s.jpg","userSrc": "https://s3-media0.fl.yelpcdn.com/photo/Mj67RocWk9MTph3c2Siyzg/60s.jpg"},"friendCount": 0,"reviewCount": 1,"businessPhotoCount": 0,"isElite": false},"feedback": {"usefulCount": 0,"funnyCount": 0,"coolCount": 0},"reactions": {"useful": 0,"funny": 0,"cool": 0},"ownerResponse": null,"scrapedAt": "2026-01-17T10:40:03.456Z"}
Menu Records (type: "menu")
{"type": "menu","businessId": "qjIN4UbE96Cq6JKwLIQ9VQ","data": {"searched_id": "qjIN4UbE96Cq6JKwLIQ9VQ","status": "success","menus": [{"Food Name": "Mediterranean Salad","Category": "Lunch","Details": "Mixed greens tossed with jumbo lump crab meat, shrimp, tuna...","Price": "$14.50","Photo": "https://s3-media0.fl.yelpcdn.com/assets/2/www/img/dca54f97fb84/default_avatars/menu_medium_square.png"}]},"timestamp": "2026-01-17T10:40:03.456Z"}
Popular Dishes Records (type: "popular_dishes")
{"type": "popular_dishes","businessId": "qjIN4UbE96Cq6JKwLIQ9VQ","data": {"popular_dishes": [{"identifier": "tiramisu","review_count": 25,"photo_count": 15,"display_name": "Tiramisu","photo_url": "https://s3-media0.fl.yelpcdn.com/bphoto/xyz/o.jpg","description": "Classic Italian dessert","price": "$12.00"}]},"timestamp": "2026-01-17T10:40:03.456Z"}
Real Usage Examples
1. Find Coffee Shops in San Francisco
Input:
{"searchType": "search","location": "San Francisco, CA","searchTerm": "coffee","limit": 5,"businessDetailsType": "basic"}
Output: 5 business records like:
{"businessId": "VD527WwvrhE3Nhzf5vaMNw","type": "business","title": "Sightglass Coffee","rating": 4.0,"reviewCount": 2176,"categories": ["Coffee & Tea"],"address": {"city": "San Francisco", "state": "CA"}}
2. Get Complete Business Profile
Input:
{"searchType": "business_details","businessIds": ["qjIN4UbE96Cq6JKwLIQ9VQ"]}
Output: 1 detailed business record with hours, services, photos, health scores, etc.
3. Extract Customer Reviews
Input:
{"searchType": "reviews","businessId": "qjIN4UbE96Cq6JKwLIQ9VQ","reviewsPerPage": 10,"sortBy": "Yelp_sort"}
Output: 10 review records + 10 user profile records with full review text, ratings, and author details.
4. Restaurant Menu Analysis
Input:
{"searchType": "menu","businessId": "qjIN4UbE96Cq6JKwLIQ9VQ"}
Output: Complete menu with items, prices, descriptions organized by category.
5. Complete Business Intelligence
Input:
{"searchType": "full_profile","businessUrl": "https://www.yelp.com/biz/saloon-restaurant-philadelphia","includeReviews": true,"includeMenu": true,"includePopularDishes": true,"reviewsPerPage": 20}
Output: 20+ records including business details, reviews, menu, popular dishes, and user profiles.
Input Format Notes
- Business IDs: Use JSON editor for arrays
["id1", "id2"]or strings"id1,id2" - URLs: Direct Yelp business URLs work for single business operations
- Pagination: Reviews support pagination with
startOffsetparameter
Search Types & API Usage
Choose the right search type based on your data needs:
| Search Type | API Calls | Returns | Use Case |
|---|---|---|---|
search | 1 | Business list with basic info | Finding businesses by location/keywords |
category | 1 | Business list filtered by category | Finding restaurants, bars, etc. |
business_details | 1 | Complete business profile | Deep dive on specific business(es) |
reviews | 1-2 | Customer reviews + user profiles | Sentiment analysis, review mining |
menu | 2 | Restaurant menu items | Menu analysis, pricing research |
popular_dishes | 2 | Most popular menu items | Identifying top-selling items |
url_to_id | 1 | Business ID from URL | Converting web links to API IDs |
full_profile | 2-4 | Everything available | Complete business intelligence |
Detailed Search Type Behavior
search: Returns 1-50 businesses matching your search criteria with basic info (name, rating, address)category: Same as search but filtered by business category (Italian, Chinese, Bars, etc.)business_details: Single business deep-dive with hours, services, photos, health scoresreviews: All customer reviews with full text, ratings, user profiles, and business responsesmenu: Complete restaurant menu with item descriptions, prices, and categoriespopular_dishes: Best-rated menu items with review counts and photosurl_to_id: Converts Yelp URLs to business IDs for API usefull_profile: Combines all available data - most comprehensive but uses most API calls
Rate Limiting
The actor includes built-in rate limiting to respect API limits:
- 1-second delay between API requests
- Automatic error handling for rate limit responses
- Request count tracking
Error Handling
The actor gracefully handles:
- API rate limits
- Invalid business IDs/URLs
- Network errors
- Missing data in API responses
- Malformed input parameters
Important Limitations & Data Availability
API Restrictions
- Search Results: Only
businessDetailsType: "basic"works. "detailed"/"full" cause API errors. - Menu Availability: ~60% of restaurants have menu data. Returns error for businesses without menus.
- Popular Dishes: ~40% of restaurants have popular dish data. Not available for all businesses.
- URL Characters: URLs with special characters (café, naïve) may fail URL-to-ID conversion.
Data Completeness
- Business Hours: May be missing or incomplete for some businesses
- Health Scores: Only available in certain regions (primarily US)
- Owner Responses: Not all reviews receive business responses
- Menu Photos: Most menu items lack photos in the API
Performance & Scale
- Rate Limiting: 1-second delays between API calls to respect limits
- API Usage: Monitor your API call volume to manage costs effectively
- Response Times: Menu/popular dish endpoints are slower (2-3 calls each)
- Data Volume: Full profiles generate 20+ records per business
Error Scenarios
- Business Not Found: Invalid IDs/URLs return clear error messages
- Network Issues: Automatic retry logic for temporary failures
- API Quotas: Graceful handling of rate limit exceeded errors
- Missing Data: Null/empty fields instead of errors for optional data
Dataset Organization
Your results are organized by data type for easy filtering and analysis:
Record Types in Dataset
type: "business": Core business information (addresses, ratings, services)type: "review": Individual customer reviews with ratings and metadatatype: "menu": Complete restaurant menu data when availabletype: "popular_dishes": Most popular menu items with engagement metricstype: "user": Reviewer profiles extracted from reviewstype: "full_profile_summary": Overview of what was collected for full_profile runstype: "url_to_id": URL conversion results
Analysis Ready Data
- Normalized Schema: Consistent field names and data types across all records
- JSON Structured: Ready for import into databases, spreadsheets, or analysis tools
- Relationship Keys:
businessIdlinks reviews, menus, and dishes to businesses - Timestamp Tracking:
timestampandscrapedAtfields for data freshness