How to get list of contact with last response date within a certain range through API? | XM Community
Skip to main content
Hi everyone,



Our customer share with us one of their mailing list.

We need to get the list of contacts which have new response everyday.

If we use Qualtrics Directory site, go to the list and use advanced filter, we can select Statistics -> Last response -> Choose time to filter.

But for API, i could not find any thing resemble that.

The most is "Search Contacts" API but this one search whole directory, not just mailing list, and can only filter using Contact Info, not last response date.

Also, as i check API result, some contact "lastUpdated" field did not change when they response to a survey (few but still exist)

So anyone know any API just like filter function in Qualtrics website?



Many thanks.
You can do it as a two step process. Use "List Contact In Mailing List", then loop through the the contacts and use "Search Contact" to get each contact and check their last response date.
> @TomG said:

> You can do it as a two step process. Use "List Contact In Mailing List", then loop through the the contacts and use "Search Contact" to get each contact and check their last response date.



Currently we use "List Contacts In Mailing List", then loop through each contact and use "Get Contact In Mailing List" to check for contact detail, last response date. But this list of contact is increasing day by day. That a bit like your solution right?

By now there only 4k contact but later may reach few millions ( As that is our total customer ). So using either way will cost a lot of time and performance.

That why i want to search for new response only as there will be less than thousand responses per day.
> @BinhPM said:

> Currently we use "List Contacts In Mailing List", then loop through each contact and use "Get Contact In Mailing List" to check for contact detail, last response date. But this list of contact is increasing day by day. That a bit like your solution right?

Yes, it is essentially the same approach, so it wouldn't provide any performance advantage.
Hi @BinhPM! Your current method of looping through each contact list and using the "Get Contact in Mailing List" is one solution. An alternative option would be to add “PanelID”, “PanelMemberID” and “Q_EMD” as embedded data and then pull the new responses based on a date range and use the one of the IDs to use the Get Contact API call. If you have any further questions about how to set this up, be sure to reach out to our Support Team!. 😃
> @KendraR said:

> Hi @BinhPM! Your current method of looping through each contact list and using the "Get Contact in Mailing List" is one solution. An alternative option would be to add “PanelID”, “PanelMemberID” and “Q_EMD” as embedded data and then pull the new responses based on a date range and use the one of the IDs to use the Get Contact API call. If you have any further questions about how to set this up, be sure to reach out to our Support Team!. 😃



@KendraR,



Two questions on your post:

1. Is there any difference between RecipientID and PanelMemberID? It looks to me like they are the same thing.

2. What is Q_EMD? I've tried it with both Directory and non-Directory lists with embedded data and it comes up blank.

Leave a Reply