Yelp Business Scraper
Pricing
$2.50 / 1,000 results
Yelp Business Scraper
Extract 25+ fields from any Yelp business — ratings, hours, photos, address, categories, and attributes. Search by query and location or look up by URL. No API key needed. Export as CSV, JSON, or Excel.
Pricing
$2.50 / 1,000 results
Rating
0.0
(0)
Developer
Beat Analytics
Maintained by CommunityActor stats
2
Bookmarked
146
Total users
66
Monthly active users
8 days ago
Last modified
Categories
Share
Yelp Business Scraper - Extract Business Details & Search Results Without the API
Yelp Business Scraper is an Apify actor that extracts detailed business information from Yelp listings and search results without a Yelp API key. It returns 25+ structured fields per business - more than the official Yelp Fusion API - with no authentication setup and no request limits. Search for businesses by query and location, or look up specific businesses by URL, alias, or ID; results are deduplicated automatically. Use the data for competitive intelligence, lead generation, or market research.
- Why use this Yelp business scraper?
- What data can you extract from Yelp businesses?
- How to scrape Yelp business data
- Input parameters
- Output example
- How much does it cost to scrape Yelp business data?
- Use cases for Yelp business data
- Integrations and API access
- Frequently asked questions
- Related actors
Why use this Yelp business scraper?
- 🔍 Search for businesses by query and location - find businesses matching any search term in any city, state, or neighborhood, e.g. "pizza" in "Chicago, IL" or "coffee shops" in "San Francisco, CA".
- 🔄 Cartesian product search - provide multiple queries and locations to search all combinations automatically. 5 queries and 10 locations run 50 searches in one job.
- 🔗 Direct business lookup by URL, alias, or ID - paste URLs like
https://www.yelp.com/biz/the-old-fashioned-madison, aliases likethe-old-fashioned-madison, or Yelp business IDs. - 🧩 Combine search and direct lookup - use both in the same run; the scraper merges and deduplicates the results.
- ⚡ No API key required - no app registration, API keys, or OAuth tokens. Add your inputs and click Start.
- 🔓 No rate limits - the Yelp Fusion API enforces strict daily quotas; this scraper has none. Scrape thousands of businesses in one run.
- 📊 25+ data fields per business - more than the Fusion API returns, including business attributes (Wi-Fi, outdoor seating, reservations), health inspection scores, photo URLs, menu links, and machine-readable hours.
- 💾 Export as JSON, CSV, Excel, XML, or HTML - all five formats work out of the box.
- 🛡️ Automatic deduplication - businesses found through multiple queries or inputs appear once, so you never pay for duplicate records.
- 🌐 Full Yelp API alternative - use it anywhere you would use the Yelp Fusion API, with more data and no configuration.
What data can you extract from Yelp businesses?
The scraper returns 25+ structured fields for each business:
Business identity:
- id - Yelp's internal business ID (e.g.
RJNAeNA-209sctUO0dmwuA) - alias - URL-friendly business alias/slug (e.g.
the-old-fashioned-madison) - name - Business display name
- url - Direct link to the Yelp business page
Location and geography:
- address - Street address
- city - City name
- state - State or province code
- zip - ZIP or postal code
- country - Country code (e.g.
US) - latitude - Geographic latitude coordinate
- longitude - Geographic longitude coordinate
- neighborhoods - List of neighborhoods the business belongs to
Business classification:
- categories - Business categories (e.g. "American", "Breakfast & Brunch", "Beer Bar")
- price_range - Price level indicator (e.g. "$", "$$", "$$$", "$$$$")
Contact information:
- phone - Business phone number
- website - Business website URL
Ratings and reviews:
- avg_rating - Average star rating (rounded, e.g. 4.0)
- unrounded_avg_rating - Precise average rating (e.g. 4.1)
- review_count - Total number of reviews on Yelp
Hours of operation:
- hours - Machine-readable hours as minute-based intervals (useful for programmatic analysis)
- localized_hours - Human-readable business hours (e.g. "Mon-Thu 11:00 am - 9:00 pm")
Media and extras:
- photos - List of business photo URLs (full-resolution Yelp CDN links)
- attributes - Business attributes like "Takes Reservations: No", "Wi-Fi: Free", "Outdoor Seating: Yes"
- health_score - Health inspection result (where available)
- health_score_url - Link to health inspection details
- menu_url - Link to the business menu on Yelp
Business status:
- is_closed - Whether the business is permanently closed
- is_temp_closed - Whether the business is temporarily closed
Search context (when found via search):
- _search.query - The search query that returned this business
- _search.location - The location that was searched
- _search.rank - Position in search results for that query and location (1-indexed)
How to scrape Yelp business data
Follow these five steps to extract Yelp business details:
Step 1: Create a free Apify account
Sign up at apify.com if you do not have an account yet. Every new account includes $5 in free credits - enough to scrape 2,000 Yelp business listings at no cost.
Step 2: Open the Yelp Business Scraper
Navigate to the Yelp Business Scraper actor page on the Apify Store and click "Try for free" or "Start."
Step 3: Add your search queries, locations, or business URLs
You have three ways to specify which businesses to scrape:
- Search: Enter search queries (e.g. "pizza", "plumber", "coffee shop") and locations (e.g. "New York, NY", "London, UK"). The scraper searches all combinations of queries and locations.
- Direct URLs: Paste one or more Yelp business page URLs, such as
https://www.yelp.com/biz/the-old-fashioned-madison. - Aliases or IDs: Enter Yelp business aliases (e.g.
the-old-fashioned-madison) or internal Yelp business IDs.
You can combine all three methods in a single run. The scraper deduplicates results automatically.
Step 4: Click Start
Click the "Start" button to begin the scrape. The scraper will process your inputs, fetch business details, and push results to the dataset. You can monitor progress in real time on the run detail page.
Step 5: Download your data in JSON, CSV, Excel, XML, or HTML
Once the run completes, go to the Storage tab to view and download your results. Apify supports five export formats out of the box:
- JSON - structured data, ideal for programmatic processing
- CSV - spreadsheet-friendly, opens directly in Excel or Google Sheets
- Excel (.xlsx) - native Excel format with proper column types
- XML - for systems that consume XML feeds
- HTML - human-readable table view
You can also access your data programmatically through the Apify API, or set up automatic exports to Google Sheets, Dropbox, Amazon S3, and other destinations.
Input parameters
The Yelp Business Scraper accepts the following input parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | Array of strings | No | - | Search query strings to find businesses (e.g. "pizza", "cheese curds", "plumber"). Used together with searchLocations; all combinations are searched. |
searchLocations | Array of strings | No | - | Locations to search in (e.g. "Madison, WI", "Chicago, IL", "New York"). Used together with searchQueries; all combinations are searched. |
businessUrls | Array of URLs | No | - | Yelp URLs of specific businesses you want details for (e.g. https://www.yelp.com/biz/the-old-fashioned-madison). Can be used instead of or in addition to search. |
businessAliasesOrIds | Array of strings | No | - | Business aliases (e.g. the-old-fashioned-madison) or Yelp business IDs. Can be used instead of or in addition to URLs and/or search. |
maxResultsPerSearch | Integer | No | 10 | Maximum number of business results per search query+location combination. Increase this to get more results per search. |
Note: You must provide at least one of searchQueries (with searchLocations), businessUrls, or businessAliasesOrIds. You can use any combination of these inputs together; the scraper merges and deduplicates all results automatically.
Search example: Setting searchQueries to ["pizza", "sushi"] and searchLocations to ["Chicago, IL", "New York, NY"] will run four searches: pizza in Chicago, pizza in New York, sushi in Chicago, and sushi in New York. With maxResultsPerSearch set to 10, this would return up to 40 unique businesses (fewer if there is overlap between searches).
Output example
The Yelp Business Scraper outputs data in two formats: a structured JSON dataset and a flattened CSV file. You can download results in JSON, CSV, Excel, XML, or HTML from the Storage tab after each run.
JSON dataset
The results are stored in a dataset which you can find in the Storage tab. Each item in the dataset represents a single business.
Example JSON output
{"id": "RJNAeNA-209sctUO0dmwuA","alias": "the-old-fashioned-madison","name": "The Old Fashioned","url": "https://www.yelp.com/biz/the-old-fashioned-madison","is_closed": false,"is_temp_closed": false,"address": "23 N Pinckney St","city": "Madison","state": "WI","zip": "53703","country": "US","latitude": 43.0761862475496,"longitude": -89.3837572171967,"neighborhoods": ["Capitol"],"categories": ["American", "Breakfast & Brunch", "Beer Bar"],"phone": "(608) 310-4545","website": "http://theoldfashioned.com/","price_range": "$$","avg_rating": 4.0,"unrounded_avg_rating": 4.1,"review_count": 2529,"hours": [[660, 1260], [2100, 2700], [3540, 4140], [4980, 5580], [6420, 7080], [7800, 8520]],"localized_hours": ["Mon-Thu 11:00 am - 9:00 pm","Fri 11:00 am - 10:00 pm","Sat 10:00 am - 10:00 pm"],"photos": ["https://s3-media0.fl.yelpcdn.com/bphoto/n1imsZpO7rNv0aueEL52EQ/o.jpg","https://s3-media0.fl.yelpcdn.com/bphoto/K5cehQF2wsBV76sha1oGHg/o.jpg","https://s3-media0.fl.yelpcdn.com/bphoto/ptE_UYxhabKfEztonGqHDw/o.jpg"],"attributes": [{"label": "Takes Reservations", "value": "No"},{"label": "Offers Delivery", "value": "Yes"},{"label": "Outdoor Seating", "value": "Yes"},{"label": "Wi-Fi", "value": "Free"}],"health_score": "No Reinspection Required","health_score_url": "https://m.yelp.com/inspections/the-old-fashioned-madison","menu_url": "https://m.yelp.com/menu/RJNAeNA-209sctUO0dmwuA"}
CSV file
Business details are stored in a CSV file named businesses.csv. The file contains the following columns:
id: Yelp business IDalias: Yelp business alias (URL slug)name: Business nameurl: Link to the Yelp business pageis_closed: Whether the business is permanently closedis_temp_closed: Whether the business is temporarily closedaddress: Street addresscity: Citystate: Statezip: ZIP codecountry: Country codelatitude: Latitudelongitude: Longitudeneighborhoods: Neighborhoods (newline-separated)categories: Business categories (newline-separated)phone: Phone numberwebsite: Website URLprice_range: Price range (e.g. "$$")avg_rating: Average star ratingunrounded_avg_rating: Unrounded average star ratingreview_count: Number of reviewslocalized_hours: Human-readable business hours (newline-separated)photos: Photo URLs (newline-separated)attributes: Business attributes as "Label: Value" (newline-separated)health_score: Health inspection scorehealth_score_url: Link to health inspection detailsmenu_url: Link to the business menu
Example CSV output
id,alias,name,url,is_closed,is_temp_closed,address,city,state,zip,country,latitude,longitude,neighborhoods,categories,phone,website,price_range,avg_rating,unrounded_avg_rating,review_count,localized_hours,photos,attributes,health_score,health_score_url,menu_urlRJNAeNA-209sctUO0dmwuA,the-old-fashioned-madison,The Old Fashioned,https://www.yelp.com/biz/the-old-fashioned-madison,False,False,23 N Pinckney St,Madison,WI,53703,US,43.0761862475496,-89.3837572171967,Capitol,"AmericanBreakfast & BrunchBeer Bar","(608) 310-4545",http://theoldfashioned.com/,$$,4.0,4.1,2529,"Mon-Thu 11:00 am - 9:00 pmFri 11:00 am - 10:00 pmSat 10:00 am - 10:00 pm","https://s3-media0.fl.yelpcdn.com/bphoto/n1imsZpO7rNv0aueEL52EQ/o.jpghttps://s3-media0.fl.yelpcdn.com/bphoto/K5cehQF2wsBV76sha1oGHg/o.jpg","Takes Reservations: NoOffers Delivery: YesOutdoor Seating: YesWi-Fi: Free",No Reinspection Required,https://m.yelp.com/inspections/the-old-fashioned-madison,https://m.yelp.com/menu/RJNAeNA-209sctUO0dmwuA
How much does it cost to scrape Yelp business data?
The Yelp Business Scraper uses per-result pricing: you only pay for the data you get.
$2.50 per 1,000 results - each business returned counts as one result, whether found via search or direct URL lookup. Deduplication happens before billing, so you never pay for the same business twice.
Free trial: every new Apify account comes with $5 in free platform credits, no credit card required - enough to scrape 2,000 business listings at no cost.
Enterprise plans: for large volumes on a regular basis, from thousands up to millions of listings per month, contact sales@beatanalytics.org for custom Enterprise pricing with dedicated support and volume discounts.
Use cases for Yelp business data
Yelp business data powers analytical, operational, and research workflows:
Competitive intelligence and benchmarking
Scrape Yelp business details for your competitors and compare ratings, review counts, price ranges, categories, and attributes side by side. Schedule regular runs to track how competitor ratings and review volumes change over time, and see which attributes (outdoor seating, delivery, Wi-Fi) competitors offer that you do not.
Market research and industry analysis
Search for all businesses in a given category and location to map the competitive landscape. Analyze business density by category, neighborhood, or price range to identify underserved markets, trending categories, or gaps in service coverage.
Lead generation and sales prospecting
Extract contact information (phone numbers, website URLs) for businesses matching specific criteria. Build targeted prospect lists by category and location, and use attributes, ratings, and review counts to qualify leads and prioritize outreach.
Real estate and location intelligence
Analyze business density and category distribution by neighborhood to evaluate commercial real estate opportunities. Use latitude/longitude data to build heat maps of business activity and gauge the character of a neighborhood from the businesses present.
Local SEO and business directory building
Build local business directories from Yelp data. Aggregate details across categories and locations to create niche industry directories, or power local search features in your own applications.
Academic and social science research
Study patterns in business ratings, review volumes, and category distributions across cities and regions. Analyze the relationship between business attributes and customer satisfaction, or use business density as a proxy for economic activity in urban development research.
Business operations and supply chain
Identify potential suppliers, vendors, or partners in specific locations. Build databases of businesses matching set criteria for partnership or franchise development, and monitor the open/closed status of businesses in your supply chain or competitive set.
Data journalism and public interest reporting
Investigate business trends, closures, and patterns across neighborhoods and cities. Analyze health inspection scores against ratings, or report on the economic health of commercial districts using Yelp business data as a proxy.
Integrations and API access
The Yelp Business Scraper integrates with the Apify platform ecosystem, giving you programmatic access to your scraped data and the ability to connect it to thousands of external tools.
Python
Use the Apify Python SDK to run the scraper and retrieve results programmatically:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run_input = {"searchQueries": ["pizza", "sushi"],"searchLocations": ["Chicago, IL"],"maxResultsPerSearch": 20,}run = client.actor("beatanalytics/yelp-business-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['name']} - {item['avg_rating']} stars - {item['address']}, {item['city']}")
JavaScript / Node.js
Use the Apify JavaScript SDK to integrate Yelp business scraping into your Node.js applications:
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("beatanalytics/yelp-business-scraper").call({searchQueries: ["coffee shops"],searchLocations: ["San Francisco, CA"],maxResultsPerSearch: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.name} - ${item.avg_rating} stars - ${item.phone}`);});
No-code integrations
Connect the Yelp Business Scraper to thousands of apps without writing code:
- Make (formerly Integromat) - trigger workflows when new Yelp data is scraped, or schedule regular runs as part of larger automations
- Zapier - connect Yelp business data to Google Sheets, Slack, email, CRM tools, and 5,000+ other apps
- Webhooks - receive HTTP notifications when a run completes, then process the data in your own backend
- Google Sheets - export results directly to a spreadsheet for collaborative analysis
- Amazon S3 / Dropbox - automatically save scraped data to cloud storage after each run
Scheduled runs
Set up the Yelp Business Scraper to run on a schedule (hourly, daily, weekly, or custom cron) to keep your data fresh. Each run appends new results to your dataset, making it easy to track changes in business details, ratings, and review counts over time.
API endpoints
Every scraper run on Apify exposes RESTful API endpoints for accessing results, checking run status, and managing datasets. See the Apify API documentation for the complete reference.
Frequently asked questions
Is it legal to scrape Yelp business data?
Scraping publicly available business information from Yelp is generally considered legal in the United States, following the precedent set by the hiQ Labs v. LinkedIn case, where the Ninth Circuit Court of Appeals ruled that scraping publicly accessible data does not violate the Computer Fraud and Abuse Act. Yelp business details such as names, addresses, ratings, hours, and categories are publicly visible to anyone browsing the Yelp website without logging in. However, laws vary by jurisdiction, and you should consult a legal professional if you have concerns about your specific use case. Always use scraped data responsibly and in compliance with applicable laws and regulations.
How is this different from the Yelp Fusion API?
The Yelp Fusion API is Yelp's official developer API. While it provides structured access to business data, it has several limitations that this scraper addresses:
- Authentication: The Fusion API requires you to register an application and manage API keys. This scraper requires no API key or authentication setup.
- Rate limits: The Fusion API enforces strict daily request quotas (typically 5,000 requests per day for free-tier apps). This scraper has no request limits.
- Data fields: This scraper extracts fields that the Fusion API does not return, including business attributes with values, health inspection scores, menu URLs, and machine-readable hours.
- Search flexibility: This scraper supports cartesian product search (multiple queries times multiple locations in a single run) and automatic deduplication.
- Review data: The Fusion API returns only 3 reviews per business. For full review data, use this scraper with our Yelp Business Review Scraper.
What is the difference between the Yelp Business Scraper and the Yelp Business Review Scraper?
These are two complementary Apify actors:
- Yelp Business Scraper (this actor) extracts business details: name, address, hours, ratings, photos, categories, attributes, and more. It also supports search, so you can discover businesses by query and location.
- Yelp Business Review Scraper extracts individual reviews for specific businesses: review text, star ratings, dates, reviewer information, and business owner replies. It supports filtering by language and sorting by date, rating, or elite status.
Use both together: scrape business details with this actor to identify businesses of interest, then pass those business URLs to the Review Scraper to extract all their reviews for sentiment analysis or reputation monitoring.
How many businesses can I scrape?
There is no hard limit on the number of businesses you can scrape in a single run. Typical runs scraping 100-500 businesses complete in a few minutes. Runs scraping thousands of businesses may take longer but are fully supported. For very large-scale scraping (tens of thousands of businesses), consider reaching out to sales@beatanalytics.org for Enterprise plans with volume discounts.
Can I search for businesses by location?
Yes. The Yelp Business Scraper supports location-based search as a core feature. Enter one or more locations in the searchLocations field along with search queries in the searchQueries field (see Input parameters). The scraper searches all combinations of queries and locations automatically. Each business result includes its full address, city, state, ZIP code, country, latitude, and longitude, so you can perform geographic analysis on the results.
What export formats are supported?
The Yelp Business Scraper supports five export formats, all available directly from the Apify platform with no additional configuration:
- JSON - structured data, ideal for programmatic processing and API integrations
- CSV - comma-separated values, opens directly in Excel, Google Sheets, or any spreadsheet tool
- Excel (.xlsx) - native Microsoft Excel format with proper column types
- XML - for systems that consume XML feeds or require XML-based data exchange
- HTML - human-readable table view for quick visual inspection
You can download data in any format from the Storage tab after a run completes, or retrieve it programmatically through the Apify API.
How often is the data updated?
The Yelp Business Scraper fetches live data from Yelp every time it runs. There is no cached or stale data - each run makes fresh requests to Yelp and returns the most current business information available. To keep your data fresh, you can schedule the scraper to run on a recurring basis (hourly, daily, weekly, or on a custom cron schedule) using Apify's built-in scheduling feature. This is particularly useful for tracking changes in ratings, review counts, business hours, or open/closed status over time.
Can I scrape Yelp search results?
Yes. Scraping Yelp search results is one of the primary features of this actor. Enter your search queries (e.g. "restaurants", "dentists", "auto repair") and locations (e.g. "Austin, TX"), and the scraper will return full business details for each search result. You can control how many results to return per search with the maxResultsPerSearch parameter (default: 10). Each result includes a _search field with metadata about which query and location found it, along with its ranking position in the search results.
Can I get business photos and attributes?
Yes. The scraper extracts all publicly visible business photos as full-resolution Yelp CDN URLs. Business attributes are extracted as structured label-value pairs - for example, {"label": "Takes Reservations", "value": "No"}, {"label": "Wi-Fi", "value": "Free"}, {"label": "Outdoor Seating", "value": "Yes"}. The specific attributes available depend on what each business has listed on its Yelp page. Common attributes include reservations, delivery, takeout, outdoor seating, Wi-Fi, parking, wheelchair accessibility, and many more.
How do I scrape Yelp business data without the API?
The Yelp Business Scraper is designed specifically for this use case. Instead of dealing with API key registration, OAuth authentication, rate limits, and limited data fields, you simply open the scraper on Apify, enter your search queries or business URLs, and click Start. The scraper handles all the data extraction automatically and returns structured results in JSON, CSV, or any other supported format. No API key, no rate limits, no authentication setup. See How to scrape Yelp business data for a step-by-step walkthrough.
Related actors
The companion to this actor. Where this scraper extracts business details (address, hours, ratings, photos, attributes), the Review Scraper extracts individual customer reviews - full text, star ratings, dates, reviewer information, and business owner replies - across every review a business has, not the 3 the Yelp Fusion API caps you at. It filters reviews by language (24 supported) and sorts by newest, oldest, highest or lowest rated, or elite reviews, and handles pagination automatically.
Use them together: search for and identify businesses with this scraper, then feed the resulting URLs into the Review Scraper to extract every review for sentiment analysis, reputation monitoring, or competitive benchmarking.
Downloads every photo and video from a Yelp listing - full-resolution image URLs, captions, categories, and video metadata across the entire gallery, not just the sample bundled with business details. Discover businesses by search query and location with this scraper, then feed the resulting URLs into the Photos Scraper to pull each listing's complete photo gallery for visual analysis, content enrichment, or competitive research.