UberEats Menu Scraper avatar

UberEats Menu Scraper

Pricing

Pay per event

Go to Apify Store
UberEats Menu Scraper

UberEats Menu Scraper

Scrape full restaurant menus from UberEats. Extract restaurant info, all menu sections, items with prices, descriptions, and images.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Scrape full restaurant menus from UberEats. Provide one or more restaurant page URLs and this actor will extract all menu sections, items, prices, descriptions, and images — plus restaurant metadata like name, address, rating, and cuisine categories.

Features

  • Extracts complete menus from UberEats restaurant pages
  • One output record per menu item with full context (restaurant, section, price, image)
  • Works with any UberEats restaurant URL globally
  • Handles Cloudflare-protected pages via residential proxy

Input

FieldTypeDescription
restaurantUrlsarrayUberEats restaurant page URLs to scrape
maxItemsintegerMaximum number of menu items to collect

Example input:

{
"restaurantUrls": [
"https://www.ubereats.com/store/wendys-isabela/yucJTUkHWQaRH0b5IC8U9g",
"https://www.ubereats.com/store/subway-1510-w-main-st/WZc_lVtEV1eGI_Y4jII5yg"
],
"maxItems": 200
}

Finding restaurant URLs: Navigate to any restaurant on ubereats.com, open the restaurant page, and copy the URL from your browser. It will look like https://www.ubereats.com/store/{restaurant-name}/{id}.

Output

Each output record represents one menu item. All restaurant context is denormalized onto every record for easy analysis.

FieldDescription
restaurant_idUnique UberEats store UUID
restaurant_nameRestaurant display name
restaurant_urlUberEats store URL that was scraped
restaurant_ratingAverage star rating
restaurant_rating_countNumber of ratings
restaurant_price_rangePrice range indicator (e.g. $$)
restaurant_categoriesComma-separated cuisine/category tags
restaurant_addressFull street address
section_nameMenu section / category name (e.g. Burgers, Sides)
item_idUnique menu item ID
item_nameMenu item name
item_descriptionItem description / ingredients
item_pricePrice in USD (numeric)
item_price_formattedPrice as formatted string (e.g. $9.99)
item_image_urlURL of the item's thumbnail image
item_customizableWhether the item has customization options
scraped_atISO 8601 timestamp

Example output record:

{
"restaurant_id": "yucJTUkHWQaRH0b5IC8U9g",
"restaurant_name": "Wendy's Isabela",
"restaurant_url": "https://www.ubereats.com/store/wendys-isabela/yucJTUkHWQaRH0b5IC8U9g",
"restaurant_rating": 4.8,
"restaurant_rating_count": 37,
"restaurant_price_range": "",
"restaurant_categories": "Burgers",
"restaurant_address": "BO MORA CARR 2 KM 111 Isabela PR, San Juan, 00662",
"section_name": "Combos de Hamburger",
"item_name": "Classic Sencillo Combo",
"item_description": "Carne, Queso americano, mayonesa, ketchup, pepinillo, cebolla, tomate, lechuga",
"item_price": 7.98,
"item_price_formatted": "$7.98",
"scraped_at": "2026-06-04T17:40:05.673Z"
}

Notes

  • Menu data availability: Chain restaurants (McDonald's, Subway, Wendy's, etc.) reliably expose full menus via UberEats structured data. Some independent restaurants may not include menu data in their structured data — these are skipped with a warning in the run log.
  • Rate limiting: UberEats uses Cloudflare to protect its pages. This actor uses residential proxies to bypass challenges. Scraping hundreds of restaurants in one run may slow down due to proxy session management.
  • URL format: URLs must be full UberEats store URLs (https://www.ubereats.com/store/...). City or search pages are not supported.