Enrichment
Enrich by APN
POST
Look up properties by Assessor’s Parcel Number (APN). Each item in the
data array provides an apn, and the API normalizes formatting automatically (dashes, spaces, dots are all handled). Optionally include a location to narrow results to a specific area.
Each request accepts up to 250 items in the
data array. The response returns every submitted
item with a matched flag indicating whether a property was found.Body Parameters
Array of APN objects to look up (max 250).
Location to narrow results to a specific area. When omitted, results are not filtered by location.
Field IDs to include in results. Can include both property and people fields.
Omit or pass an empty array for the default set.
Which contacts to include on matched properties.Options:
owners, owners_and_family, renters, residentsWhen set, each matched result includes a contacts array. Omit to skip contacts.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 all always-included property fields plus any requested fields.
| Field | Type | Description |
|---|---|---|
input | object | Echo of the original input object |
matched | boolean | true |
dm_property_id | string | DealMachine internal property ID |
full_address | string | Complete formatted address |
address, city, state, zip | string | Parsed address components |
latitude, longitude | number | Property coordinates |
images | object | Signed URLs for street_view, satellite, and roadmap |
contacts | array | Contacts matching contact_audience. Only present when contact_audience is set. |
| 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 property |
unmatched | integer | Number of items that did not match |
Credits
This endpoint consumes 1 property enrichment credit per matched property. Whencontact_audience is set, included contacts consume people 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
- Each item only requires the
apnfield. The API normalizes formatting (dashes, dots, spaces) to the raw unformatted form automatically. - The
locationparameter is optional. When provided, results are scoped to that area. When omitted, the search is nationwide. - 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. - When
contact_audienceis set, each matched result includes acontactsarray with the same structure and match behavior as Search Properties.