Restaurant Leads Scraper — Emails & Rank avatar

Restaurant Leads Scraper — Emails & Rank

Pricing

from $1.87 / 1,000 restaurant delivereds

Go to Apify Store
Restaurant Leads Scraper — Emails & Rank

Restaurant Leads Scraper — Emails & Rank

Restaurant lead scraper for agencies and SaaS that sell to restaurants. Google Maps listing with booking platforms, website emails, optional local-pack rank and review velocity. City, postal codes or country sweep. No review text, photos or menus. Pay per restaurant delivered.

Pricing

from $1.87 / 1,000 restaurant delivereds

Rating

0.0

(0)

Developer

Pequod

Pequod

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Apify slug: pequod-labs/restaurant-leads

A restaurant email list tool for teams that sell to restaurants: review software, reservation platforms, websites, POS, photography. It searches Google Maps by city, postal code or country sweep (countryCode is required), then delivers structured restaurant leads — phone, address, rating, booking platforms, delivery platforms, website kind — with optional website emails, Instagram, local-pack rank and review velocity. You pay per restaurant delivered on Apify. No review text, no photos, no menus. No Google Maps API key and no proxies on your side.

Click Start in the Apify Console with the prefilled country (Italy) to try a capital-city demo. On the Apify free plan that demo is the whole allowance: 20 restaurants per run and 20 per UTC day (website emails, Instagram, delivery). Country sweep, local-pack rank, review velocity and Facebook stay off until you are on a paid Apify plan. Paid plans have no actor-side cap — you still pay per event.

InputcountryCode plus a city (locationQuery), postal codes, coordinates, or country sweep
OutputOne restaurant lead per row: listing, emails, booking/delivery ids, optional rank and owner
PricingPay per event — place-scraped plus add-ons only when data is delivered. Free-plan demo: 20 restaurants / UTC day
API keysNone required from you (operator-side Maps access)
Best forOutbound to restaurants: email list, no-website prospects, owner name, booking/delivery stack
Not forMenu scrape, review-text dump, POS detection, or a bought 700k-row US file

Use this actor when

  • You need a restaurant email list from Google Maps for a city, CAP/ZIP list, or country
  • You sell to restaurants (reviews, reservations, websites, operations) and want ICP filters before billing
  • You want restaurants without a website (websiteKind: none) for web-agency prospecting
  • You want a restaurant owner email list grounded on the site or Instagram bio (findOwner)
  • You need TheFork / OpenTable / Deliveroo / Just Eat / Uber Eats / DoorDash as fields, not as a second crawl of menus

Do not use this actor when

  • You want restaurant menus or dish prices — not in this actor (and that query has no useful Google volume)
  • You want a full Google Maps review / photo archive — use a category Maps crawler; we store counts only
  • You want POS / Toast / Square detection — we do not invent a tech stack
  • You want a static restaurant database bought by US state — this is an on-demand scrape, not a mailing-list file
  • You need any local business (plumbers, dentists) — use Google Maps Local Leads

How it works

  1. Map searchcountryCode is required (no silent Italy default on the API). Leave searchTerms empty to use local keywords (ristorante/pizzeria in Italy, restaurante in Spain, restaurant/pizzeria elsewhere). Set a city, postal codes, coordinates, or country sweep. If you only pick a country in Console, the actor searches that country's capital so Start does not fail.
  2. ICP filtertableServiceOnly (default on) drops hotels and takeaway before billing. websiteKind keeps owned sites, aggregator pins, or no-website listings.
  3. Listing parse — name, category, address, postal code, phone, rating, review count, Maps URL, bookingLinks, reservationPlatforms, deliveryPlatforms, mapsWebsiteKind.
  4. Export — Apify dataset (JSON/CSV/API). Add-ons (website emails, Instagram, delivery search, rank per cell, review velocity, owner) bill only when delivered.

Get a restaurant email list from Google Maps

Enable Extract website contacts (default on). Emails come from the restaurant’s official website on the Maps pin — not invented nome.cognome@ patterns and not a purchased list. A 20-restaurant city run is the intended first try (maxPlaces default 20). On the Apify free plan that is also the daily cap.

This is the on-demand alternative to a restaurant database or restaurant mailing list: you choose the city, you get current Maps rows, you pay per restaurant delivered.

Find restaurants without a website

Set websiteKind to No website. Hotels and shops stay out when tableServiceOnly is on. Use this for agencies that sell sites to restaurants that only have a Maps pin or a Facebook page.

Restaurant owner email list

Set findOwner to find a named owner or chef-patron on the website or Instagram bio (Italian titolare/gestito da, German Impressum, French gérant, English owned by). If the page has no patron copy, a mailbox already on the site can still name them: roberto.ammendola@ or marco@ (first name alone is enough). Brand/franchise inboxes are skipped (michele@ on Da Michele, ducciopizza@). The lookup is recover_restaurant_owner — on-domain only. Email is attached only if that person’s address already appears on the page. Not LinkedIn, not SMTP-guessed. Charged as decision-maker when a person name is grounded.

Booking platforms (TheFork, Quandoo, CoverManager, Google Reserve)

Maps already exposes reservation URLs on the pin. This actor keeps them and normalizes reservationPlatforms. A homepage crawl is the wrong primary detector — widget-only sites would look like they have no booking.

Delivery (Deliveroo, Just Eat, Uber Eats, Glovo, DoorDash)

Delivery hosts on the pin go to deliveryPlatforms, not reservationPlatforms. With enrichDeliverySearch (default on) the actor runs one country-scoped site: search per restaurant and keeps an id only when the URL is a venue page that names this restaurant in this city or postal code. Neighbourhood indexes, dish pages, DoorDash /business/ hubs and namesakes in another city are dropped. No menus. Billed as delivery-platforms only when search adds an id missing from the pin. US search includes DoorDash /store/{slug}.

Local-pack rank (add-on, per cell)

Rank is a property of a query such as pizzeria 00153, not of the restaurant forever. The actor runs one Maps query per cell, then joins position by placeId. Honest for “are they visible in this neighbourhood?” — not a national ranking and not one paid query per TAM row.

Review velocity (add-on, counts only)

Newest-first review timestamps → reviews in the last 7 and 30 days, owner reply rate in that sample, plus the gap vs the pack leader when rank ran. No review text, no photos, no snippets in the dataset.

How it compares

ApproachTypical focusThis actor
Full Maps crawlersReviews, photos, menusLead-first: emails, booking/delivery ids, rank per cell
Static restaurant email listsBuy a US-state fileOn-demand Google Maps scrape for the city you choose
Generic Maps email extractorsAny categoryRestaurant ICP, table-service filter, delivery/booking stack

How much does it cost?

Pay-per-event on Apify (configure list prices in Console). The Apify free plan is $5 of platform credits per month with no daily reset — without an actor-side cap that would be a full-day scrape on our Maps / Instagram / website-fetch costs. Free-plan users therefore get an honest city demo: 20 restaurants per run and 20 per UTC day. Paid Apify plans (including an Apify trial) are not clamped.

EventWhen charged
apify-actor-startOnce at run start (platform)
place-scrapedEach restaurant delivered
website-contactsEmail or phone found on the site
instagram-profileInstagram profile delivered
facebook-pageFacebook page delivered (opt-in)
delivery-platformsSearch added a delivery id missing from the Maps pin
local-rankOnce per ranked cell (restaurants in that cell join free)
review-velocityVelocity computed for that restaurant
decision-makerNamed owner/chef-patron grounded on the site or Instagram bio

Your spending limit caps how many place-scraped events can fire. Filtered hotels/takeaway never bill.

Country sweep and postal codes

  • City run: locationQuery + radiusKm. Empty location + countryCode → capital city.
  • CAP / ZIP list: postalCodes — each code is its own cell.
  • Country sweep: locality-by-locality with resumable state. Do not mix sweep with CAP list or city query. Paid Apify plan only — free-plan runs are rejected with an upgrade link. Do not treat a sweep as a completed national TAM until you have a regional RUN_SUMMARY.

Example output

{
"name": "Trattoria Da Mario",
"placeId": "ChIJ…",
"postalCode": "00153",
"mapsWebsiteKind": "owned",
"reservationPlatforms": ["thefork"],
"deliveryPlatforms": ["deliveroo"],
"emails": ["info@trattoriadamario.it"],
"rank": { "query": "ristorante 00153", "position": 4, "packSize": 20, "reviewGapVsLeader": 210 },
"reviewVelocityMonth": 11,
"ownerReplyRate": 0.5,
"sameBrandInRun": 1,
"whatsapp": { "link": "https://wa.me/39333…", "evidence": "wa.me" }
}

Cost estimate

A 20-restaurant city run with contacts + Instagram is listing events plus contact/IG hits. Rank on a handful of CAP cells is a few local-rank events, not one Maps query per row. Delivery search is one query per restaurant when enabled.

FAQ

How do I generate restaurant leads using Google Maps? Set countryCode, a city or postal codes, and Start. Default search terms follow the country. ICP filters drop hotels before you are billed.

How do I extract emails from Google Maps restaurants? Enable website contacts (default on). Emails come from the official website on the pin, not from a purchased restaurant email list.

Is it legal to buy an email list? Buying a stale file and scraping public Maps listings are different products and different legal analyses. You are the data controller for anything you export — get counsel before outbound.

Is it legal to scrape data from Google Maps? This actor collects public listing fields and, when enabled, contacts published on linked websites. Laws vary (GDPR, anti-spam). Do not treat this README as legal advice.

Is there a free restaurant scraper on Apify? Yes as a demo, not as a database. Apify free-plan users get 20 restaurants per run and 20 per UTC day (contacts, Instagram, delivery). Country sweep, rank, review velocity and Facebook are paid-plan only. There is no unlimited free restaurant list.

How do I find restaurants without a website on Google Maps? Set websiteKind to none.

Can I scrape restaurants for an entire country? On a paid Apify plan, yes — countrySweep with a supported countryCode, or pass postalCodes. Resume from the saved cursor. Free-plan users cannot start a country sweep (at most 3 postal codes, 20 restaurants / day).

Do I need a Google Maps API key or proxies? No.

Do you scrape Google Maps reviews or photos? No. Velocity is a count from timestamps. Owner replies are a rate. Rank is pack position for a cell query. No review text.

Where do emails come from? The restaurant’s official website linked on Maps.

How is the owner found? On-domain current-operator language plus Instagram bio. A person mailbox already on the page (roberto.ammendola@, marco@) counts; a brand/franchise inbox (michele@ on Da Michele) does not. No name on the page or in a person mailbox → no decision-maker charge.

How do I get WhatsApp? wa.me on the site or Maps links, or WhatsApp mentioned in the Instagram bio.

Come estrarre email e contatti dai ristoranti su Google Maps? Imposta countryCode (es. IT), una città o i CAP, lascia attivi i contatti dal sito. Le email arrivano dal sito ufficiale sul pin, non da una lista comprata.

Pequod ecommerce pipeline

StepActorWhen
1. Discover restaurantsRestaurant Leads (this actor)Sell to restaurants by area / CAP / country
1. Discover local businessesGoogle Maps Local LeadsHorizontal local leads (any category)
1. DiscoverLookalike DiscoveryDomain/niche-based ecommerce stores
1. DiscoverInstagram TikTok Shop LeadsHashtag-driven social sellers
2. Enrich contactDecision Maker FinderNamed decision makers on a company domain
3. Enrich shippingShipping IntelligenceCarriers and policies for ecommerce sites