Uber Eats Restaurant Scraper
Pricing
from $6.00 / 1,000 restaurant details
Uber Eats Restaurant Scraper
Scrape Uber Eats restaurants and menus by city, search, or store URL. Extract restaurant name, rating, cuisine, address, delivery fee, menu items, prices, and reviews as clean JSON. Pay per result.
Pricing
from $6.00 / 1,000 restaurant details
Rating
0.0
(0)
Developer
Data Forge
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
Scrape Uber Eats restaurants and menus by city, search, or store URL. Restaurants from $1.50 / 1,000 results. Scrape a whole city's restaurants and menus in one run - restaurant name, rating, cuisine, address, menu items, prices, and reviews, exported as clean JSON, CSV, or Excel. Pay per result, no subscription.
Why this Actor?
| Capability | This Actor | Typical competitors |
|---|---|---|
| Full restaurant menus | 60-131 items each, with prices, photos, and dietary flags | Not included, or charged as an add-on |
| Restaurant fields | 17+ per restaurant (rating, cuisine, ETA, geo, phone, hours) | Fewer, listing-only fields |
| City coverage | Search plus whole-city listing, up to 200 restaurants per run | Single search page |
| Result sorting | Rating, recommended, or earliest arrival | Default order only |
| Reviews | Optional, up to 100 per restaurant | Not available |
| Input flexibility | Store URL, bare slug, restaurant name, or city plus search | One input mode |
| Pricing | Pay per result, from $1.50 / 1,000 | Monthly subscription |
What does the Uber Eats Restaurant Scraper do?
The Uber Eats Restaurant Scraper turns Uber Eats listings into structured data. Point it at a city and a search term ("pizza", "sushi", "vegan"), or drop in store URLs, and it returns restaurant listings, complete restaurant profiles, the menu behind each restaurant (sections, items, prices, photos, dietary labels), and optional reviews.
It runs at market scale: pull one restaurant, a search result page, or a whole city's restaurant landscape in a single run. Rows come back as flat JSON with consistent columns, ready for spreadsheets, dashboards, or an AI pipeline. You pay per result, so a test costs cents and a sweep stays predictable.
What data can you get from Uber Eats?
Restaurant fields
- Name, store slug, and Uber store UUID
- Average rating and review count
- Cuisine categories and price level ($ to $$$$)
- Address, latitude, and longitude
- Phone number
- Delivery time estimate (ETA min and max)
- Open-now status and opening hours
- Restaurant image and promoted/sponsored flag
Menu fields (per restaurant)
- Menu section and item counts
- Menu sections with their items
- Per item: name, description, price, photo, and dietary labels
Review fields (optional)
- Reviewer name, star rating, review text, and date
The menu structure is nested under the data.menu field on each restaurant detail row, so you keep flat columns for analysis and the rich object for deep dives.
How to scrape Uber Eats
- Open the actor. The input form comes prefilled with example values, so you can add a city or store URL and press Start.
- To target specific restaurants, paste Uber Eats store URLs (
.../store/...) or bare store slugs into Store URLs. Each returns a restaurant detail row plus its menu. - To cover a market, enter a City and a Search query like "burgers" or "ramen". Leave the search blank and turn on Scrape all restaurants to pull a whole city's restaurants instead.
- Add a delivery Address to anchor availability, set Max restaurants (up to 200), and optionally turn on Include reviews.
- Pick a Sort order and a Price range filter, then Start. Export to JSON, CSV, or Excel, or pull results through the API.
What can you scrape with it? Input examples
The input form is prefilled, so you can press Start right away. Copy any of these ready-to-run jobs to match your goal.
1. Search a city for a cuisine
You run a food blog and want every pizza spot in New York, with menus and prices, in one export.
{"city": "new-york-city","searchQuery": "pizza","maxResults": 100}
2. Every restaurant in a city
You are building a delivery-market dataset and need Chicago's full restaurant landscape, not just a single search page.
{"city": "chicago","listAll": true,"maxResults": 200}
3. Top-rated first
You are a franchise scout who only cares about the highest-rated sushi in the market, ranked from the top down.
{"city": "chicago","searchQuery": "sushi","sort": "rating","maxResults": 100}
4. Full menus for specific restaurants
You already know the restaurants and want each one's complete menu with per-item prices and dietary flags. Bare slugs or restaurant names work too - just add a City so we resolve them to the right location.
{"storeUrls": ["https://www.ubereats.com/store/pizza-hut-932-8th-ave/-8LRUcceXwC0jh4Qg32Y4Q"]}
5. Reviews for sentiment analysis
You are a product team mining what diners say about ramen spots, up to 50 reviews per restaurant across the top 30 places.
{"city": "new-york-city","searchQuery": "ramen","includeReviews": true,"maxReviewsPerRestaurant": 50,"maxResults": 30}
Output example
A restaurant detail row with its menu nested under data:
{"query": "pizza","row_type": "restaurant_detail","name": "Joe's Pizza","slug": "joes-pizza-carmine-st","address": "7 Carmine St, New York, NY 10014","rating": 4.7,"review_count": 1820,"price_range": "$","categories": ["Pizza", "Italian"],"phone": "+12123661182","delivery_time_min": 15,"delivery_time_max": 30,"is_open": true,"menu_item_count": 48,"data": {"menu": [{"name": "Classic Pies","items": [{"name": "Cheese Slice","price": 3.49,"dietary": ["Vegetarian"]}]}]}}
A review row:
{"query": "joes-pizza-carmine-st","row_type": "review","author": "Marcus D.","rating": 5,"text": "Best slice in the city and delivery was fast.","date": "2 weeks ago"}
Output row types
Every row carries a row_type field, so you can split the dataset by shape:
row_type | What it is | Price / 1,000 |
|---|---|---|
restaurant_result | A compact listing row from a city search or whole-city sweep | $1.50 |
restaurant_detail | A full restaurant profile with the complete menu nested under data.menu | $5.00 |
review | A single diner review (reviewer, rating, text, date) | $0.40 |
Error rows (a row_type plus error_code and error_message) are pushed when a restaurant cannot be resolved, and they are never charged.
How much does it cost to scrape Uber Eats?
You pay per result, no monthly fee.
| Result | Price | Per 1,000 |
|---|---|---|
| Restaurant listing | $0.0015 | $1.50 |
| Restaurant detail + menu | $0.005 | $5.00 |
| Review | $0.0004 | $0.40 |
Worked example: the $5 free Apify credits new accounts get cover about 3,300 restaurant listings ($5 / $0.0015), 1,000 restaurants with menus ($5 / $0.005), or 12,500 reviews ($5 / $0.0004). Error rows are never charged, so failed lookups do not eat your budget.
What can you use Uber Eats data for?
- Menu and price intelligence - track competitor dish prices and menu items across a market.
- Market coverage - map a city's restaurant landscape by cuisine, rating, and price tier.
- Competitor monitoring - watch a rival chain's ratings, menu items, and price changes.
- Food delivery research - analyze delivery ETAs and restaurant availability by neighborhood.
- Restaurant lead generation - build prospect lists by city and cuisine for sales outreach.
- Review and sentiment analysis - mine review text and ratings for product feedback.
- Pricing strategy - benchmark your menu against local competitors before a launch.
- Menu digitization - feed structured menu data into apps, aggregators, or AI training sets.
- Geographic expansion - spot underserved cuisines and neighborhoods before you open.
Is it legal to scrape Uber Eats?
Scraping publicly available information is generally legal, and this actor only collects public restaurant, menu, and review data visible to any visitor without an account. You are responsible for how you use it: follow applicable laws like GDPR and CCPA, respect intellectual property, and consult a lawyer if you are unsure.
FAQ
Is scraping Uber Eats legal? Scraping publicly available information is generally legal, and this Actor only collects public restaurant, menu, and review data that any visitor can see. You are responsible for how you use the data - follow applicable laws like GDPR and CCPA. See the legal note above for detail.
How fresh is the data? Every field is fetched live from Uber Eats on each run, so prices, ratings, ETAs, and menus reflect what is on the site at run time. Re-run or schedule the Actor to keep a dataset current.
What happens if a restaurant is not found?
The Actor pushes an error row (with error_code and error_message) for that input and keeps going with the rest of the run. Error rows are never charged, so one bad slug does not stop the job or cost you money.
Can I schedule it? Yes. Use Apify Schedules to run the Actor hourly, daily, or weekly, and connect webhooks or integrations (Google Sheets, Slack, S3, and more) to push fresh results downstream automatically.
Do I need an Uber Eats account? No credentials are required. You provide a city and search, or store URLs, and the Actor returns public data.
Can I get the menu for each restaurant?
Yes. Each restaurant detail row carries menu section and item counts as columns, and the full menu (60-131 items in our runs, with sections, prices, photos, and dietary labels) is nested under the data.menu field.
Can I run this from my own code or an AI agent? Yes. Start runs and read results through the Apify API, the JavaScript and Python SDKs, or MCP for AI agents and assistants. Each output format (JSON, CSV, Excel) is available programmatically.
How do I scrape a specific restaurant instead of a whole city? Paste its Uber Eats store URL, bare slug, or restaurant name into Store URLs (add a City so slugs and names resolve to the right location). You can mix several restaurants in one run.
Why are some fields empty? Listing rows carry fewer fields than detail rows, and review rows carry review fields. An empty value means the field does not apply to that row type or was not published by the restaurant. Add a precise delivery Address to anchor availability to a real location.
Related actors
More food, travel, and hospitality scrapers from the Data Forge fleet:
- π¨ Booking Hotels Scraper - hotel listings, prices, and availability across any destination for travel and hospitality research.
- β Booking Reviews Scraper - guest reviews and rating breakdowns to pair with restaurant sentiment analysis.
- πΊοΈ TripAdvisor Scraper - restaurant and hotel ratings, reviews, and rankings for travel and dining research.