# A checked point-of-contact email for a company (for RecentFunding company pages)

One call returns the best person to email at a company, with an address the mail server has confirmed. The first call
for a company looks it up live (30-60 s); the answer is stored, so every later call for that company comes back in under
a second and costs nothing.

```
GET https://fetchapi.co/api/v1/company/contact?company=<RecentFunding slug>      header: x-api-key: gw_...
GET https://fetchapi.co/api/v1/company/contact?domain=<company domain>
    &refresh=1   look again live (stored answers last 180 days when found, 30 days otherwise)
```

Set your HTTP timeout to at least 120 s for the first call. If two calls for the same company arrive while it is being
looked up, the second waits for the first instead of paying again.

## Answer

```json
{
 "company": {"name": "Hexagon Bio", "slug": "hexagon-bio", "domain": "hexagonbio.com", "stage": "series-b+", "latest_round": {...}},
 "status": "found",
 "contact": {"kind": "person", "name": "Maureen Hillenmeyer", "title": "Chief Executive Officer Co-Founder",
             "email": "maureen@hexagonbio.com", "email_status": "verified_deliverable", "linkedin_url": null, "source": "recentfunding+b2bsearch"},
 "alternatives": [ {"kind": "person", "name": "...", "title": "...", "email": "...", "email_status": "verified_deliverable"} ],
 "company_inbox": {"kind": "company_inbox", "email": "info@hexagonbio.com", ...},
 "domain_catch_all": true,
 "cached": true, "checked_at": "2026-11-06T21:30:00Z", "people_checked": 5,
 "meta": {"cost_usd": 0, "ms": 605}
}
```

| `status` | Meaning | What to show |
|---|---|---|
| `found` | `contact.email` is confirmed deliverable. `kind: person` = the most senior person checked (CEO, then founders, C-level, VPs, directors); `kind: company_inbox` = a published inbox (founders@, hello@, contact@, info@) when no person could be confirmed | the email |
| `unverified` | best guess on a domain that accepts any address; not confirmed | hide, or "unverified" |
| `no_people`, `not_found`, `no_domain` | nothing to send to | nothing |

`alternatives`: up to 3 more confirmed people. Personal addresses (gmail...) are never returned or stored.

## How the live lookup works

RecentFunding company and founders -> decision makers at the domain (b2bsearch on Apify, $0.0032 a person) -> each
work email, then first@ / first.last@ / flast@, checked at the mail server (mu0i on Apify, which also resolves catch-all
Google Workspace domains; BounceVerify for the rest). About $0.015-0.03 a company. Measured on 200 RecentFunding
companies (2026-11-06): a confirmed contact for 138 of them.

Stored in Supabase table `company_contact` (one row per domain; 191 companies preloaded).
