Workflow
Google Maps to a verified owner email: what each API step finds and costs
Forty local businesses from two Google Maps searches, run through a website scrape, a domain search, an owner lookup, a finder and a verifier. Where each step loses rows, which step finds the owner and what one verified owner email cost.
Written for people asking: How do I turn a Google Maps search into cold email leads with the owner's email, not contact@?What does the Google Maps to cold email chain cost per verified email if I pay per API call?Which step of a Google Maps lead-gen workflow actually finds the decision maker's email?
From a Google Maps search, expect a verified email for a named person at about one place in three, and plan on a few cents for each one. On 22 October 2026, two Maps searches through Serper (dentists in Austin, plumbers in Denver) returned 40 places, every one with a website. Scraping each homepage and /contact page found an email at 14 of the 40, but the only ones that verified were role inboxes (info@, office@): no website gave up a named address on its own domain that passed verification. The named addresses came from two other steps. Hunter's domain search had a verified named address for 10 places ($0.42 for 40 domains). An owner lookup plus an email finder, both through Treg's routed endpoints, added a principal's verified address for 8 ($0.55 including the Maps calls and verification). Together they covered 13 of 40 places (5 dentists, 8 plumbers) for $1.08 in all, or $0.083 per verified owner email. Verification is not optional: 13 of 105 addresses came back invalid, and 14 of the 40 domains accept mail for any address, so a valid answer there is only a guess.
The question, in one line
A person building outbound to local businesses wants to know what the “Google Maps to cold email” chain costs if each step is a pay-per-call API, and where in the chain the owner’s email actually comes from. The shape has been showing up all autumn; one post put it as “the google maps to cold email chain is four api calls now” (X, 23 September 2026). The complaint in the replies is the same every time: the place rows lead to info@ and booking inboxes, not to the person who decides. This run measures how far each step gets past that.
The run
Two Google Maps searches, one category in one city each: dentist in Austin, TX and plumber in Denver, CO, 20 places each. For every place, six steps, each called through the treg CLI with one key:
| Step | Endpoint | What it sends | What it is for |
|---|---|---|---|
| 1. Places | serper.google.serp.maps |
the search | name, phone, website per place |
| 2. Website | treg.web.extract (served by crawl4ai) |
homepage, then /contact |
emails printed on the site |
| 3. Domain search | hunter.companies.emails |
the website’s domain, limit=10 |
addresses Hunter has seen on that domain |
| 4. Owner | treg.people.search |
company_domain + titles (owner, founder, president, principal, DDS, dentist, CEO) |
a named person running the business |
| 5. Finder | treg.people.email.find |
that person’s name + domain | their work address |
| 6. Verify | treg.people.email.verify (served by Kitt) |
every unique address from steps 2, 3 and 5 | will it bounce |
An address counts as named when its local part is not a role word (info, office, contact, appointments, frontdesk, service, dispatch and similar). It counts as verified when the verifier returned valid. Addresses are masked to their first letter before anything is written to disk, and owner names are not published.
Where the rows go
| Dentists, Austin | Plumbers, Denver | All 40 | |
|---|---|---|---|
| Places returned, with a website | 20 | 20 | 40 |
| Website prints any email | 7 | 7 | 14 |
| Any address on the place’s own domain, any step | 15 | 16 | 31 |
| Only role inboxes found | 5 | 1 | 6 |
| Owner lookup returns a principal | 14 | 10 | 24 |
| Finder returns an address for that person | 11 | 9 | 20 |
| Verified named address on the place’s domain | 5 | 8 | 13 |
| Verified address of any kind (role inboxes included) | 8 | 10 | 18 |
Domain accepts mail for any address (Hunter accept_all) |
8 | 6 | 14 |
Three things decide the bill and the yield:
The website is where role inboxes come from, not owners. Fourteen sites printed an email. Ten of them gave a role inbox that verified. Five printed a non-role address on their own domain, and all five failed verification. Three printed personal Gmail addresses. Scraping the site is the cheapest step by far (80 page fetches for $0.0099), and what it gives you is the inbox the front desk reads.
Two different steps find named people, and they find different ones. Hunter’s domain search returned at least one address for 28 of the 40 domains, a named address for 16, and a verified named address for 10. The owner lookup and the finder reached a verified named address at 8. Only 5 places were covered by both, so running both took the count to 13. Neither step alone gets you there.
Verification moved the answer at a third of the places. Of 105 unique addresses, 65 came back valid, 24 valid-risky, 13 invalid and 3 unknown. 23 of the 24 valid-risky answers were on domains Hunter flags as accept-all, which means the server accepts any address and no verifier can confirm the mailbox. The verification benchmark puts Kitt’s valid-risky beside what five other verifiers said about the same addresses.
What it cost
Settled charges from the account ledger for this run, which match the balance drop.
| Step | Calls | Cost | Per place |
|---|---|---|---|
| Places (Serper) | 2 | $0.006 | $0.0002 |
| Website, homepage + /contact | 80 | $0.0099 | $0.0002 |
| Hunter domain search | 40 | $0.4165 | $0.0104 |
| Owner lookup, routed | 40 | $0.4013 | $0.0100 |
| Finder, routed | 24 | $0.1224 | $0.0051 per name sent |
| Verify, routed | 105 | $0.1215 | $0.0015 per billed address; 24 were not billed |
| Chain | 291 | $1.078 | $0.083 per verified owner email |
And what each path costs on its own (Maps calls and the verification of that path’s addresses included):
| Path | Places with a verified named address | Cost | Per verified named address |
|---|---|---|---|
| Website only | 0 | $0.041 | none found |
| Hunter domain search | 10 | $0.52 | $0.052 |
| Owner lookup, then finder | 8 | $0.55 | $0.068 |
| All steps | 13 | $1.08 | $0.083 |
Two things in the bill that the catalog listing does not show:
- The routed owner lookup was not free. The Treg catalog lists
treg.people.searchas free, but each call tries several providers in turn, and some of them bill per result. CompanyEnrich was tried on 17 of the 40 calls and billed $0.0196 each time ($0.33 in all) without serving a row. The 24 principals all came from QuickEnrich. - The routed verifier was not free either. Kitt served all 105 verifications and billed $0.0015 on 81 of them.
The number in the response is the one to budget on: _treg.charged_micro reports what each call cost, and _treg.tried lists every provider attempted.
The step that needs a rule: who is “the owner”
The owner lookup returned rows on the right domain for 35 of the 40 places, but only 24 of them were a principal: owner, co-owner, founder, president, the practising dentist, and once a vice-president of operations. At 9 of the other 11 the provider that answered was LeadsForge, which returned staff whatever titles were asked for: service technicians, hygienists, receptionists, a dispatcher (one practice’s second row was a dentist). At the last 2, AI Ark returned rows with no name or title. The runner sends a name to the finder only when the first row on the domain has one in the field names it reads, so none of those 11 got a finder call. For your own run, filter on the title in the response rather than trusting the title you sent; mailing a receptionist as “the owner” is what this chain is meant to avoid.
Who this fits
- A few hundred local businesses, once: the chain above, as is. At the measured rates 1,000 places come to about $27 of calls and should end with verified named addresses for around 325, if your category looks like these two.
- You only need someone to reply, not the owner: the website step plus verification. $0.041 for 40 places got a verified role inbox at 10 of them.
- You already pay for Hunter: its domain search on your own key is the single step with the highest yield here (10 of 40); add the owner lookup only for the domains where Hunter returns no named address.
- You need every business in a category, nationwide: price a bulk place dataset against paging Maps searches (we did not measure one); the email steps after it are the same.
What this page cannot tell you
- Your category’s numbers. Two categories, two cities, 40 places. Plumbers yielded 8 verified owners and dentists 5; a franchise-heavy category will look different again.
- Whether a
validaddress belongs to the owner. The verifier says the mailbox exists; the owner lookup’s title says who it belongs to, and at nine places the lookup returned staff, not principals. - Whether mail to an accept-all domain will bounce. 14 of 40 domains accept anything, so their
valid-riskyanswers are guesses. - Reply rates. This is a data run, not a campaign.
Next step
- Re-run it on your own category:
scripts/run-maps-email-chain.py evidence/maps-email-chain/$(date +%F) "<category> in <city>", thenscripts/score-maps-email-chain.pyon the same folder. Download the runner · the scorer. - This run’s summary.json, places.csv (business, domain and per-step counts, no addresses), call log and ledger.
- Already have names and domains? The find-and-verify guide starts there and costs the finder and verifier against the subscriptions.
- The route headers used here (
X-Treg-Route-Max-Cost) and per-call rates are in Treg’s docs and pricing.
Questions this page answers
Do Google Maps listings include an email address?
Not in the place rows we pulled. On 22 October 2026 Serper's Maps results carried name, address, phone, rating, category and website for 40 places, and no email field. The email has to come from the website or from an email data provider, starting from the domain in the website field.
How do I get the owner's email instead of info@ from Google Maps leads?
Look the owner up by the place's domain, not on the website. Of 40 places, the websites gave verified role inboxes at 10 and no verified named address; Hunter's domain search gave a verified named address at 10, and an owner lookup by domain followed by an email finder gave one at 8. Together they covered 13 of the 40 places.
How much does a Google Maps lead cost per verified email?
On 22 October 2026 the full chain cost $1.08 for 40 places and ended with a verified named address at 13, which is $0.083 per verified owner email. Hunter's domain search alone came to $0.052 per verified named address and the owner lookup plus finder to $0.068, but each found only part of the 13.
Relationship: the people who run this site also work on Treg, one of the routes compared on this page. Every Treg figure here is a call we paid for, with the raw response downloadable, and the same fixture is run against the alternatives where their terms allow.
Spotted an error or a changed price? Email corrections@enrichmentapiguide.com with the page URL and a source. Corrections are logged on the corrections page.