How Revealed Contact Details Are Returned
Email addresses and mobile numbers are revealed by POST /enrich and POST /bulk, and collected from GET /enrich?id=. Both arrive as arrays of typed values on the row for that profile — this page describes exactly what those arrays contain and, just as importantly, what they do not.
{
"linkedinUrl": "linkedin.com/in/qwerty",
"status": "completed",
"email": [ { "type": "work", "value": "example@deepenrich.com" } ],
"mobile": [ { "type": "personal", "value": "+1..." } ]
}
An entry contains a type and a value and nothing else. There is no per-address status field, no bounce-rate score and no most_probable_email shortcut — the API hands over the addresses and numbers it found, and leaves ranking to you. If you previously branched on a deliverability status, branch on presence instead.
POST /search returns a set of has_* booleans describing which profile fields hold data. They cover education, experience, organisation, title, city, state, country, location, certification, industry and summary.
The only way to find out is to call /enrich, which is safe: a profile that yields nothing comes back not_found and is not charged. Attempting a reveal costs you nothing when there is nothing to reveal.
Per-row status tells you whether to look for values at all:
Example — a mixed batch:
"data": [
{ "linkedinUrl": "linkedin.com/in/qwerty",
"status": "completed",
"email": [ { "type": "work", "value": "example@deepenrich.com" } ],
"mobile": [ { "type": "personal", "value": "+1..." } ] },
{ "linkedinUrl": "linkedin.com/in/abcdef",
"status": "completed",
"email": [ { "type": "work", "value": "another.example@deepenrich.com" } ] },
{ "linkedinUrl": "linkedin.com/in/lmnopqrs",
"status": "not_found" }
]
Read row-level status before reading values. The second row requested only an email; the third yielded nothing and is charge-free. A request can be completed while individual rows are not_found — that is the normal outcome for a mixed batch, not a partial failure.
Delivery also draws on separate daily allowances — one counter per address delivered, another per number delivered. See Rate Limit for how those counters work, and Credits & Testing Tips for the full cost table.