← Actor catalog · Managed data feeds · Google Maps Email Extractor

Live contact-sheet sample · Berlin, Germany

Eight Berlin tax advisors. One row per unique place_id. Leftover-email 0. About $0.24.

On August 21, 2026, a single live run of the Google Maps Email Extractor (run reyHSgfydYMPXK3ak, build 1.0.12) searched steuerberater in Berlin, Germany with maxResults 8. It returned exactly 8 contact rows — one per unique place_id, with a leftover-email count of 0, meaning every extracted email landed attached to the place it belongs to. Each row carries the business name, address, phone, website, the email itself, where the email was found (email_source), and a confidence score. This page is written for agencies, franchise teams, B2B sales operations, and market researchers who need a niche-and-city contact sheet built the same way.

The run's email-verify option stayed off: the confidence score reflects where and how the address was found on the business's own site, not a mailbox check. If your buying requirement is deliverability testing, this is not that product — this is source-evidenced public contact research, deduplicated per place.

No form backend, cookies, tracking pixels, or analytics. The email code identifies this case study only after you send the draft.

8 / 8Unique place_id values across 8 returned rows — one contact row per place, no duplicate businesses.
0Leftover emails. Every email the crawl extracted was attached to its place row; nothing was orphaned or misassigned.
~$0.24Run cost before discounts: eight Berlin tax advisors with emails and phones came to about $0.24005 at Store pricing.

The Berlin proof run

The run used the Google Maps Email Extractor build 1.0.12 — the same build currently on the Store as benthepythondev/google-maps-email-scraper. Run reyHSgfydYMPXK3ak searched one niche in one city: steuerberater (tax advisor) in Berlin, Germany, capped at maxResults 8. The output was 8 rows keyed by 8 unique place_id values, and the run's leftover-email counter finished at 0. That counter is the card's own honesty check: an email the site crawl finds but cannot tie back to a specific place is counted as leftover instead of being forced onto the nearest row. Zero means the sheet is clean.

The first row of the sheet

This is the published first-screen sample from the run — one of the 8 rows, shown field by field so you can judge the schema. The other seven rows have the same shape; they belong to the run output, not to this page.

FieldValue
nameJTR Tax & Advisory GmbH
place_id0x47a851c73895685b:0x1e56030e73c342b1
primary_emailinfo@jtr-tax.de
phone+491719937927
websitehttps://www.jtr-tax.de/
addressBudapester Str. 46, 10787 Berlin, Germany
email_sourcewebsite
email_confidence90

email_source: website means the address was extracted from the business's own site, not guessed from a pattern. email_confidence scores that evidence; it is not a mailbox or deliverability check.

Why the card lock matters to a list buyer

Most contact-sheet complaints come down to two failure modes: the same business appearing three times under slightly different listings, and emails glued onto the wrong company. This card locks against both. Deduplication runs on place_id — Google's stable identifier for a physical place — so a chain location and its duplicate map entries collapse to one row each. And the leftover-email counter makes misassignment visible instead of silent: if the crawl finds an address it cannot attribute, that address is reported as leftover, not padded into a row. For an agency building a Berlin outreach list, a franchise team scouting a territory, or a researcher sizing a niche, that means the row count you pay for is the business count you get.

How the extraction works

1. Stable identity

place_id is the primary identity. One contact row per unique place — duplicate map listings collapse instead of inflating the sheet.

2. Website-sourced email

The crawl visits the business's own site and records where each email was found in email_source. DACH Impressum pages are supported.

3. Confidence, not guesses

email_confidence scores the evidence behind each address. The email-verify option stayed off in this run; no mailbox checks are implied.

4. Leftover-email honesty

An email that cannot be tied to a specific place is counted as leftover rather than forced onto a row. This run finished at 0.

What this run cost

Store pricing is per result: $0.01 per place, $0.02 more when an email is attached, $0.01 more when a phone is attached, with the email-verify option off. Eight Berlin tax advisors with emails and phones came to about $0.24005 before discounts. That per-row price is the self-serve path; the managed feed below prices the service around it — scoping, filters, refreshes, and delivery — not the raw rows.

How a managed feed delivers a sheet like this

Niche + cityYour search terms and region
Apify ActorMaps search, build 1.0.12
Site crawlEmail + phone with source evidence
Clean sheetOne row per place_id, leftover 0
DeliveryCSV, Sheet, webhook, or CRM-ready

A pilot starts with a live probe of your exact niche and region. Email coverage is measured in that sample — some niches publish contact addresses widely, some do not — and it is never guaranteed up front.

Limits I keep in the product

Eight rows describe one query, not a market. This was a single capped run of one niche in one city. It demonstrates the schema and the card lock on live data; it is not a Berlin market census.

Confidence is evidence, not deliverability. The score reflects where the address was found. No mailbox, bounce, or deliverability testing happened in this run, and none is implied.

Email coverage varies by niche. A working tax-advisor run does not prove every niche publishes emails at the same rate. The pilot sample measures coverage before a quote.

Public data only. The feed collects contact details businesses publish themselves. It does not include outbound campaigns, consent management, or legal advice.

Self-serve or managed

You can run the Actor in your own Apify account at Store pricing and export the sheet yourself. A managed package covers scoping the niche and region, filters, an agreed schema, delivery, and optional refreshes.

One niche and region

Local business research pilot

$750 one-time

  • One niche and region, up to 1,000 enriched businesses
  • One row per unique place_id, leftover-email reported
  • Email coverage measured in the sample first
  • Optional refresh of the same scope: $250

Up to five niche/region searches

Local business Growth feed

$1,750 setup + $900/month

  • Up to five niche and region combinations
  • Recurring refreshes on an agreed schedule
  • Normalized schema across searches
  • CSV, Sheet, webhook, or CRM-ready delivery

Apify platform usage, Actor charges, residential proxies, and third-party APIs are separate unless a written quote includes a cap. A recurring service starts only after the sample and schema pass the agreed acceptance check.

Published August 21, 2026 · Test evidence: Google Maps Email Extractor build 1.0.12, run reyHSgfydYMPXK3ak — query steuerberater / Berlin, Germany, maxResults 8, 8 unique place_ids, leftover-email 0 · See all managed-feed terms