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 886 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 as email. The same endpoint takes a phone number or a username in their own fields, without a different code path, and checks.email adds deliverability, disposable and age facts. Add ?wait=true and the answer returns on the same request.

POST /v2/lookup?wait=true
curl -X POST "https://api.digifootprint.dev/v2/lookup?wait=true" \
  -H "Authorization: Bearer dfp_your_key" \
  -H "Content-Type: application/json" \
  -d '{ "email": "someone@example.com", "checks": { "email": true }}'
200 OK
{
  "lookupId": "c41d7f2b-...",
  "input": { "email": "someone@example.com", "phone": null, "username": null, "ip": null },
  "risk": { "score": 0 },
  "footprint": {
    "platformsChecked": 886,
    "matches": 4,
    "socialMatches": 4,
    "derivedMatches": 0,
    "hits": ["instagram", "spotify", "github", "duolingo"],
    "servedFromCache": false,
    "results": [
      { "platform": "instagram", "registered": true, "method": "public_api", "icon": "https://.../instagram.svg", "checkedAt": "2026-10-03T09:12:04.118Z", "identity": "email" },
      { "platform": "spotify", "registered": true, "method": "public_api", "icon": "https://.../spotify.svg", "checkedAt": "2026-10-03T09:12:04.201Z", "identity": "email" },
      { "platform": "github", "registered": true, "method": "public_api", "icon": "https://.../github.svg", "checkedAt": "2026-10-03T09:12:04.377Z", "identity": "email" },
      { "platform": "duolingo", "registered": true, "method": "public_api", "icon": "https://.../duolingo.svg", "checkedAt": "2026-10-03T09:12:04.512Z", "identity": "email" }
    ],
    "breaches": [{ "name": "Collection1", "date": "2019-01-07" }, { "name": "LinkedIn", "date": "2012-05-05" }],
    "webMentions": [{ "title": "someone (GitHub)", "url": "https://github.com/someone", "snippet": "someone@example.com - repositories", "matchConfidence": "confirmed" }],
    "phoneReserved": null
  },
  "email": {
    "address": "someone@example.com",
    "deliverable": true,
    "disposable": false,
    "freeProvider": true,
    "roleAccount": false,
    "breaches": { "listed": true, "count": 2, "firstSeenAt": "2012-05-05", "lastSeenAt": "2019-01-07" },
    "age": { "firstSeenAt": "2012-05-05", "ageDays": 5264, "source": "breach_records", "estimate": true },
    "risk": { "score": 0 }
  },
  "phone": null,
  "ip": null,
  "meta": { "tier": "standard", "modules": ["footprint:email", "email"], "instant": false, "footprintComplete": true, "deadlineMs": null, "platformsPending": null }
}

Email digital footprint check

The email digital footprint is often the most telling part of the answer. A real person's address has years of accounts behind it - social networks, shopping, developer and creative sites - and usually some breach history. An address made for one signup has almost none. One request returns that footprint beside the deliverability and risk facts, and the free digital footprint checker shows it for any address.

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 886 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, footprint.breaches and footprint.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 earliest 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.03 per lookup (top up from $20), or a monthly plan from $49 with a credit equal to its price, spent at lower per-check rates. Every price, per check and per plan, is on the pricing page.

Frequently asked questions

What is an email digital footprint?
An email digital footprint is the set of platforms an email address is registered on, the data breaches it appears in and where it is mentioned on the web. A long-used personal address has a wide footprint; an address created for a single signup has almost none, which is why the footprint is a strong fraud signal.
What is the difference between an email lookup API and an email enrichment API?
An email lookup API answers questions about one address - is it deliverable, disposable or listed in breaches. An email enrichment API adds context around the address, such as the platforms it is registered on and public web mentions. Digital Footprint returns both in one request, each fact confirmed or left out.
Can the API detect disposable email addresses and how old an address is?
Yes. The email check flags disposable and temporary addresses, free webmail and role accounts, confirms the mailbox is deliverable, and returns an email age estimated from the earliest dated breach record - each with a named risk signal when it matters.
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 886 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