Restaurant Leads Scraper — Emails & Rank
Pricing
from $1.87 / 1,000 restaurant delivereds
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
Maintained by CommunityActor 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.
| Input | countryCode plus a city (locationQuery), postal codes, coordinates, or country sweep |
| Output | One restaurant lead per row: listing, emails, booking/delivery ids, optional rank and owner |
| Pricing | Pay per event — place-scraped plus add-ons only when data is delivered. Free-plan demo: 20 restaurants / UTC day |
| API keys | None required from you (operator-side Maps access) |
| Best for | Outbound to restaurants: email list, no-website prospects, owner name, booking/delivery stack |
| Not for | Menu 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
- Map search —
countryCodeis required (no silent Italy default on the API). LeavesearchTermsempty to use local keywords (ristorante/pizzeriain Italy,restaurantein Spain,restaurant/pizzeriaelsewhere). 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. - ICP filter —
tableServiceOnly(default on) drops hotels and takeaway before billing.websiteKindkeeps owned sites, aggregator pins, or no-website listings. - Listing parse — name, category, address, postal code, phone, rating, review count, Maps URL,
bookingLinks,reservationPlatforms,deliveryPlatforms,mapsWebsiteKind. - 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
| Approach | Typical focus | This actor |
|---|---|---|
| Full Maps crawlers | Reviews, photos, menus | Lead-first: emails, booking/delivery ids, rank per cell |
| Static restaurant email lists | Buy a US-state file | On-demand Google Maps scrape for the city you choose |
| Generic Maps email extractors | Any category | Restaurant 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.
| Event | When charged |
|---|---|
apify-actor-start | Once at run start (platform) |
place-scraped | Each restaurant delivered |
website-contacts | Email or phone found on the site |
instagram-profile | Instagram profile delivered |
facebook-page | Facebook page delivered (opt-in) |
delivery-platforms | Search added a delivery id missing from the Maps pin |
local-rank | Once per ranked cell (restaurants in that cell join free) |
review-velocity | Velocity computed for that restaurant |
decision-maker | Named 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
| Step | Actor | When |
|---|---|---|
| 1. Discover restaurants | Restaurant Leads (this actor) | Sell to restaurants by area / CAP / country |
| 1. Discover local businesses | Google Maps Local Leads | Horizontal local leads (any category) |
| 1. Discover | Lookalike Discovery | Domain/niche-based ecommerce stores |
| 1. Discover | Instagram TikTok Shop Leads | Hashtag-driven social sellers |
| 2. Enrich contact | Decision Maker Finder | Named decision makers on a company domain |
| 3. Enrich shipping | Shipping Intelligence | Carriers and policies for ecommerce sites |