Scraping Bars & Restaurants Paris + 92/93/94/95 (Google Maps & Uber Eats)

Simon Rochwerg●
November 3, 2025
●
3 min read
Client

La Brasserie Fondamentale (LBF)

Duration

~1 jours

Budget

€850 incl. VAT (Google Maps €600 + Uber Eats €250)

“Delivery was clean and immediately usable, with a high email hit rate. Great responsiveness on segmentation and adjustments.”

— La Brasserie Fondamentale (LBF)

🎯 Context & Goals

Build a Bars & Restaurants prospecting dataset for Paris + 92/93/94/95 that maximizes: 1) verified, high-quality emails, 2) all phone numbers including 06/07, and 3) coverage by combining Google Maps + Uber Eats.

đŸ€– What the AI does in the pipeline

  1. Website discovery & selection (AI + SERP API)

    1. Connect Google Maps entities to SERP API for targeted Google queries.
    2. An AI ranker automatically selects the best official website (disambiguates homonyms, ignores marketplaces/directories).
  2. Structured extraction (Parser + AI normalization)

    1. Our parser scrapes the selected website and extracts emails, phones (fixed + 06/07), addresses, social links (IG/FB/TikTok), and legal mentions.
    2. An AI normalizer standardizes formats (email/phone/address), fixes common anomalies, and completes fields from public hints.
  3. Smart email prioritization (AI scoring)

    1. An AI classifier scores each email (e.g., contact@, info@, firstname.lastname@domain, etc.).
    2. It prioritizes direct/personalized addresses (outreach-friendly) and de-prioritizes generic, no-reply, or platform addresses.
  4. Anti-bounce verification (technical validation)

    1. Syntax (RFC) and MX/DNS checks.
    2. Optional SMTP routing check (no real send) to reduce bounce rate.
    3. Deduplication within and across sources (GMaps ↔ Uber Eats) using email/phone/URL keys.
  5. Consolidation & quality controls

    1. Merge Google Maps (address, category, hours, reviews, site) with Uber Eats (often more 06/07 and additional emails).
    2. Paris by arrondissement
      1. communes in 92/93/94/95 for maximum coverage.
    3. Filter out non-prospect domains (marketplaces/platforms).
  6. Production-ready deliverables

    1. XLSX + CSV (stable schema), recap sheet, field dictionary, source IDs, and extraction timestamps.

🔎 Anonymized sample (domains visible)

(5 rows from the exports; names/coordinates partially masked — domains kept visible)

sourcenameemailphonecity
Google MapsSo p.a*@gmail.com90Valenton
Google MapsC*r 
 Cri*@orange.fr50Chenneviùres-sur-Marne
Google MapsC*n S*t 
c*@yahoo.fr50Puteaux
Google MapsTk P*t 
i*@laposte.net40Ivry-sur-Seine
Uber EatsBo R*tc*@restaurant-paris.fr21Paris 11ᔉ

Final deliveries contain full (unmasked) emails and phone numbers. Masking here is only for the example.


📈 Key Figures (highlights)

  1. Paris (Google Maps): Bars 1,205 emails / 2,947 rows (40.9%); Restaurants 1,422 / 3,711 (38.3%).
  2. 92/93/94/95 (Google Maps): 3,708 unique emails delivered.
  3. Uber Eats (Paris): ~3,000 restaurants in Paris + ~1,800 nearby; strong 06/07 coverage and additional emails.

Why Uber Eats? It’s more “direct” on the merchant side: you frequently find more mobile numbers (06/07) and emails that don’t appear on Google Maps — a powerful complement for outreach.


🧰 Stack & Practices

  1. Python, SERP API, parallel workers, robust retry logic.
  2. AI for ranking, normalization, and email scoring (prompting + business rules).
  3. Email validation (syntax, MX, optional SMTP check), cross-source deduplication.
  4. XLSX/CSV exports + field dictionary; execution logs for auditability.

✅ Outcomes

  1. A clean, verified, consolidated dataset ready for multi-channel outreach.
  2. Significant increase in mobile (06/07) coverage thanks to Uber Eats.
  3. Immediate import into CRM / n8n; lower bounce rate and less manual qualification.

💰 Budget & Milestones

  1. Google Maps (Paris + 92/93/94/95): €600 incl. VAT.
  2. Uber Eats (Paris): €250 incl. VAT (discount applied).
  3. Total: €850 incl. VAT — deliveries over ~3 weeks.
Simon Rochwerg

AI-enthusiast, maker, data-scientist.