Activity
Search Activity
POST
Query your past searches and enrichments. Filter by activity type, date range, or specific entity IDs — or use free-text search to find activities by filter names, location codes, enrichment inputs, and more. This endpoint does not consume credits.
An array of activity records, each representing a past API request.
A condensed view of what was sent in the original request. The shape varies by activity type.
For search types (
For enrichment types (
A summary of the results and cost. The shape varies slightly by activity type.
For search types:
For enrichment types:
For count types:
Find enrichments where you looked up a specific email:
Find searches in Texas from last month:
Find any activity involving a specific address:
This returns all activities where either
Body Parameters
Free-text search across your activity history. Matches against filter IDs, filter values, location codes, enrichment inputs (email addresses, phone numbers, addresses), and requested field names.Examples:
"estimated_value", "TX", "john@example.com", "48201", "equity", "555-123-4567", "1200 Barton Springs"The search is case-insensitive and matches partial strings — searching "equity" matches activities that used the equity_percent filter.Filter by activity type. Omit to include all types. See Activity Types for the full list.Options:
search_people, search_properties, count_people, count_properties, enrich_email, enrich_phone, enrich_address, enrich_latlng, enrich_apnFilter to activities within a date range. Both fields are optional — omit
start for “all time before end”, omit end for “all time after start”.Find activities that returned specific entity IDs. Pass
dm_person_id values (e.g., "per_x1y2z3") or dm_property_id values (e.g., "prop_a1b2c3"). Activities matching any of the provided IDs are returned.This is useful for answering “have I already accessed this person/property?”Page number (min:
1).Results per page (min:
1, max: 100).Array of sort objects. Defaults to
[{ "field": "created_at", "direction": "desc" }] (most recent first).Response Fields
data
An array of activity records, each representing a past API request.
| Field | Type | Description |
|---|---|---|
activity_id | string | Unique activity identifier (e.g., act_r7s8t9u0). Use this with Get Activity for full details. |
type | string | Activity type. See Activity Types. |
created_at | string | ISO 8601 timestamp of when the request was made. |
matched_on | string[] | Only present when query is provided. Shows which parts of the request matched the search term (e.g., "filters: equity_percent", "locations: TX", "input: john@example.com"). |
request_summary | object | Summary of the original request parameters (see below). |
result_summary | object | Summary of what the request returned (see below). |
request_summary
A condensed view of what was sent in the original request. The shape varies by activity type.
For search types (search_people, search_properties, count_people, count_properties):
| Field | Type | Description |
|---|---|---|
locations | array | The location objects used in the search |
filters | array | The filter objects with filter_id, operator, and value |
fields | string[] | The field IDs requested (empty array if defaults were used) |
enrich_email, enrich_phone, enrich_address, enrich_latlng, enrich_apn):
| Field | Type | Description |
|---|---|---|
enrichment_type | string | The enrichment method (email, phone, address, latlng, apn) |
items_submitted | integer | Number of items in the original request data array |
fields | string[] | The field IDs requested |
result_summary
A summary of the results and cost. The shape varies slightly by activity type.
For search types:
| Field | Type | Description |
|---|---|---|
total_results | integer | Total matching records across all pages |
total_pages | integer | Total pages available |
pages_retrieved | integer | How many pages you actually fetched (across multiple requests with different page values) |
credits_used | integer | Total credits consumed across all pages retrieved |
entity_count.people | integer | Unique people returned |
entity_count.properties | integer | Unique properties returned |
| Field | Type | Description |
|---|---|---|
total_results | integer | Total matched entities |
items_matched | integer | Items that found a match |
items_unmatched | integer | Items that did not match |
credits_used | integer | Credits consumed |
entity_count.people | integer | Unique people returned |
entity_count.properties | integer | Unique properties returned |
| Field | Type | Description |
|---|---|---|
total_results | integer | The count returned |
credits_used | integer | Always 0 (counts are free) |
pagination
| Field | Type | Description |
|---|---|---|
page | integer | Current page number |
per_page | integer | Results per page |
total_results | integer | Total activity records matching your query |
total_pages | integer | Total pages available |
has_next_page | boolean | Whether more pages exist after this one |
has_previous_page | boolean | Whether pages exist before this one |
Text Search
Thequery parameter searches across the full request parameters of every activity. This is the fastest way to find a past search when you remember what filters or inputs you used, but not the exact date or activity ID.
What Gets Searched
| Activity Type | Searchable Fields |
|---|---|
| Searches | Filter IDs (estimated_value, equity_percent, has_phone…), filter values, location types and codes (TX, 48201, 90210), requested field names |
| Enrichments | Enrichment inputs (email addresses, phone numbers, street addresses, APNs, coordinates), requested field names |
| All types | Activity type name |
Search Behavior
- Case-insensitive —
"equity"matchesequity_percent - Partial matching —
"barton"matches"1200 Barton Springs Rd" - Multi-term —
"TX equity"matches activities that contain bothTXandequityanywhere in the request - Combinable — use
querytogether withtypes,date_range, andentity_idsto narrow results further
Examples
Find all searches that used an equity filter:Searching by Entity ID
Theentity_ids parameter lets you find all past activity that involved a specific person or property. This is especially useful for:
- Deduplication — check if you’ve already accessed an entity before running a new search
- Audit trail — see every request that touched a specific entity
- Cost optimization — entities accessed within the same billing period are free on repeat
per_x1y2z3 or prop_a1b2c3 appeared in the results. The match is OR logic — activities matching any of the provided IDs are included.
Notes
- This endpoint does not consume credits.
- All parameters are optional. An empty request body
{}returns your most recent activity, sorted newest first. - Activity is scoped to your organization. All API keys under the same account see the same history.
- The
request_summaryis a condensed view. Use Get Activity for the full, unmodified request parameters. - Results are capped at 12 months of history.