VOOZH about

URL: https://apify.com/datacach/ubereats-menu-scraper

โ‡ฑ UberEats Menu Scraper + Analytics ยท Apify


Pricing

from $0.69 / 1,000 menu_items

Go to Apify Store

UberEats Menu Scraper + Analytics

Extract full menus from any UberEats store. Paste store URLs, get menu items with prices, images, and sections โ€” plus per-store analytics (price/image coverage, min/max/avg price). Multi-country support. Ideal for price monitoring and competitive restaurant analysis.

Pricing

from $0.69 / 1,000 menu_items

Rating

0.0

(0)

Developer

๐Ÿ‘ DataCach

DataCach

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

2

Monthly active users

a month ago

Last modified

Share

๐Ÿ” UberEats Menu Scraper + Analytics

Extract complete, structured menu data from any UberEats store โ€” including item names, prices, sections, descriptions, and images. Just paste the store URLs directly from your browser. No UUIDs, no API keys, no setup required.

Built for price monitoring, competitive restaurant analysis, food-tech applications, and AI-powered food discovery.


๐Ÿ’ฐ Transparent, usage-based pricing

$6.90 per 1,000 menu items โ€” you only pay for what you extract.

VolumeEstimated cost
1 store ร— 50 items~$0.35
20 stores ร— 50 items~$6.90
100 stores ร— 50 items~$34.50
500 stores ร— 50 items~$172.50

Higher Apify subscription tiers (Bronze, Silver, Gold) automatically receive discounted rates. No hidden fees, no per-run charges beyond the standard Actor start cost.


โœจ What does this Actor do?

  • Accepts one or more UberEats store page URLs copied directly from your browser.
  • Automatically decodes the store identifier from the URL โ€” works for both US and international stores.
  • Fetches all stores concurrently with a built-in retry mechanism for maximum reliability.
  • Extracts every menu item across all sections and subsections.
  • Computes per-store analytics (price coverage, image coverage, min/max/avg price, promotion detection).
  • Outputs structured data across three separate datasets ready for JSON, CSV, or Excel export.
  • Enforces limits for free Apify accounts automatically.

๐Ÿ“ Input

FieldTypeRequiredDescription
store_urlsstring[]YesUberEats store page URLs to scrape. Paste directly from your browser.
country_codestringNo (default: "us")ISO country code fallback. Auto-detected from URLs when possible.

Supported URL formats

Both US and international UberEats URLs are supported:

# US โ€” UUID is visible directly in the URL
https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c
# International
https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA

Example input

{
"store_urls":[
"https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c",
"https://www.ubereats.com/cl/store/arma-tu-hamburguesa-arica/reNyJaIAXPiMDQ7hjscVHA"
]
}

How to find a store URL

Navigate to any restaurant on ubereats.com and copy the URL from your browser's address bar. That's it.


๐Ÿ“ฆ Output

This Actor produces three separate datasets per run, each accessible from the Storage tab in the Apify run detail.


1. Default dataset โ€” Menu Items

One record per menu item. This is the main output.

{
"subsection_id":"2c05b603-56ea-5441-97f9-019f8a7ebc2f",
"subsection_name":"Most Popular",
"store_id":"ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
"section_id":"c65630da-f63f-5258-8f7d-f94f2bbba0cb",
"section_name":"Lunch",
"country_code":"us",
"region_code":"dc",
"data_file":"ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
"has_customizations":true,
"is_sold_out":false,
"is_available":true,
"menu_item_id":"a34b9dd7-c831-5b77-bfd4-56ffa252feab",
"menu_item_name":"Medium French Fries",
"menu_item_price":499,
"menu_item_price_promotion":null,
"menu_item_price_tagline":{
"text":"$4.99 โ€ข 320 Cal.",
"textFormat":"<span>$4.99<span style=\"color:#757575\"> โ€ข 320 Cal.</span></span>",
"accessibilityText":"$4.99, 320 Cal."
},
"menu_item_description":null,
"menu_item_image":"https://tb-static.uber.com/prod/image-proc/processed_images/c821c5db2718d95dd1fd68002987ec27/c67fc65e9b4e16a553eb7574fba090f1.jpeg",
"store_url":"https://www.ubereats.com/store/mcdonalds-bwr-rbd-80017-ny-aves/ad2a8786-4e0e-45f4-a79f-a1dfb38d797f",
"extraction_date":"2026-03-25",
"extraction_datetime":"2026-03-25T06:20:40.673495+00:00",
"main_task_id":"4e8b5aba-a061-4350-8852-32f114f8eabe",
"main_task_started":"2026-03-25T06:20:38.745046+00:00",
"position":0
}
FieldTypeDescription
menu_item_idstringUnique UUID of the menu item
menu_item_namestringDisplay name
menu_item_priceintegerRaw price in the smallest currency unit (divide by 100 for most countries)
menu_item_price_promotionstring | nullPromotional price tagline if a discount is active
menu_item_price_taglineobjectFormatted price object from the UberEats API
menu_item_descriptionstring | nullItem description
menu_item_imagestring | nullImage URL
store_idstringUUID of the parent store
section_namestringMenu section name
subsection_namestringMenu subsection name
has_customizationsbooleanWhether the item has customizable options
is_sold_outbooleanWhether the item is currently sold out
is_availablebooleanWhether the item is currently available
country_codestringISO country code of the store
extraction_datestringISO date of extraction (YYYY-MM-DD)
extraction_datetimestringISO datetime in UTC
main_task_idstringUUID shared across all items in the same run
main_task_startedstringISO datetime when the run started

2. store-analytics dataset โ€” Per-store Summary

One record per scraped store. Useful for competitive benchmarking, data quality audits, and price intelligence dashboards.

{
"store_id":"ade37225-a200-5cf8-8c0d-0ee18ec7151c",
"country_code":"cl",
"total_sections":4,
"total_subsections":12,
"total_items":38,
"price_coverage_pct":100.0,
"image_coverage_pct":94.74,
"min_price":150000,
"max_price":650000,
"avg_price":312500.0,
"has_promotions":false,
"extraction_date":"2026-03-25",
"extraction_datetime":"2026-03-25T04:30:35.319213+00:00",
"main_task_id":"36a31035-82ad-41a0-8b24-37ade70e2c44",
"main_task_started":"2026-03-25T04:30:31.438177+00:00"
}
FieldDescription
total_sections / total_subsections / total_itemsMenu structure counts
price_coverage_pct% of items with a non-zero price (0โ€“100)
image_coverage_pct% of items with an image URL (0โ€“100)
min_price / max_price / avg_pricePrice statistics in raw currency units
has_promotionstrue if at least one item has an active promotional price

3. run-summary dataset โ€” Run-level Report

One record per Actor run. Ideal for monitoring scheduled runs, auditing failures, and tracking extraction history.

{
"main_task_id":"36a31035-82ad-41a0-8b24-37ade70e2c44",
"main_task_started":"2026-03-25T04:30:31.438177+00:00",
"main_task_finished":"2026-03-25T04:31:10.000000+00:00",
"country_code":"cl",
"stores_requested":5,
"stores_succeeded":4,
"stores_failed":1,
"failed_store_ids":["ade37225-a200-5cf8-8c0d-0ee18ec7151c"],
"total_menu_items":142,
"free_user":false
}

๐Ÿ’Ž Free vs Paid

FeatureFreePaid
Store URLs per run1Up to 500
Menu items returned5Unlimited
Multi-country in one runโŒโœ…
Per-store analytics datasetโŒโœ…
Run summary datasetโŒโœ…
Concurrent fetching (up to 32 workers)โŒโœ…
Bulk scraping for price monitoringโŒโœ…

Free account limits

When running with a free Apify account, the following restrictions apply automatically:

  • Only the first store URL is processed.
  • A maximum of 5 menu items is returned.

Upgrade to a paid Apify plan to unlock bulk scraping, full analytics, and multi-country support.


๐Ÿš€ How to run

Apify Console

  1. Click Try for free on this page.
  2. Paste your UberEats store URLs into the store_urls field.
  3. Click Start and wait for the run to complete.
  4. Download results from the Storage tab in JSON, CSV, or Excel format.

Apify API

curl-X POST \
"https://api.apify.com/v2/acts/datacach~ubereats-menu-scraper/runs?token=YOUR_TOKEN"\
-H"Content-Type: application/json"\
-d'{
"store_urls": [
"https://www.ubereats.com/store/mcdonalds-fillmore/209c6d0b-8bf5-579c-926b-436bd3bf839c"
]
}'

Schedule recurring runs

Use Apify's built-in Scheduler to monitor menus on a daily or weekly basis and detect price changes over time.


๐Ÿ›  Technical notes

  • Built with Python 3 and the Apify SDK.
  • Concurrent store fetching via asyncio with a semaphore (up to 32 workers by default).
  • Automatic retry โ€” stores that fail on the first attempt are retried once with a fresh authentication token before being marked as permanently failed.
  • URL decoding โ€” international UberEats URLs encode the store ID as a URL-safe base64 hash; the Actor decodes it automatically.
  • Duplicate URLs in the input are deduplicated while preserving order.
  • Supports UberEats menu API formats v1 (catalogSectionsMap) and v2 (sectionEntitiesMap).
  • All timestamps are in UTC.

๐Ÿ”— Related Actors

ActorDescription
UberEats โ€“ Stores Search by Location and KeywordSearch for UberEats stores by location and keyword. Use it to discover store URLs, then feed them directly into this Actor to extract their full menus.
UberEats โ€“ Brand Listing by CountryGet every brand listed on UberEats for one or more countries.

๐Ÿ’ฌ Support

Need help or have a feature request? Reach us via the Apify inbox on our profile page.

โœจ Credits

Developed and maintained by the DataCach team.


This Actor is neither affiliated with, sponsored by, nor endorsed by Uber Eats or Uber Technologies Inc. Use responsibly and in accordance with the Apify Terms of Service and Uber Eats' own terms of use.

You might also like

UberEats Menu Scraper

crawlerbros/ubereats-menu-scraper

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

12

UberEats Menu Scraper

jungle_synthesizer/ubereats-menu-scraper

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

๐Ÿ‘ User avatar

BowTiedRaccoon

2

UberEats Restaurant Data Scraper

freecamp008/ubereats-restaurant-data-scraper

Extract comprehensive restaurant data from UberEats including menus, prices, ratings, reviews, delivery information, and more. Perfect for food delivery aggregation, market research, price comparison, and competitive analysis.

UberEats Reviews Scraper

e-commerce/ubereats-reviews-scraper

Ubereats Reviews allows you to scrape reviews by simply adding the UberEats URLs

136

4.1

Website Menu Enrichment Scraper

gtgyani206/website-menu-enrichment-scraper

Restaurant Website Menu Scraper & Enrichment extracts structured menu data, menu sections, and prices from restaurant websites. It is designed for Apify workflows that start with Google Maps or local business discovery and then enrich each restaurant record with website-only menu coverage

๐Ÿ‘ User avatar

Gyanendra Thakur

8