Uber Eats Restaurant Scraper
Pricing
from $19.90 / 1,000 results
Uber Eats Restaurant Scraper
Scrape Uber Eats restaurant data at scale. Get menus with prices, ratings, delivery fees, and store details. Search hundreds of restaurants by location with full pagination. Perfect for market research, price monitoring, and competitor analysis.
Pricing
from $19.90 / 1,000 results
Rating
0.0
(0)
Developer

Yasmany Grijalba Casanova
Actor stats
1
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Extract comprehensive restaurant data from Uber Eats — one of the largest food delivery platforms in the United States.
Table of Contents
- Quick Start
- Features
- Use Cases
- How It Works
- Input Parameters
- Operation Modes
- Output Examples
- Data Fields
- Code Examples
- How to Get Coordinates
- Important Notes
- FAQ
- Support
Quick Start
Get started in three simple steps:
Step 1: Find restaurants in Miami
{"mode": "search_stores","latitude": "25.7617","longitude": "-80.1918","query": "Pizza","max_results": 100}
Step 2: Get restaurant details
{"mode": "store_info","store_url": "https://www.ubereats.com/store/dominos-pizza/abc123-def456"}
Step 3: Extract the menu
{"mode": "menu","store_url": "https://www.ubereats.com/store/dominos-pizza/abc123-def456"}
Tip: Start with
categoriesmode to discover available food types in your target location.
Features
| Feature | Description |
|---|---|
| Search All Restaurants | Get hundreds of restaurants with full pagination support |
| Complete Menu Data | Full menus with prices, descriptions, and customization options |
| Detailed Store Profiles | Address, ratings, delivery info, and operating hours |
| Category Discovery | Find available food categories in any US location |
| Real-Time Data | Fresh data directly from Uber Eats platform |
| Structured JSON Output | Clean, validated data ready for analysis |
Use Cases
How It Works
+------------------+ +------------------+ +------------------+ +------------------+| STEP 1 | | STEP 2 | | STEP 3 | | STEP 4 || Categories |--->| Search |--->| Store Info |--->| Menu || Discovery | | Stores | | Details | | Extraction |+------------------+ +------------------+ +------------------+ +------------------+| | | |v v v vFood types in All restaurants Complete store Full menu withyour location matching query information prices and items
Step 1: Discover Categories
Find what food categories are available in your target location:
{"mode": "categories","latitude": "25.7617","longitude": "-80.1918"}
Returns: Available food categories (Pizza, Sushi, Mexican, Chinese, etc.)
Step 2: Search All Restaurants
Get all restaurants matching your criteria with full pagination:
{"mode": "search_stores","latitude": "25.7617","longitude": "-80.1918","query": "Pizza","max_results": 500}
Returns: Up to 500 restaurants with name, ratings, delivery fees, ETA, and coordinates.
Step 3: Get Restaurant Details
Use the store_id or store_url from Step 2 to get complete restaurant information:
{"mode": "store_info","store_url": "https://www.ubereats.com/store/dominos-pizza/abc123-def456"}
Returns: Full address, ratings, phone number, operating hours, and more.
Step 4: Get Complete Menu
Extract the full menu with all items and prices:
{"mode": "menu","store_url": "https://www.ubereats.com/store/dominos-pizza/abc123-def456"}
Returns: Categories, items, prices, descriptions, images, and availability.
Input Parameters
Required Parameters
| Parameter | Type | Description |
|---|---|---|
mode | string | Operation mode: categories, search_stores, stores, store_info, or menu |
Mode-Specific Parameters
| Parameter | Type | Required For | Description |
|---|---|---|---|
latitude | string | categories, search_stores | Location latitude |
longitude | string | categories, search_stores | Location longitude |
query | string | stores, search_stores | Search term (e.g., "Pizza", "McDonald's") |
store_url | string | store_info, menu | Full Uber Eats restaurant URL |
store_id | string | store_info, menu | Restaurant UUID (alternative to store_url) |
Optional Parameters
| Parameter | Default | Description |
|---|---|---|
max_results | 1000 | Maximum restaurants to extract (up to 5000) |
request_waiting | 5 | Delay between requests in seconds (minimum: 3) |
Proxy Configuration
| Parameter | Default | Description |
|---|---|---|
useApifyProxy | true | Enable Apify Proxy (required for production) |
proxyGroups | ["RESIDENTIAL"] | Proxy group - RESIDENTIAL recommended |
proxyCountry | US | Proxy country code (US, CA, GB, DE, FR) |
Important: This actor requires Residential proxy to work properly. The default configuration uses Apify's Residential proxy which is automatically enabled when running on the Apify platform.
Proxy Configuration Example
{"mode": "search_stores","latitude": "25.7617","longitude": "-80.1918","query": "Pizza","useApifyProxy": true,"proxyGroups": ["RESIDENTIAL"],"proxyCountry": "US"}
Operation Modes
| Mode | Description | Required Parameters | Output |
|---|---|---|---|
categories | List available food categories | latitude, longitude | Food types in location |
search_stores | Extract all restaurants (paginated) | latitude, longitude, query | Up to 5000 restaurants |
stores | Quick search suggestions | query | Top 5 matching stores |
store_info | Get restaurant details | store_url or store_id | Complete store profile |
menu | Get menu items/products | store_url or store_id | Full menu with prices |
Output Examples
Categories Mode
{"latitude": "25.7617","longitude": "-80.1918","total": 20,"categories": [{"title": "Pizza", "titleTerm": "Pizza", "type": "restaurant_category"},{"title": "Sushi", "titleTerm": "Sushi", "type": "restaurant_category"},{"title": "Mexican", "titleTerm": "Mexican", "type": "restaurant_category"},{"title": "Chinese", "titleTerm": "Chinese", "type": "restaurant_category"},{"title": "Italian", "titleTerm": "Italian", "type": "restaurant_category"}]}
Search Stores Mode
{"query": "Pizza","latitude": "25.7617","longitude": "-80.1918","total": 374,"data": [{"store_id": "abc123-def456-...","name": "Domino's (18505 S Dixie Hwy)","slug": "dominos-18505-s-dixie-hwy","rating": 3.9,"review_count": "500+","eta_min": 15,"eta_max": 25,"delivery_fee": 149,"image_url": "https://tb-static.uber.com/prod/image.jpeg","is_orderable": true,"latitude": 25.59,"longitude": -80.35,"url": "https://www.ubereats.com/store/dominos-18505-s-dixie-hwy/abc123"}]}
Stores Mode (Quick Search)
{"query": "McDonald's","total": 5,"data": [{"store_id": "uuid","name": "McDonald's (Palmetto Bay)","slug": "mcdonalds-palmetto-bay","categories": ["Fast Food", "American", "Burgers"],"image_url": "https://...","is_orderable": true,"url": "https://www.ubereats.com/store/mcdonalds-palmetto-bay/uuid"}]}
Store Info Mode
{"name": "McDonald's","store_id": "c13edd5e-4ad7-4a86-80f3-a8fc6f114a17","slug": "mcdonalds-palmetto-bay","rating": {"ratingValue": 4.5,"reviewCount": "1000+"},"location": {"address": "17255 S Dixie Hwy","city": "Miami","latitude": 25.5918,"longitude": -80.3536},"hours": ["6:00 AM - 11:00 PM"],"phone": "+1 (305) 555-0123"}
Menu Mode
{"items": 45,"store_id": "c13edd5e-4ad7-4a86-80f3-a8fc6f114a17","data": [{"name": "Big Mac","description": "Two 100% beef patties, special sauce, lettuce, cheese...","product_id": "uuid","category": "Burgers","price_to": 7.99,"price_from": 0.0,"discount": 0.0,"available": "Y","has_customizations": "Y","rating": 92,"num_ratings": 1250,"endorsement": "Y","image": "https://tb-static.uber.com/prod/image.jpeg","created_at": "2025-01-31"}]}
Data Fields
Search Stores Mode
| Field | Type | Description |
|---|---|---|
store_id | string | Unique restaurant identifier (UUID) |
name | string | Restaurant name with location |
slug | string | URL-friendly name |
rating | number | Average rating (0-5 stars) |
review_count | string | Number of reviews (e.g., "500+") |
eta_min | number | Minimum delivery time (minutes) |
eta_max | number | Maximum delivery time (minutes) |
delivery_fee | number | Delivery fee in cents (149 = $1.49) |
image_url | string | Restaurant image URL |
is_orderable | boolean | Currently accepting orders |
latitude | number | Restaurant latitude |
longitude | number | Restaurant longitude |
url | string | Direct link to restaurant page |
Menu Mode
| Field | Type | Description |
|---|---|---|
name | string | Menu item name |
description | string | Item description |
product_id | string | Unique item identifier |
category | string | Menu category (e.g., "Burgers") |
price_to | number | Current price in USD |
price_from | number | Original price if discounted |
discount | number | Discount percentage (0-100) |
available | string | "Y" = Available, "N" = Unavailable |
has_customizations | string | "Y" = Has options, "N" = No options |
rating | number | Positive ratings percentage (0-100) |
num_ratings | number | Total number of ratings |
endorsement | string | "Y" = Popular item, "N" = Regular |
image | string | Item image URL |
created_at | string | Extraction date (YYYY-MM-DD) |
Code Examples
Python Integration
from apify_client import ApifyClient# Initialize the Apify clientclient = ApifyClient("your_apify_token")# Search for Pizza restaurants in Miamirun = client.actor("YOUR_USERNAME/uber-eats-restaurant-scraper").call(run_input={"mode": "search_stores","latitude": "25.7617","longitude": "-80.1918","query": "Pizza","max_results": 100,"useApifyProxy": True,"proxyGroups": ["RESIDENTIAL"],"proxyCountry": "US"})# Get results from datasetitems = client.dataset(run["defaultDatasetId"]).list_items().itemsrestaurants = items[0]["data"]print(f"Found {len(restaurants)} Pizza restaurants in Miami")# Display top 5 restaurantsfor restaurant in restaurants[:5]:print(f"- {restaurant['name']}")print(f" Rating: {restaurant['rating']} | ETA: {restaurant['eta_min']}-{restaurant['eta_max']} min")print(f" Delivery Fee: ${restaurant['delivery_fee']/100:.2f}")print()
JavaScript / Node.js Integration
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'your_apify_token' });const run = await client.actor('YOUR_USERNAME/uber-eats-restaurant-scraper').call({mode: 'search_stores',latitude: '25.7617',longitude: '-80.1918',query: 'Pizza',max_results: 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items[0].data.length} restaurants`);
How to Get Coordinates
Option 1: Google Maps
- Open Google Maps
- Right-click on any location in the United States
- Click on the coordinates to copy them
- Use the first number as
latitudeand second aslongitude
Option 2: Use Common City Coordinates
| City | Latitude | Longitude |
|---|---|---|
| Miami, FL | 25.7617 | -80.1918 |
| New York, NY | 40.7128 | -74.0060 |
| Los Angeles, CA | 34.0522 | -118.2437 |
| Chicago, IL | 41.8781 | -87.6298 |
| Houston, TX | 29.7604 | -95.3698 |
| San Francisco, CA | 37.7749 | -122.4194 |
| Las Vegas, NV | 36.1699 | -115.1398 |
| Phoenix, AZ | 33.4484 | -112.0740 |
| Dallas, TX | 32.7767 | -96.7970 |
| Nashville, TN | 36.1627 | -86.7816 |
Important Notes
| Topic | Details |
|---|---|
| Region | United States only - Uber Eats US market |
| Proxy | Residential proxy required (auto-configured on Apify) |
| Pagination | search_stores handles pagination automatically (80 stores/page) |
| Rate Limiting | Minimum 3-second delay between requests |
| Store Identification | Use either store_url OR store_id (not both) |
| Coordinates | Required for categories and search_stores modes |
FAQ
Support
Having issues? Here is how to get help:
- Check the FAQ above for common solutions
- Review your input parameters to ensure they match the required format
- Test with default values to ensure the actor is working
- Contact support through Apify for additional assistance