
Yelp Business Contact Scraper
Pricing
from $6.00 / 1,000 results

Yelp Business Contact Scraper
Under maintenanceScrape verified business contact data from Yelp listings across all categories. Extract company names, phone numbers, emails, websites, addresses, and customer ratings. Perfect for B2B outreach, local lead generation, sales prospecting, and market research. Fast Yelp scraper. Export to CSV, JSON.
5.0 (1)
Pricing
from $6.00 / 1,000 results
1
3
3
Last modified
4 days ago
Extract comprehensive business data from Yelp across 32 countries with bulletproof reliability.
TL;DR
Production-ready Yelp scraper that extracts 17 data fields per business from any Yelp domain worldwide. Supports up to 200 results per search with 5x parallel processing, automatic retries, and language-specific selectors for non-English sites.
Quick Start (30 seconds)
- Select Country: Choose from 32 Yelp domains (US, UK, Germany, Japan, etc.)
- Enter Search: Type what you're looking for (e.g., "pizza", "plumber", "レストラン")
- Set Location: City or area (e.g., "New York", "Berlin", "東京")
- Choose Limit: 50-200 results recommended
- Run: Get CSV/JSON with 17 fields per business
Output: Business name, rating, reviews, address, phone, website, hours, photos, and more!
📋 Table of Contents
- Features
- Quick Tutorial
- Input Configuration
- Output Data
- Supported Countries
- Performance & Cost
- Examples
- Troubleshooting
- Advanced Usage
✨ Features
🌍 Global Coverage
- 32 Countries Supported: All Yelp international domains
- Language-Specific Selectors: Native-language support for 13 non-English countries
- Localized Search Terms: Pre-configured search terms for each country
🚀 Performance & Reliability
- 5x Parallel Processing: Scrapes 5 pages concurrently for speed
- Up to 200 Results: Optimized for large datasets
- 3x Retry Logic: Auto-retries failed requests
- Bulletproof Error Handling: Multiple fallback selectors, partial data saving, graceful degradation
📊 Comprehensive Data
- 17 Fields Per Business: Name, rating, reviews, contact info, hours, photos, and more
- Structured Output: Clean CSV/JSON format ready for analysis
- Real-Time Extraction: Fresh data scraped on-demand
🔒 Enterprise-Ready
- Apify Proxy Integration: Uses residential IPs to avoid blocking
- No Rate Limiting: Respectful crawling with configurable concurrency
- 100% Legal: Public data extraction only
📖 Quick Tutorial
Step 1: Access the Actor
Visit the actor on Apify and click "Try for free" or "Start".
Step 2: Configure Input
Fill in 4 simple fields:
{"country": "United States","searchTerms": ["pizza", "sushi"],"location": "New York","maxResults": 50}
Field | Description | Example |
---|---|---|
country | Select from dropdown | "United States" |
searchTerms | What to search for (array) | ["pizza", "cafe"] |
location | City or area | "New York" |
maxResults | How many results (1-200) | 50 |
Step 3: Run the Actor
Click "Start" and wait 2-10 minutes depending on result count.
Step 4: Download Results
Export as CSV, JSON, Excel, or HTML table. Connect to Google Sheets, Make, Zapier, or use the API.
⚙️ Input Configuration
Required Fields
1. Country (Select)
Choose the Yelp domain to scrape from:
🇺🇸 United States 🇬🇧 United Kingdom 🇨🇦 Canada🇩🇪 Germany 🇫🇷 France 🇪🇸 Spain🇮🇹 Italy 🇯🇵 Japan 🇦🇺 Australia...and 23 more
2. Search Terms (Array)
Keywords to search for. Can include multiple terms:
Examples:
- English:
["pizza", "italian restaurant", "plumber"]
- Japanese:
["レストラン", "カフェ"]
- German:
["restaurant", "cafe"]
- Spanish:
["restaurante", "tapas"]
3. Location (String)
City, neighborhood, or area to search in:
Examples:
"New York"
or"Manhattan, NY"
"Berlin"
or"Berlin Mitte"
"東京"
(Tokyo) or"渋谷"
(Shibuya)"Paris 75001"
or"Champs-Élysées"
4. Max Results (Integer)
Number of businesses to scrape per search term.
- Minimum: 1
- Maximum: 200
- Recommended: 50-100 for quick results, 150-200 for comprehensive data
- Default: 50
Calculation: With 2 search terms and maxResults=50, you'll get up to 100 total results.
📦 Output Data
17 Fields Per Business
# | Field | Description | Example |
---|---|---|---|
01 | scrapedAt | Timestamp | "2025-10-06T15:30:00.000Z" |
02 | url | Business page URL | "https://www.yelp.com/biz/..." |
03 | country | Scraped from | "United States" |
04 | searchTerm | Search keyword used | "pizza" |
05 | searchLocation | Location searched | "New York" |
06 | name | Business name | "Joe's Pizza" |
07 | rating | Star rating | "4.5 star rating" |
08 | reviewCount | Number of reviews | "1,234 reviews" |
09 | address | Full address | "123 Main St, New York, NY 10001" |
10 | phone | Phone number | "(212) 555-1234" |
11 | website | Business website | "https://joespizza.com" |
12 | priceRange | Price indicator | "$$" |
13 | categories | Business types (array) | ["Pizza", "Italian", "Casual"] |
14 | businessHours | Operating hours (array) | [{day: "Mon", time: "11AM-10PM"}] |
15 | amenitiesAndMore | Features (array) | ["Outdoor Seating", "Delivery", "WiFi"] |
16 | photoUrls | Photos (array, max 10) | ["https://...photo1.jpg", "..."] |
17 | reviews | Top 5 reviews (array) | [{author, rating, date, text}] |
Export Formats
- CSV: Easy import to Excel, Google Sheets
- JSON: For developers and APIs
- Excel: Direct .xlsx download
- HTML: Human-readable table
🌐 Supported Countries
All 32 Yelp Domains
North America (3)
- 🇺🇸 United States - yelp.com
- 🇨🇦 Canada - yelp.ca
- 🇲🇽 Mexico - yelp.com.mx
Europe (18)
- 🇬🇧 United Kingdom - yelp.co.uk
- 🇩🇪 Germany - yelp.de (German selectors)
- 🇫🇷 France - yelp.fr (French selectors)
- 🇪🇸 Spain - yelp.es (Spanish selectors)
- 🇮🇹 Italy - yelp.it (Italian selectors)
- 🇳🇱 Netherlands - yelp.nl (Dutch selectors)
- 🇦🇹 Austria - yelp.at
- 🇧🇪 Belgium - yelp.be
- 🇨🇭 Switzerland - yelp.ch
- 🇮🇪 Ireland - yelp.ie
- 🇵🇱 Poland - yelp.pl (Polish selectors)
- 🇵🇹 Portugal - yelp.pt (Portuguese selectors)
- 🇨🇿 Czech Republic - yelp.cz (Czech selectors)
- 🇩🇰 Denmark - yelp.dk
- 🇫🇮 Finland - yelp.fi (Finnish selectors)
- 🇳🇴 Norway - yelp.no
- 🇸🇪 Sweden - yelp.se (Swedish selectors)
- 🇹🇷 Turkey - yelp.com.tr (Turkish selectors)
Asia-Pacific (8)
- 🇯🇵 Japan - yelp.co.jp (Japanese selectors)
- 🇦🇺 Australia - yelp.com.au
- 🇳🇿 New Zealand - yelp.co.nz
- 🇭🇰 Hong Kong - yelp.com.hk
- 🇸🇬 Singapore - yelp.com.sg
- 🇲🇾 Malaysia - yelp.my
- 🇵🇭 Philippines - yelp.com.ph
- 🇹🇼 Taiwan - yelp.com.tw
South America (3)
- 🇧🇷 Brazil - yelp.com.br
- 🇦🇷 Argentina - yelp.com.ar
- 🇨🇱 Chile - yelp.cl
(Languages with custom selectors marked with italics)
💰 Performance & Cost
Runtime & Cost Estimates
Results | Search Terms | Total Businesses | Time | Apify Compute Units |
---|---|---|---|---|
50 | 1 | ~50 | 2-3 min | 0.02-0.03 CU |
100 | 1 | ~100 | 5-6 min | 0.05-0.06 CU |
200 | 1 | ~200 | 8-12 min | 0.08-0.12 CU |
50 | 3 | ~150 | 6-8 min | 0.06-0.08 CU |
100 | 2 | ~200 | 10-12 min | 0.10-0.12 CU |
Note: Actual time varies by country, search term popularity, and Yelp's response times.
Optimization Tips
- Start Small: Test with 10-20 results first
- Batch Searches: Use multiple search terms in one run vs. separate runs
- Peak Hours: Avoid running during Yelp peak traffic (evenings in target timezone)
- Concurrency: Default 5 works well. Reduce to 3 if you hit rate limits.
💡 Examples
Example 1: Restaurant Research in New York
Input:
{"country": "United States","searchTerms": ["pizza", "sushi", "burger"],"location": "Manhattan, NY","maxResults": 100}
Output: 300 restaurants (100 per search term) with full contact details, ratings, and reviews.
Use Case: Market research, competitor analysis, lead generation
Example 2: Multi-Language Search in Tokyo
Input:
{"country": "Japan","searchTerms": ["レストラン", "カフェ", "居酒屋"],"location": "渋谷","maxResults": 50}
Output: 150 Japanese businesses with native-language data extraction.
Use Case: Travel planning, local business directory
Example 3: European Market Analysis
Run 1 - Germany:
{"country": "Germany","searchTerms": ["restaurant", "cafe"],"location": "Berlin","maxResults": 200}
Run 2 - France:
{"country": "France","searchTerms": ["restaurant", "café"],"location": "Paris","maxResults": 200}
Use Case: Comparative market analysis across European cities
🔧 Troubleshooting
Common Issues
Issue: "No results found"
Causes:
- Search term not relevant for that country
- Location doesn't exist in that country
- Very specific search with few results
Solutions:
- Try broader search terms (e.g., "restaurant" instead of "vegan gluten-free pizza")
- Verify location spelling
- Check if location is in the selected country
Issue: "Actor ran but got fewer results than expected"
Causes:
- Not enough businesses match search criteria
- Some pages failed to load
Solutions:
- Check dataset for errors (actor saves partial data)
- Try different search terms
- Reduce maxResults expectation
Issue: "403 Error when testing locally"
This is normal! Yelp blocks non-residential IPs.
Solution: Actor works perfectly on Apify with their proxy infrastructure. Don't test locally.
🚀 Advanced Usage
API Integration
// Run actor via Apify APIconst run = await apifyClient.actor("YOUR_ACTOR_ID").call({country: "Germany",searchTerms: ["restaurant"],location: "Berlin",maxResults: 100});// Get resultsconst { items } = await apifyClient.dataset(run.defaultDatasetId).listItems();
Webhook Integration
Set up webhooks to trigger on actor completion:
- Go to actor "Settings"
- Add webhook URL
- Select "Run succeeded" event
- Get notified when data is ready
Scheduled Runs
Monitor business data changes:
- Create schedule (daily, weekly, monthly)
- Same input configuration
- Compare datasets over time
Data Processing
Python Example:
import pandas as pd# Load datasetdf = pd.read_csv('yelp_results.csv')# Analyze ratingsavg_rating = df['07_rating'].str.extract('(\\d\\.\\d)').astype(float).mean()# Filter by pricecheap_eats = df[df['12_priceRange'] == '$']# Export filteredcheap_eats.to_excel('cheap_restaurants.xlsx')
📚 Additional Resources
- CHANGELOG.md: Version history and detailed changes
- TESTING.md: Testing guide for all 32 countries
- IMPLEMENTATION_SUMMARY.md: Technical architecture details
🙋 Support
Need Help?
- Check this README: Most questions answered here
- Review Examples: See sample inputs/outputs above
- Test with Small Dataset: Start with maxResults=10 to test
- Contact Support: Use Apify support if issues persist
Feature Requests
Open an issue on GitHub or contact the developer.
📄 License
This actor is available for use on the Apify platform.
🏆 Why Choose This Scraper?
✅ Bulletproof Reliability: Triple retry logic, fallback selectors, partial data saving ✅ Global Coverage: 32 countries with language-specific optimizations ✅ Fast Performance: 5x parallel processing ✅ Comprehensive Data: 17 fields per business ✅ Production Ready: Tested, documented, and optimized for Apify ✅ Easy to Use: 4 fields to configure, results in minutes
Start scraping Yelp data now → Run on Apify
On this page
Share Actor: