Business Email Finder API: the contact behind every listing
A listing gives you a phone number. The business's website gives you the mailbox, the social profiles and often a WhatsApp number. Locomint reads that website for you, on every details call, and returns the contact points as fields on the record. There is no separate product to buy.
GET/v1/places/{place_id}
{
"enrichment": {
"emails": [
"reservations@bombayborough.com"
],
"socials": {
"instagram": "https://instagram.com/bombayborough",
"facebook": "https://facebook.com/bombayborough"
},
"whatsapp": "+971549958296",
"contact_form_url": "https://bombayborough.com/contact",
"tech_stack": [
"wordpress",
"cloudflare"
],
"website_status": "ok",
"crawled_at": "2026-09-07T10:18:58Z"
}
}
What you get
Every field in the response.
| Field | Meaning |
|---|---|
emails[] | Every address the business publishes, deduplicated: company mailboxes first (info@, sales@, reservations@), then addresses that name a member of staff, which named_emails repeats. A named address on another company's domain is left out |
socials{} | facebook, instagram, linkedin, x, youtube, tiktok profile URLs; share and post links ignored |
whatsapp | The number from a click-to-chat link, normalised to E.164; never inferred from the listed phone |
phones | The numbers the site links to call or puts in its schema.org markup, in E.164 when the country is known; numbers in running text are not read, so no postcodes |
contact_form_url | The contact page when the homepage links to one |
tech_stack[] | Technologies detected by signature: CMS, analytics, chat widgets, hosting |
website_status | ok, unreachable, parked, redirect_social or no_website |
crawled_at | When the site was read; refresh=true reads it again for one credit |
How it works
What happens between your request and the response.
Homepage first
The site's homepage is fetched from a datacenter address and parsed for mailto links, plain addresses, social links and WhatsApp links.
One hop to the contact page
If the homepage gave no email or WhatsApp, the contact page is fetched once. Assets and share links are excluded.
Filtered on purpose
Every address the site publishes is kept. Company mailboxes - a business function such as info@ or bookings@, or the venue itself on its own domain - come first; an address that names a member of staff follows and is listed again in named_emails. A named address on another company's domain, such as the web designer credited in the footer, is left out, because it is not a way to reach this business.
Cached per site
Each host is read at most once every 30 days, whichever customer asks, which keeps the cost inside one credit.
Pricing
One credit system for every endpoint.
Included in the one credit of every details call, on the free plan's 75 credits a month too. Combine it with the Email Verification API to confirm each address before you send.
Run it on Apify.
For bigger runs, or without writing any code, the same engine runs on Apify as the three listings below. Apify bills per result, so there is no subscription and nothing to pay us, and Apify's own free plan includes $5 of usage a month with no card.
Google Maps Scraper & Email Extractor
Search by category and city. Every place comes with the email, social profiles and WhatsApp number published on its own website.
Website Email Scraper
Give it a list of website URLs and get the emails, phone numbers, social profiles, WhatsApp number and contact page from each, plus the page as clean text.
Google Maps Email Extractor
Search a category and a city and get business leads whose email address the mail server actually confirmed - you pay only for those.
Questions
Things people ask about the Business Email Finder API.
Why is emails empty for some businesses?
The site publishes no address at all, only a form; the page needs JavaScript to render its contacts; or the site refused the fetch with a 403. In the last case website_status is unreachable and the fetch is not retried through another address.
Do you guess email patterns?
No. A guessed firstname@domain is often wrong, and a wrong address costs you a bounce. Locomint returns only what the business published on its own website.
Can I verify the addresses in the same account?
Yes. POST /v1/emails/verify checks up to 100 addresses per call at one credit each, with mailbox-level SMTP checks where the mail server allows them. An address whose mail server never answers costs nothing.