← All work

CASE STUDY 03 · AUTOMATION · WEB SCRAPING

Scraping 1,000+ venues from Google Maps

A Puppeteer scraper that replaced a manual Google Maps to Excel routine and gave a sales team a contact base of 1,000+ Kraków restaurants for the Festiwal Smaku, built during a vocational apprenticeship.

weeks → hours
time to build the contact base
1,000+
Kraków venues collected
2 months
apprenticeship, Mar - Apr 2022

The problem

During a vocational apprenticeship I was asked to build a marketing database for the Festiwal Smaku, a festival that brings many restaurants and restaurateurs together.

The goal: contact data (emails, phone numbers, Facebook fan pages) for venues, so the sales team could offer them POS software and other solutions for the food service industry.

The planned method was manual. Open Google Maps, find a venue, copy its details into Excel, repeat.

The decision

Nobody had asked for automation. I proposed it anyway, because the task was a loop with a fixed shape: search, open, read fields, write a row. That shape is what scripts are good at, and what people get bored and sloppy at.

The scope stayed small on purpose. One data source (Google Maps), one output (a spreadsheet the sales team already knew how to use), no interface.

What I did

A Puppeteer scraper over Google Maps

A Node.js script drives a headless browser through Google Maps, collects each venue’s details and writes them to Google Sheets. It covered 1,000+ restaurants and other food service venues in Kraków.

Validation and cleaning in the pipeline

Scraped data is dirty: duplicates, missing fields, inconsistent phone formats. Cleaning and validation run as part of the pipeline instead of being a manual step after it, so the output was a sheet sales could use directly.

The proof

Building the contact base took hours instead of weeks. Sales then used it for marketing around the festival.

One honest moment

Scraping a third-party site is a trade-off worth naming. A scraper depends on page structure nobody promised to keep stable, so it is a tool for a one-off job like this one, not a base for a product.

How it went

  1. The brief

    A marketing contact base, by hand

    Find restaurants taking part in the Festiwal Smaku and collect emails, phone numbers and Facebook fan pages, so sales can offer POS software.

  2. The idea

    Skip the Excel, script the browser

    Instead of searching Google Maps one venue at a time, I proposed a Puppeteer scraper that walks the results and fills the sheet.

  3. The pipeline

    Validate and clean as it runs

    Automated validation and cleaning so the sheet that reaches sales is usable without a second manual pass.

  4. The result

    1,000+ venues, used by sales

    The base fed the marketing work around the festival.

Stack

  • Node.js
  • Puppeteer
  • JavaScript
  • Google Sheets

Working on something similar?

Book a 30-min call → (opens in a new tab)
Copied!
Book a call (opens in a new tab)
Awwwards