Submit Email Check
Check whether one email address is a user of up to 20 products
https://app.gethuntd.com. Other plans receive
403 ENDPOINT_NOT_ON_PLAN. Counts against your monthly checks per source.
Contact Huntd to enable it.Overview
Check whether one email address is a user of up to 20 products. In this API a product is called a source, named by a slug such asgong or extend.
This is an async operation:
- Submit an email and a list of sources
- Receive a
job_idand apoll_aftertime immediately (202 Accepted) - Once
poll_afterhas passed, poll Get Email Check Result untilstatusiscompleted - Read
sources[slug].is_user:true,false, ornull
202 with a job, even when every answer is already cached (then status
is completed and poll_after is null), so your client only needs one code path.
Timing
- Checks only run Monday to Friday, 09:00 to 18:00 in your account’s timezone. A job submitted
on Friday evening starts on Monday morning, and its
poll_aftersays so. - A fresh check takes minutes, not seconds. A cached answer is instant.
poll_aftercan be days away. In production, savejob_idandpoll_afterand check back from a scheduled job instead of keeping a process asleep.
Which Sources You Can Check
A source slug is accepted only when all three are true. Each failure has its own error:Limits
- The per-source limit is all-or-nothing: if any source in the request is over its limit, the whole request is refused and nothing is used up.
- Monthly checks reset at the start of each UTC calendar month and count cached answers too. Ask your account manager to change tier.
RATE_LIMITEDandRATE_LIMIT_EXCEEDEDcarryRetry-After(seconds);QUOTA_EXCEEDEDdoesn’t, because it lasts until the next month.
Errors
Authorizations
API key in format: hntd_{id}_{secret}. Create one in Settings → API & webhooks. Authorization: Bearer is also accepted.
Body
The one address to check. Lowercased and trimmed for you.
320"dana@acme.com"
Source slugs to check the address against (1 to 20). A source is a product such as gong or extend. Duplicates are ignored.
1 - 20 elementsResponse
Job accepted. Always 202, even when every answer came from cache.
true Pass to Get Email Check Result. Opaque: don't parse it.
"8f4c2a90-6c1e-4b58-9a2f-1d3e5b7c9011"
The address as it will be checked, after lowercasing and trimming.
"dana@acme.com"
The sources this job covers, duplicates removed.
queued if at least one source needs a fresh check; completed if every answer came from cache.
queued, completed Earliest moment work can start (UTC). Don't poll before it. null when every answer came from cache.