Yelp Business Data Scraper avatar
Yelp Business Data Scraper

Pricing

from $8.00 / 1,000 results

Go to Apify Store
Yelp Business Data Scraper

Yelp Business Data Scraper

Developed by

Sachin Kumar Yadav

Sachin Kumar Yadav

Maintained by Community

Collect Yelp business listings, reviews, menus, and IDs by search, category, or URL. Clean JSON output for lead gen, CRM, and local SEO.

0.0 (0)

Pricing

from $8.00 / 1,000 results

0

2

2

Last modified

5 days ago

Yelp Business Data Scarper ⚡

High-accuracy Yelp Business Data Scarper to extract business listings, categories, detailed profiles, menus, popular dishes, reviews, and URL-to-ID mapping at scale. Built as an Apify Actor for reliability, speed, and easy configuration.

Target keyword: Yelp Business Data Scarper

Related keywords: Yelp scraper, Yelp business scraper, Yelp reviews scraper, Yelp categories, Yelp menus, Yelp data extraction, local business data, local SEO data, Yelp crawler.


Why choose this scraper? 🚀

  • Comprehensive coverage: Search by term/location, category search, per-business details, menus, popular dishes, and reviews.
  • Reliable at scale: Retries, batching, and stable selectors tailored to Yelp’s structure.
  • Clean structured outputs: JSON ready for analytics, CRM enrichment, lead gen, and BI dashboards.
  • Modular endpoints: Enable only the modules you need to control costs and speed.

Table of Contents 📚


Features ✨

ModuleWhat you getInput switches
SearchBusiness listings by location + termsearch_enabled, search_location, search_term, search_*
Category searchListings by Yelp category + locationcategory_search_enabled, category_location, category_search_category, category_*
Business by URL (each)Detailed profile for given Yelp business URLseach_enabled, each_business_urls
ReviewsReviews for a business by URL or business IDreviews_enabled, reviews_business_url, reviews_business_id, reviews_*
MenusMenu data for businesses by IDmenus_enabled, menus_business_ids
Popular dishesPopular dishes data for businesses by IDpopular_dish_enabled, popular_dish_business_ids
Biz URL ➜ IDConvert Yelp business URLs to business IDsbiz_url2id_enabled, biz_url2id_urls

This Yelp Business Data Scarper is perfect for lead generation, local SEO, market research, competitor analysis, and data enrichment.


How it works 🧠

  • The Actor reads your inputs defined in input_schema.json and runs only the enabled modules.
  • Each module makes requests to the relevant Yelp pages or endpoints, handling pagination and retries.
  • Data is normalized to consistent JSON and pushed to the default Apify dataset.

Input configuration ⚙️

Below is a quick reference matching the current schema in input_schema.json.

GroupKeyTypeDefaultDescription
Searchsearch_enabledbooleanfalseToggle search by term and location
search_locationstring""Location, e.g. New York, NY
search_termstring""Keyword, e.g. restaurants
search_limitinteger50Max results to return
search_offsetinteger0Pagination offset
search_business_details_typestringbasicDetails level hint (implementation-specific)
Categorycategory_search_enabledbooleanfalseToggle category-based search
category_locationstring""Location for category search
category_search_categorystring""Yelp category name
category_limitinteger50Max results to return
category_offsetinteger0Pagination offset
category_business_details_typestringbasicDetails level hint
Business (each)each_enabledbooleanfalseToggle per-business detail fetch
each_business_urlsarray[string][]List of Yelp business page URLs
Reviewsreviews_enabledbooleanfalseToggle reviews scraping
reviews_business_urlstring""Yelp business URL (optional if ID provided)
reviews_business_idstring""Yelp business ID (optional if URL provided)
reviews_per_pageinteger20Reviews per page fetch
reviews_sort_byenum[string]Yelp_sortSort order selector
reviews_rating_filterenum[string]All_ratingsRating filter selector
Menusmenus_enabledbooleanfalseToggle menu scraping
menus_business_idsarray[string][]Yelp business IDs for menus
Popular dishespopular_dish_enabledbooleanfalseToggle popular dishes scraping
popular_dish_business_idsarray[string][]Yelp business IDs for popular dishes
Biz URL ➜ IDbiz_url2id_enabledbooleanfalseToggle URL-to-ID conversion
biz_url2id_urlsarray[string][]Yelp business URLs to convert

Tip: Use the prefilled examples in the Apify UI to get started quickly.


Example inputs 📥

1) Search businesses by location + term

{
"search_enabled": true,
"search_location": "New York, NY",
"search_term": "restaurants",
"search_limit": 50
}
{
"category_search_enabled": true,
"category_location": "New York, NY",
"category_search_category": "Vacation Rental Agents",
"category_limit": 50
}

3) Business details by URL list

{
"each_enabled": true,
"each_business_urls": [
"https://www.yelp.com/biz/pizza-paradise-new-york",
"https://www.yelp.com/biz/joes-coffee-san-francisco"
]
}

4) Reviews with sorting and rating filter

{
"reviews_enabled": true,
"reviews_business_url": "https://www.yelp.com/biz/pizza-paradise-new-york",
"reviews_per_page": 20,
"reviews_sort_by": "Yelp_sort",
"reviews_rating_filter": "All_ratings"
}
{
"menus_enabled": true,
"menus_business_ids": ["pizza-paradise-new-york"],
"popular_dish_enabled": true,
"popular_dish_business_ids": ["pizza-paradise-new-york"]
}

6) Convert Business URLs to IDs

{
"biz_url2id_enabled": true,
"biz_url2id_urls": [
"https://www.yelp.com/biz/pizza-paradise-new-york"
]
}

Example outputs 📤

Outputs are pushed to the default Apify dataset.

  • Search/Category item
{
"source": "search",
"location": "New York, NY",
"term": "restaurants",
"business": {
"id": "pizza-paradise-new-york",
"name": "Pizza Paradise",
"rating": 4.6,
"review_count": 389,
"price": "$$",
"categories": ["Pizza", "Italian"],
"phone": "+1 212-555-0123",
"address": "123 5th Ave, New York, NY",
"url": "https://www.yelp.com/biz/pizza-paradise-new-york"
}
}
  • Business details (each)
{
"source": "each",
"url": "https://www.yelp.com/biz/pizza-paradise-new-york",
"details": {
"hours": [{"day": "Mon", "open": "10:00", "close": "22:00"}],
"photos": ["https://.../photo1.jpg"],
"attributes": {"takes_reservations": true, "outdoor_seating": true}
}
}
  • Reviews
{
"source": "reviews",
"business_id": "pizza-paradise-new-york",
"sort_by": "Yelp_sort",
"rating_filter": "All_ratings",
"items": [
{"user": "John D.", "rating": 5, "date": "2025-01-02", "text": "Amazing slices!"}
]
}
  • Menus
{
"source": "menus",
"business_id": "pizza-paradise-new-york",
"sections": [{"name": "Pizzas", "items": [{"name": "Margherita", "price": 14.99}]}]
}
  • Popular dishes
{
"source": "popular_dishes",
"business_id": "pizza-paradise-new-york",
"items": [{"name": "Truffle Pizza", "mentions": 128}]
}
  • Biz URL ➜ ID
{
"source": "biz_url2id",
"url": "https://www.yelp.com/biz/pizza-paradise-new-york",
"business_id": "pizza-paradise-new-york"
}

Use cases 💼

  • Lead generation: Build prospect lists with phone, address, and categories.
  • Local SEO: Track categories, ratings, and reviews for competitors.
  • Menu analysis: Compare pricing and offerings across locations.
  • Data enrichment: Append Yelp metadata to your CRM or BI warehouse.

Best practices 🧩

  • Start small with a limited search_limit to validate output shape.
  • Combine modules thoughtfully: e.g., run Search -> store IDs -> run Menus/Reviews for those IDs.
  • Respect Yelp: Avoid excessive concurrency; use retries and sensible pacing.

FAQ ❓

  • Do I need API keys?
    No. This Actor works on publicly available Yelp data.

  • Where do results go?
    To the run’s default Apify dataset as JSON items.

  • Can I filter reviews?
    Yes, choose reviews_sort_by and reviews_rating_filter from dropdowns in the input UI.

  • Can I run only URL-to-ID?
    Yes, set biz_url2id_enabled: true and provide biz_url2id_urls.

  • What if I only have business IDs?
    Use menus_business_ids and/or popular_dish_business_ids to fetch menus and dishes.


Changelog 📦

  • Initial release of Yelp Business Data Scarper Actor with modules for Search, Category search, Business details (each), Reviews, Menus, Popular dishes, and URL ➜ ID conversion.