A powerful Yelp data extraction tool that collects business details, events, reviews, menus, images, and more at scale. Built for reliability and flexibility, this scraper helps analysts, researchers, and developers quickly gather structured Yelp data. Ideal for automating lead generation, market research, and competitive analysis using Yelp’s public data.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Ultimate Yelp Scraper you've just found your team — Let's Chat. 👆👆
The Ultimate Yelp Scraper automates the process of gathering structured data from Yelp pages including business listings, individual business details, events, collections, reviews, and photos. It solves the challenges of manual data collection, inconsistent information formats, and time-consuming research tasks. Designed for data professionals, engineers, and researchers who need clean, high-volume Yelp data on demand.
- Automates complex multi-page Yelp navigation.
- Extracts consistent, structured data for analytics.
- Supports search queries, lists, collections, and event pages.
- Handles large-scale review and photo scraping.
- Offers user-defined limits for speed and cost control.
| Feature | Description |
|---|---|
| Unlimited Review Scraping | Collect all available reviews with pagination controls. |
| Detailed Business Data | Extracts addresses, photos, menus, amenities, hours, categories, and more. |
| Flexible Search | Supports keyword and location-based searches. |
| Event Scraping | Retrieves public Yelp event details and subscriber information. |
| Collections Scraping | Extracts user-made Yelp collections and their contents. |
| Photo Extraction | Optionally fetch all or limited photos per business. |
| Proxy Support | Built-in proxy configuration for stable and safe operation. |
| Extendable Output | Custom mapping and jQuery-based extraction extensions. |
| Field Name | Field Description |
|---|---|
| businessId | Unique identifier of the business. |
| type | Object type such as business or event. |
| title | Business or event title/name. |
| url | Direct Yelp URL for the entity. |
| rating | Star rating value. |
| reviewCount | Number of reviews on Yelp. |
| address | Full address object with formatted details. |
| coordinates | Latitude/longitude pairs for mapping. |
| categories | Array of business or event categories. |
| primaryPhoto | Main image URL of the entity. |
| reviews | Array of structured reviews with user and metadata. |
| operationHours | Daily operating hours. |
| amenities | Full list of available business amenities. |
| menu | Menu link if available. |
| website | Official business website. |
| phoneNumber | Contact number. |
| media | Array of available media URLs. |
| eventFields | Event-specific fields like date, price, description, subscribers. |
{
"businessId": "rbcOzsLyUv4D8H1VyfKhcQ",
"type": "business",
"url": "https://www.yelp.com/biz/good-grill-express-los-angeles-2",
"title": "Good Grill Express",
"rating": 2.9,
"reviewCount": 44,
"categories": ["Mexican", "Seafood", "American"],
"address": {
"city": "Los Angeles",
"regionCode": "CA",
"formatted": "210 E Olympic Blvd 108-127\nSte 127-108\nLos Angeles, CA 90015"
},
"reviews": [
{
"userName": "Johanna T.",
"rating": 5,
"review": "I have a business in the neighborhood..."
}
]
}
Ultimate Yelp Scraper/
├── src/
│ ├── index.js
│ ├── extractors/
│ │ ├── businessParser.js
│ │ ├── eventParser.js
│ │ ├── reviewParser.js
│ │ └── photoParser.js
│ ├── utils/
│ │ ├── request.js
│ │ └── helpers.js
│ └── config/
│ └── settings.example.json
├── data/
│ ├── sample-input.json
│ └── sample-output.json
├── package.json
└── README.md
- Market analysts use it to collect local business metadata, enabling them to track trends and competitive landscapes.
- Restaurant consultants extract reviews and menus to understand customer sentiment and pricing patterns.
- Developers automate lead generation by pulling business information for sales pipelines.
- Researchers analyze event activity and community interactions using structured Yelp event data.
- Local marketing teams gather images, ratings, and feedback to improve business listings.
Q1: Can I limit the number of items the scraper collects?
Yes—use the maxItems parameter to set a hard limit on the number of records collected.
Q2: Does the scraper support review pagination? Absolutely. You can control both the starting and ending review pages for precise review scraping.
Q3: Can I extract photos for each business?
Yes. Enable includePhotos and optionally define endPageForPhotos to limit how many photo pages get scraped.
Q4: What kind of URLs can be used in startUrls?
Business detail pages, search results, collections, event pages, and collection detail links are fully supported.
Primary Metric: Scrapes approximately 100 business listings in ~2 minutes under optimal network conditions.
Reliability Metric: Maintains a high success rate due to structured request handling and robust pagination logic.
Efficiency Metric: Typically consumes lightweight compute resources even with reviews and photos enabled, thanks to optimized request scheduling.
Quality Metric: Produces complete and consistent datasets with enriched metadata across business, reviews, photos, and event fields, ensuring high analytical value.
