Enrichment
Enrich by Email
POST
Look up people by email address. Each item in the
data array provides an email, and the API returns all people associated with that address in a contacts array.
Each request accepts up to 250 items in the
data array. The response returns every submitted
item with a matched flag indicating whether a person was found.Body Parameters
Array of email objects to look up (max 250).
Field IDs to include in results. Can include both people and property fields.
Omit or pass an empty array for the default set.
When
true, each matched person includes a properties array with all associated properties and
their always-included fields.Response Fields
The response contains adata array and a totals object. There is no pagination — all submitted items are returned in a single response.
Matched Result
Whenmatched is true, the result contains a contacts array with every person matching the email address.
| Field | Type | Description |
|---|---|---|
input | object | Echo of the original input object |
matched | boolean | true |
contacts | array | All people matching the email address (see below) |
Contact Object
Each object in thecontacts array contains:
| Field | Type | Description |
|---|---|---|
dm_person_id | string | DealMachine internal person ID |
full_name | string | Full display name |
first_name, last_name | string | null | Parsed name components |
phones | array | Phone numbers with number |
emails | array | Email addresses |
properties | array | Associated properties. Only present when include_properties is true. |
| requested fields | varies | Any fields specified in fields |
Unmatched Result
| Field | Type | Description |
|---|---|---|
input | object | Echo of the original input object |
matched | boolean | false |
match_failure | object | Structured failure with code and reason |
match_failure.code | string | Machine-readable failure code (see Match Failure Codes below) |
match_failure.reason | string | Human-readable explanation of why no match was found |
Match Failure Codes
These codes are shared across all enrichment endpoints.| Code | Description |
|---|---|
not_found | No matching record exists for the provided input |
invalid_input | The input could not be processed (e.g., invalid address, invalid email, invalid phone number). The reason field provides specifics. |
Totals
| Field | Type | Description |
|---|---|---|
submitted | integer | Number of items in the request data array |
matched | integer | Number of items that matched a person |
unmatched | integer | Number of items that did not match |
Credits
This endpoint consumes 1 people credit per matched person. Wheninclude_properties is true, included properties consume property credits. Only matched results consume credits. Credits are deduplicated within your billing period — accessing the same entity again is free.
Every response includes a credits object with a full breakdown of what was charged. See Credits for details.
Notes
- A single email address may match multiple people. All matching contacts are returned in the
contactsarray. - Email matching is case-insensitive.
- When
include_propertiesistrue, each contact’spropertiesarray includes all associated properties. - Items are matched independently — one failed match does not affect others.
- The
inputobject is always echoed back so you can correlate results with your input data.