Yelp Complete Business Scraper avatar
Yelp Complete Business Scraper

Pricing

$19.00/month + usage

Go to Apify Store
Yelp Complete Business Scraper

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

EndSpec

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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, hours
  • GET /reviews - Customer reviews with pagination, ratings, and user info
  • GET /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"
}
{
"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"
}
{
"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 startOffset parameter

Search Types & API Usage

Choose the right search type based on your data needs:

Search TypeAPI CallsReturnsUse Case
search1Business list with basic infoFinding businesses by location/keywords
category1Business list filtered by categoryFinding restaurants, bars, etc.
business_details1Complete business profileDeep dive on specific business(es)
reviews1-2Customer reviews + user profilesSentiment analysis, review mining
menu2Restaurant menu itemsMenu analysis, pricing research
popular_dishes2Most popular menu itemsIdentifying top-selling items
url_to_id1Business ID from URLConverting web links to API IDs
full_profile2-4Everything availableComplete 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 scores
  • reviews: All customer reviews with full text, ratings, user profiles, and business responses
  • menu: Complete restaurant menu with item descriptions, prices, and categories
  • popular_dishes: Best-rated menu items with review counts and photos
  • url_to_id: Converts Yelp URLs to business IDs for API use
  • full_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 metadata
  • type: "menu": Complete restaurant menu data when available
  • type: "popular_dishes": Most popular menu items with engagement metrics
  • type: "user": Reviewer profiles extracted from reviews
  • type: "full_profile_summary": Overview of what was collected for full_profile runs
  • type: "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: businessId links reviews, menus, and dishes to businesses
  • Timestamp Tracking: timestamp and scrapedAt fields for data freshness