Does what you need to track property wise not fall cleanly into a specific Property Search set of criteria? Commonly if you're building lead types across multiple geos or favorited lists by users that could consist of multiple lead types from different searches, you might need to update only certain property IDs. This guide should help you setup tracking for a list of IDs.
Step 1: Create Saved Search API
Note:
list_sizeshould match the length of the ID list you provide.
{
"search_name": "Lukas_IDsTest_062525",
"list_size": 10,
"search_query": {
"ids": [
"335810662",
"190167848",
"191455659",
"194066223",
"187069145",
"33726348",
"35780942",
"35809525",
"34483531",
"40671873"
]
}
}Example Response from Create Saved Search for List of IDs
{
input: {
search_name: 'Lukas_IDsTest_062525',
list_size: 10,
search_query: { ids: [Array], size: 10, ids_last_update: true }
},
data: {
search: {
searchId: '910d5054-8c88-4ee2-a139-284d4cxxxxxx',
accountId: 96,
xUserId: null,
searchName: 'Lukas_IDsTest_062525',
searchQuery: '{"ids":[335810662,190167848,191455659,194066223,187069145,33726348,35780942,35809525,34483531,40671873]}',
lastReportDate: '2025-06-26T01:15:11.000Z',
nextReportDate: '2025-06-27T01:15:11.000Z',
createdAt: '2025-06-26T01:15:11.000Z',
meta_data: {}
},
results: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object], [Object]
],
summary: { size: 10, added: 10, deleted: 0, updated: 0, unchanged: 0 }
},
statusCode: 200,
statusMessage: 'Success',
credits: 0,
live: true,
requestExecutionTimeMS: '48ms'
}Step 2: Get Daily Report and Make Updates Accordingly
{
"searchId": "910d5054-8c88-4ee2-a139-284d4cxxxxxx"
}Example Response from Retrieve Saved Search for List of IDs
{
searchId: '910d5054-8c88-4ee2-a139-284d4cxxxxxx',
accountId: 089080,
xUserId: null,
searchName: 'Lukas_IDsTest_062525',
searchQuery: '{"ids":[335810662,190167848,191455659,194066223,187069145,33726348,35780942,35809525,34483531,40671873]}',
lastReportDate: '2025-06-26T01:16:12.000Z',
nextReportDate: '2025-06-27T01:16:12.000Z',
createdAt: '2025-06-26T01:15:11.000Z',
meta_data: {},
results: [
{ id: 335810662, changeType: 'added', lastUpdateDate: '2025-06-11T00:00:00.000Z' },
{ id: 190167848, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' },
{ id: 191455659, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' },
{ id: 194066223, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' },
{ id: 187069145, changeType: 'added', lastUpdateDate: '2025-06-11T00:00:00.000Z' },
{ id: 33726348, changeType: 'added', lastUpdateDate: '2025-06-19T00:00:00.000Z' },
{ id: 35780942, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' },
{ id: 35809525, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' },
{ id: 34483531, changeType: 'added', lastUpdateDate: '2025-06-11T00:00:00.000Z' },
{ id: 40671873, changeType: 'added', lastUpdateDate: '2025-06-18T00:00:00.000Z' }
],
summary: { size: 10, added: 10, deleted: 0, updated: 0, unchanged: 0 }
}What if I have more than 10,000 IDs to Track?
- Since
list_sizemax is 10,000, you'll need to break up youridsarray input into multiple saved search queries- Make sure the
search_nameyou provide for each helps you serialize the results in your daily jobs - e.g.
"IDs_List_Seq_000","IDs_List_Seq_001","IDs_List_Seq_002", etc.
- Make sure the
- Once you hit enough properties (in the 10M+ range), you may get more benefit from tracking updates from all zip codes in easy size chunks to iterate through and compare to your larger index of IDs you are tracking
- One saved search per zip, and each day's Retrieve for each
search_idcan be prioritized where you have the most properties saved
- One saved search per zip, and each day's Retrieve for each