Email enrichment API: what an address is actually registered to

An email enrichment API returns what is verifiably known about an email address. This one answers in a single request: which of 888 platforms the address is registered on, every breach it has appeared in, and where it is mentioned on the public web - each fact stamped with how and when it was established, and anything unconfirmed left out rather than guessed.

One request, one shape of answer

Send the address. The type is detected for you, so the same endpoint handles an email search, a phone number or a username without a different code path. Add ?wait=true and the answer returns on the same request.

POST /v1/lookup?wait=true
curl -X POST "https://api.digifootprint.dev/v1/lookup?wait=true" \
  -H "Authorization: Bearer dfp_your_key" \
  -H "Content-Type: application/json" \
  -d '{"query": "someone@example.com"}'
200 OK
{
  "query": "someone@example.com",
  "queryType": "email",
  "platformsChecked": 888,
  "matches": 4,
  "socialMatches": 3,
  "servedFromCache": false,
  "results": [
    { "platform": "github",    "registered": true,  "method": "public_api", "checkedAt": "2026-08-31T09:12:04.377Z" },
    { "platform": "spotify",   "registered": true,  "method": "public_api", "checkedAt": "2026-08-31T09:12:04.201Z" },
    { "platform": "instagram", "registered": true,  "method": "public_api", "checkedAt": "2026-08-31T09:12:04.118Z" },
    { "platform": "duolingo",  "registered": true,  "method": "public_api", "checkedAt": "2026-08-31T09:12:04.512Z" },
    { "platform": "twitter",   "registered": false, "method": "public_api", "checkedAt": "2026-08-31T09:12:04.402Z" }
  ],
  "breaches": [
    { "name": "Collection1",  "breachDate": "2019-01-07" },
    { "name": "LinkedIn",     "breachDate": "2012-05-05" }
  ],
  "webMentions": [
    { "title": "someone (GitHub)", "url": "https://github.com/someone" }
  ]
}

Email search, email lookup, email enrichment

These three names describe the same operation and this API serves all of them: start from an email address, find out where it exists. An email search across platforms and an email enrichment call are the same request here - what differs is only what you intend to do with the answer.

Of the 888 platforms in the registry, 27 accept an email address as input; the rest are keyed on a username. That asymmetry is a property of the platforms, not of this API, and it is why a username reaches further than an address does. See username search when you have a handle rather than an address, and coverage and accuracy for the exact counts by input type.

What enrichment means here, and what it does not

Most enrichment products return a name, a job title, a company and a confidence score. This one returns none of those, because none of them can be confirmed from an email address - they are inferred, and an inference presented beside a verified fact is indistinguishable from it once it reaches a risk model.

What comes back instead is narrow and checkable: registration exists or it does not, this breach contains the address or it does not, this page mentions it or it does not. Every entry carries its method and checkedAt. Where a source is not configured, breaches and webMentions are null rather than an empty array, so “we did not look” never reads as “we looked and found nothing”.

What teams do with it

At signup, the count of platforms an address is registered on separates an established person from an address created minutes ago - see fraud prevention and thin digital footprints.

In regulated onboarding, breach dates give a demonstrable lower bound on how long an address has existed, which is difficult to fabricate - see AML compliance and KYC. In trust and safety, an address registered nowhere else is among the cheapest fake-account signals available - see fake account detection.

Pricing

15 free lookups to start, shared across your company domain, no card required. Then pay as you go at $0.06 per lookup (top up from $19), or Growth at $39 a month for 1,000 lookups. Full details on the pricing page.

Frequently asked questions

What is an email enrichment API?
An email enrichment API takes an email address on its own and returns what is known about it. This one returns which of 888 platforms the address is registered on, every data breach it has appeared in with dates, and public web pages that mention it - each fact carrying the method that established it and the moment it was checked.
How is this different from an email verification or validation service?
Email verification asks whether an address is syntactically valid and whether its mailbox accepts mail. Email enrichment asks the harder question of whether anything is actually registered to it. A brand-new address on a real domain passes verification cleanly while being registered on nothing anywhere, which is precisely the case a fraud team needs to see.
Does email enrichment return names, job titles or company data?
No. This API returns registration facts, breach records and public mentions - never inferred demographics, firmographics, job titles or personal attributes. Enrichment products that return a name and employer are inferring from patterns; everything returned here was confirmed at source or is absent from the response.
Can I search an email address across social media in one request?
Yes. One request checks every platform that accepts an email address - currently 27 of them - in parallel, and returns the ones that answered. Social platforms, developer tools, shopping, finance and community sites are all covered in the same call, and results stream as they land so the first matches arrive in roughly 60 milliseconds.
What does the API do when a platform cannot be checked?
A platform that blocked the check, timed out or returned something unreadable is omitted from the response entirely. It is never reported as registered: false. That distinction is load-bearing: an unconfirmed check and a confirmed absence are different facts, and collapsing them would turn an unknown into a false negative.
How fast is an email enrichment lookup?
Instant depth answers in well under a second from the highest-value platforms. A standard lookup sweeps the full set and streams results as they resolve, so the first matches land in around 60 milliseconds even though the complete sweep takes longer. Deep depth trades latency for reach across the long tail.

Related

Start free with 15 lookupsTry a lookup