Uber Eats Email Scraper avatar

Uber Eats Email Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Uber Eats Email Scraper

Uber Eats Email Scraper

Uber Eats Email Scraper SD - Uber Eats Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Uber Eats results by keyword, location and email domain - Uber Eats email extractor.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Leads Scraper

Leads Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Uber Eats Email Scraper

Uber Eats Email Scraper collects publicly visible business contact emails from Uber Eats pages that Google has already indexed. It turns a keyword and a city into a usable restaurant owner email list you can import straight into a CRM.

Uber Eats Email Scraper is built for B2B teams selling to restaurants and takeaways: POS vendors, delivery integrators, food distributors, packaging suppliers, hospitality recruiters and local agencies that need food delivery leads for restaurant lead generation.

Read this before you run it. Uber Eats indexes city and category pages far more heavily than individual store pages, so most rows carry an email without a store handle. That is the defining characteristic of this Actor, and it is not a bug.

In our own test run, on a sample of about 10 parsed results, only 2 rows had an account identity and 2 had a profile URL - but 10 unique emails were found. Email volume on Uber Eats is high; handle coverage is low.

So the honest framing is this: Uber Eats Email Scraper is excellent if you want addresses, and poor if you need a merchant handle on every row. Need a handle per lead? The Grubhub Email Scraper beat it there.

Uber Eats Email Scraper does not log in, does not use any Uber Eats API, and never opens the Uber Eats website. There is no browser and no JavaScript rendering - every field comes from public Google search results fetched through the Apify GOOGLE_SERP proxy.

Why this Actor exists on Uber Eats

Restaurant listings publish a business address so diners can arrange catering, large group orders and reservations. Those addresses are business contact points, which is what makes the catering leads Uber Eats Email Scraper returns legitimate B2B targets.

What you get back is a lead row per email: the address, the domain it matched, the keyword and query that found it, the raw title and a cleaned snippet. Uber Eats Email Scraper adds an account name and a store handle whenever Google actually printed one.

Uber Eats is also the most international platform in this family. Uber Eats Email Scraper works against US, UK, French, Australian and many other Uber Eats markets, which makes it the broadest source of merchant contact data in the batch.

Note that Postmates has been folded into Uber Eats. The Postmates Email Scraper still runs, but its pages mostly redirect here and it is largely superseded by this Actor.

Key features of Uber Eats Email Scraper

Every capability below is something the code actually does. Nothing in this table is aspirational.

FeatureWhat it does
Google SERP parsingReads Google result blocks structurally by locating the <h3> and its smallest surrounding block, so it does not depend on Google's CSS class names
site: operator targetingEvery query is scoped to ubereats.com, so results stay on-platform
Query expansionBase, quoted and intitle: phrasings, plus one variant per query modifier; base queries run first
Domain filteringOnly emails ending in your customDomains are kept, with boundary-correct matching
Obfuscated email decodingUnderstands name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width @
Email deduplicationGlobal dedupe across every query and every page in the run
Junk filterRejects placeholders such as email@, yourname@, test@, xxx@ and single-character locals
Soft-wrap repairDrops a hit that is only the tail of another email in the same block
Snippet extractionCleans bio and caption text of labels and engagement counters
Concurrency controlAn asyncio worker pool with a shared stop signal once maxEmails is reached
Exponential backoffUp to 3 attempts per page, with a fresh proxy session per request
CAPTCHA detectionCAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty
Failed-query requeueBlocked or failed queries are re-queued once at the end of the run
Resumable runsState is kept in the key-value store keyed by an input hash, and saved on PERSIST_STATE, MIGRATING and ABORTING
Fallback parserIf Google's markup changes, the run degrades to "emails without account details" rather than "no emails"
Dataset exportResults stream into the Apify dataset immediately, ready for CSV, JSON or Excel export
Run summaryLogs pages fetched, blocked pages, retries and emails per page

Two of these matter more on this platform than elsewhere. Domain filtering decides how much Uber Eats Email Scraper finds outside the US, and the fallback parser is why a low-handle platform still yields a usable restaurant email list rather than nothing.

Taken together they make it a practical restaurant email extractor rather than a generic email scraping tool: every query is scoped to one domain, and every address is checked against your own domain list before it reaches the dataset.

How Uber Eats Email Scraper works

Six steps, start to finish. Uber Eats Email Scraper pushes each lead as soon as it is found, so you can watch the dataset fill during the run.

  1. Reads your input - keywords, location, email domains and the run limits.
  2. Builds site: queries against ubereats.com, combining each keyword with each email domain and, when expansion is on, with each query modifier.
  3. Fetches Google result pages through the Apify GOOGLE_SERP proxy over async HTTP, with proxy rotation on every request.
  4. Parses each result block structurally, finding the <h3> title and then the smallest block that surrounds it.
  5. Extracts emails from that block's text with a domain-filtered regex, after normalising obfuscated and full-width forms.
  6. Deduplicates globally and pushes each lead to the dataset straight away.

Query expansion is the step that decides your yield. With expandQueries on, each keyword is paired with every email domain and every modifier, so one keyword becomes a family of site: queries rather than a single capped one.

Because Uber Eats Email Scraper never renders a page, it is cheap to run and cannot see anything a logged-out Google user could not see. That is also why handle coverage here is what it is - Google does not print a store slug on most indexed Uber Eats pages.

Input for Uber Eats Email Scraper

These are the nine input fields of Uber Eats Email Scraper, with titles and defaults exactly as they appear in the Actor's input schema.

FieldTitleTypeDefaultMeaning
keywordsKeywords or Queriesarray (required)["restaurant","takeaway"]Search terms describing the Uber Eats accounts you want
locationLocationstring""Optional location phrase added to every query
customDomainsEmail domains (e.g. @gmail.com, @yahoo.com)array["@gmail.com","@yahoo.com"]Only emails on these domains are kept; the @ is optional
maxEmailsMax emailsinteger 1-1000020Stop once this many unique emails are collected
countryCodeGoogle country (optional)string""Two-letter country for the search proxy (US, GB, DE...)
expandQueriesExpand queriesbooleantrueSearch each keyword x domain pair in several phrasings
queryModifiersQuery modifiersarray["email","contact","catering","reservations","owner"]Extra words combined with each keyword when expansion is on
maxPagesPerQueryMax Google pages per queryinteger 1-5030Page cap per query
maxConcurrencyMax concurrencyinteger 1-205How many queries run in parallel

A realistic Uber Eats Email Scraper input for city-level prospecting in Chicago:

{
"keywords": ["restaurant", "takeaway", "pizza"],
"location": "Chicago",
"customDomains": ["@gmail.com", "@yahoo.com"],
"maxEmails": 300,
"countryCode": "US",
"expandQueries": true,
"queryModifiers": ["email", "contact", "catering", "reservations", "owner"],
"maxPagesPerQuery": 30,
"maxConcurrency": 5
}

Start with maxEmails low - 20 or 50 - to see what a market returns before committing spend. Once the shape of the restaurant contact database looks right, raise the cap and rerun Uber Eats Email Scraper with the same keywords.

Getting location right

location is a plain string appended to every query, and it is the most useful knob in Uber Eats Email Scraper - restaurant prospecting is inherently local, and a sales rep wants a territory, not a national blob.

Run one city per run ("Chicago", "Manchester", "Lyon") and keep each dataset separate. The output then arrives already shaped like a territory list, before anyone touches a spreadsheet.

In dense metros, drop to the neighbourhood or borough - "Brooklyn", "Shoreditch", "Le Marais". A borough-level pass usually surfaces independent operators that a city-level pass buries under chains.

Pair location with countryCode so the search proxy resolves the right Google locale. Widen to a state or region only when a city genuinely returns too little to work with.

Remember that location is matched as text on the indexed page. A city name that Uber Eats never prints on its own pages will simply narrow your results to nothing, so prefer the spelling the platform itself uses.

countryCode matters more here than anywhere else

Uber Eats is the most international platform this family covers, so treat countryCode as a first-class input rather than an afterthought. Run separate Uber Eats Email Scraper passes for US, GB, FR, AU and any other market you sell into.

Keep those datasets apart. A single blended export mixes currencies, languages and legal regimes, which makes both segmentation and compliance harder than they need to be.

Widen customDomains outside the US as well. The @gmail.com / @yahoo.com defaults miss most European and Asia-Pacific operators - add @hotmail.fr, @orange.fr, @btinternet.com, @outlook.com, @bigpond.com and similar consumer-mail domains per market.

That one change is usually the difference between a thin non-US run and a full one, because domain filtering is applied before anything else. Uber Eats Email Scraper cannot keep an address whose domain you never asked for.

Output of Uber Eats Email Scraper

Every dataset item from Uber Eats Email Scraper carries all fourteen fields below, always in this order.

FieldMeaning
networkPlatform name
keywordThe keyword that produced the lead
queryThe exact Google query used
titleRaw result title
accountNameAccount label Google prints (handle or display name)
fullNameDisplay name parsed from a profile-style title; empty for snippet-only results
usernameURL-safe handle when the platform exposes one; otherwise null
profileUrlCanonical account URL when a handle is known; otherwise empty
urlDirect platform link when exposed, else the profile URL
descriptionBio or snippet text, cleaned of labels and engagement counters
emailLower-cased email address
emailDomainThe matched domain (e.g. @gmail.com)
possiblyTruncatedtrue when Google's snippet ellipsis touched the email - verify before sending
foundAtISO 8601 UTC timestamp

Three sample rows. Note the second and third: on this platform those handle-less rows are the common case, not the exception.

[
{
"network": "Uber Eats",
"keyword": "restaurant",
"query": "site:ubereats.com restaurant \"@gmail.com\" \"Chicago\"",
"title": "Mario's Trattoria - Chicago - Uber Eats",
"accountName": "Mario's Trattoria",
"fullName": "Mario's Trattoria",
"username": "marios-trattoria-chicago",
"profileUrl": "https://www.ubereats.com/store/marios-trattoria-chicago",
"url": "https://www.ubereats.com/store/marios-trattoria-chicago",
"description": "Family-run Italian kitchen. Catering and large orders: mario.catering@gmail.com",
"email": "mario.catering@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": false,
"foundAt": "2025-11-04T09:12:47Z"
},
{
"network": "Uber Eats",
"keyword": "takeaway",
"query": "site:ubereats.com takeaway contact \"@gmail.com\" \"Chicago\"",
"title": "Takeaway near Lincoln Park, Chicago | Uber Eats",
"accountName": "Uber Eats Chicago",
"fullName": "",
"username": null,
"profileUrl": "",
"url": "https://www.ubereats.com/city/chicago-il",
"description": "Order takeaway near Lincoln Park. Bookings and catering: northside.kitchen@yahoo.com",
"email": "northside.kitchen@yahoo.com",
"emailDomain": "@yahoo.com",
"possiblyTruncated": false,
"foundAt": "2025-11-04T09:13:02Z"
},
{
"network": "Uber Eats",
"keyword": "restaurant",
"query": "site:ubereats.com restaurant catering \"@gmail.com\" \"Manchester\"",
"title": "Best Restaurants in Manchester | Uber Eats",
"accountName": "Uber Eats Manchester",
"fullName": "",
"username": null,
"profileUrl": "",
"url": "https://www.ubereats.com/gb/city/manchester-eng",
"description": "Catering enquiries - northern.spice.events@gmail.com - group orders welcome...",
"email": "northern.spice.events@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": true,
"foundAt": "2025-11-04T09:13:55Z"
}
]

Export the Uber Eats Email Scraper dataset as CSV, JSON or Excel from the Apify console, or pull it through the API for CRM import. The default dataset view already surfaces the eight fields that matter for cold email outreach and lead enrichment.

Use cases for Uber Eats Email Scraper

Because Uber Eats Email Scraper returns addresses far more reliably than handles, it suits buyers whose first action is an email rather than a profile lookup.

BuyerHow they use it
POS and online-ordering vendorsBuild POS sales leads city by city, then sequence a pitch at merchants already selling delivery
Delivery and integration platformsFind operators on one marketplace and pitch multi-channel order routing
Food distributors and wholesalersSegment by cuisine keyword so a catalogue reaches the right kitchens
Packaging and disposables suppliersTarget takeaway-heavy keywords where container volume is highest
Equipment and repair companiesBuild local restaurant leads inside a service radius using neighbourhood-level runs
Hospitality recruitersReach chefs, GMs and front-of-house hiring managers at independent venues
Local marketing and SEO agenciesProspect independents with a delivery presence but a thin web presence
Catering brokersFilter snippets for catering language and work the resulting catering leads directly
Market researchersMeasure merchant density per city and per cuisine across countries

For ICP targeting, the keyword field is the one to build on. It records which search term produced each lead, so one Uber Eats Email Scraper run splits into several segmented restaurant marketing leads lists afterwards, without re-scraping.

Every buyer above is doing B2B restaurant outreach to a published business address. That is the only use these food delivery leads are suited to, and the responsible use notes below apply to all of them.

Hospitality lead generation teams tend to run the same city monthly. Because deduplication is per run, comparing two Uber Eats Email Scraper exports on the email column shows you which merchants are newly indexed since last time.

Example runs for Uber Eats Email Scraper

Four recipes covering most of what people ask Uber Eats Email Scraper to do.

Single-city territory list. keywords: ["restaurant"], location: "Chicago", countryCode: "US", maxEmails: 300. One rep, one territory, one dataset - the cleanest starting point for restaurant lead generation.

Cuisine segmentation. keywords: ["pizza","sushi","taqueria","halal"], location: "Brooklyn". Each keyword lands in the keyword field, so one export becomes four cuisine-shaped local restaurant leads lists.

International pass. Run the same keywords four times with countryCode set to US, GB, FR and AU, widening customDomains for each market. Four Uber Eats Email Scraper runs, four locales, four datasets, no blending.

Catering-only sweep. queryModifiers: ["catering","events","large orders"] with expandQueries: true. Narrower and slower, but the snippets that come back are far more likely to be genuine catering leads.

For a second US source, run the DoorDash Email Scraper or the Grubhub Email Scraper and merge on email.

Outside the US, the Just Eat Email Scraper and TheFork Email Scraper cover adjacent catalogues.

Responsible use

These are business contact addresses, published so diners and partners can arrange catering, large orders and reservations. Treat them as B2B contact points, not as personal data to harvest.

Identify yourself and your company in the first line. Say plainly why you are writing to that business address, and keep the message relevant to running a restaurant.

Honour opt-outs immediately and include a working unsubscribe link in every send, as CAN-SPAM requires. Do not mail consumers, and do not reuse a list for an unrelated campaign.

Under GDPR, keep a record of your lawful basis - usually legitimate interest - including the balancing test and the source of each address. Suppress anyone who objects, and keep that suppression list permanently.

Uber Eats Email Scraper collects only what Google already publishes, but what you do with a list afterwards is your responsibility. This is not legal advice; obligations depend on where you and the recipient are based, so check them with your own counsel.

Limitations of Uber Eats Email Scraper

Read this list before you buy compute. These are the real constraints of Uber Eats Email Scraper, ordered by how often they surprise people.

  1. Most rows have no store handle. Uber Eats indexes city and category pages more than store pages, so the typical row carries an email but no merchant handle. In our test run only 2 of about 10 parsed results had an account identity or a profile URL.
  2. Only publicly indexed emails. If an address is not visible in Google's index, the Actor cannot find it. There is no login and no private data access.
  3. Google caps a single query at roughly 300 results. That cap is precisely why query expansion exists - leave expandQueries on unless you have a reason not to.
  4. possiblyTruncated: true means verify first. Google's snippet ellipsis may have cut the address short, so check those rows before sending.
  5. Requires the Apify GOOGLE_SERP proxy. The Actor cannot run without Apify proxy credentials.
  6. Free Apify plans are capped at 100 emails per run. Paid plans are uncapped.
  7. username and profileUrl are only populated when Google exposes a handle. Otherwise you get accountName and fullName with an empty handle. This is a Google limitation, not a bug.
  8. No volume is guaranteed. Results vary with your keywords, domains and location.

Uber Eats Email Scraper FAQ

How many results should I expect?

In our own test run, on a sample of about 10 parsed results, we saw 2 rows with an account identity, 2 with a profile URL, and 10 unique emails. One run's observation, not a guarantee.

Why is username null on so many rows?

Uber Eats indexes city and category landing pages more heavily than store pages, and Google prints no store slug on those. Uber Eats Email Scraper reports what Google shows.

Is the Actor still worth running, then?

Yes, if you need addresses - email volume was the joint-highest in our batch. For a handle on every lead, Grubhub suits you better.

Should I run the Postmates Actor as well?

Generally no. Postmates is folded into Uber Eats and most of its pages redirect here, so the Postmates Email Scraper is superseded.

Does Uber Eats Email Scraper log in or use the Uber Eats API?

No. It never logs in, never calls an Uber Eats API and never opens the Uber Eats website, and it is not affiliated with or endorsed by Uber Eats.

Which countries does it work in?

Any market Uber Eats operates in. Set countryCode on each Uber Eats Email Scraper run - US, GB, FR, AU - and keep the datasets separate rather than blending markets.

Why am I getting so few results outside the US?

Usually customDomains. The @gmail.com / @yahoo.com defaults miss most non-US operators, so add local consumer-mail domains for the market you are targeting.

Can I filter to business domains only?

Yes. Put the domains you want in customDomains - matching is boundary-correct, so @gmail.com will not match inside @gmail.company or @gmail.com.br.

What happens if my run is interrupted?

State is stored in the key-value store keyed by a hash of your input, and saved on Apify's PERSIST_STATE, MIGRATING and ABORTING events, so a resumed run continues.

Does it handle obfuscated addresses?

Yes - name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width @ are all normalised before matching.

What does Uber Eats Email Scraper cost to run?

Apify platform compute plus GOOGLE_SERP proxy usage. There is no separate fee for Uber Eats Email Scraper beyond your Apify plan, and a low maxEmails keeps a test run cheap.

How do I get the data into my CRM?

Export as CSV, JSON or Excel, or pull it through the Apify API. The email, accountName and keyword fields map cleanly onto most CRM import templates for restaurant prospecting.

ActorWhat it collects
Uber Eats Email and Phone Number ScraperEmails and phone numbers from Uber Eats
Uber Eats Phone Number ScraperPublic phone numbers from Uber Eats
Airbnb Email ScraperPublic contact emails from Airbnb
Booking.com Email ScraperPublic contact emails from Booking.com
Caviar Email ScraperPublic contact emails from Caviar
ChowNow Email ScraperPublic contact emails from ChowNow
Contiki Email ScraperPublic contact emails from Contiki
Craigslist Email ScraperPublic contact emails from Craigslist
Delivery.com Email ScraperPublic contact emails from Delivery.com
DoorDash Email ScraperPublic contact emails from DoorDash
EatStreet Email ScraperPublic contact emails from EatStreet
G Adventures Email ScraperPublic contact emails from G Adventures
GetYourGuide Email ScraperPublic contact emails from GetYourGuide
Grubhub Email ScraperPublic contact emails from Grubhub
Hostelbookers Email ScraperPublic contact emails from Hostelworld
HotelsCombined Email ScraperPublic contact emails from HotelsCombined
Intrepid Travel Email ScraperPublic contact emails from Intrepid Travel
Just Eat Email ScraperPublic contact emails from Just Eat
Klook Email ScraperPublic contact emails from Klook
OpenTable Email ScraperPublic contact emails from OpenTable
Resy Email ScraperPublic contact emails from Resy
TheFork Email ScraperPublic contact emails from TheFork
Toast Restaurant Email ScraperPublic contact emails from Toast
TourRadar Email ScraperPublic contact emails from TourRadar
Traveloka Email ScraperPublic contact emails from Traveloka
Tripadvisor Attractions Email ScraperPublic contact emails from Tripadvisor
Tripadvisor Hotels Email ScraperPublic contact emails from Tripadvisor
Tripadvisor Restaurants Email ScraperPublic contact emails from Tripadvisor
Viator Email ScraperPublic contact emails from Viator
Wanderlog Email ScraperPublic contact emails from Wanderlog
Wego Email ScraperPublic contact emails from Wego
Zomato Email ScraperPublic contact emails from Zomato
Airbnb Email and Phone Number ScraperEmails and phone numbers from Airbnb
Booking.com Email and Phone Number ScraperEmails and phone numbers from Booking.com
Caviar Email and Phone Number ScraperEmails and phone numbers from Caviar
ChowNow Email and Phone Number ScraperEmails and phone numbers from ChowNow
Contiki Email and Phone Number ScraperEmails and phone numbers from Contiki
Craigslist Email and Phone Number ScraperEmails and phone numbers from Craigslist
Delivery.com Email and Phone Number ScraperEmails and phone numbers from Delivery.com
DoorDash Email and Phone Number ScraperEmails and phone numbers from DoorDash
EatStreet Email and Phone Number ScraperEmails and phone numbers from EatStreet
G Adventures Email and Phone Number ScraperEmails and phone numbers from G Adventures

Leave a review

If the Uber Eats Email Scraper saved you time, please leave a star rating and a short review on the Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to build next.

If something did not work, email neurodata.apify@gmail.com instead - bugs get fixed faster than they get complained about.