Refactoring the Export Responses API | XM Community
Skip to main content

Dear Qualtrics Support Team,

I hope this message finds you well. I am writing to suggest an enhancement to the current process of accessing survey responses through the Qualtrics API. The existing three-step process, which involves starting an export, checking the export progress, and then downloading the responses, can be quite cumbersome and inefficient, particularly for applications requiring real-time or near-real-time data access.

Current Issues:

  1. Multiple API Calls: The process requires multiple API calls, which increases complexity and latency.
  2. Polling Mechanism: Continuously polling for export progress can lead to inefficiencies and potential rate limiting.
  3. Delayed Access: The necessity to wait for export completion can delay access to responses.

Proposed Solution: To address these issues, I propose the following improvements:

  1. Single-Step API Endpoint: Introduce a single API endpoint that directly retrieves survey responses without the need for an export process. This endpoint could leverage pagination to handle large datasets effectively.

    • Example: GET /API/v3/surveys/{surveyId}/responses?page={page}&pageSize={pageSize}
  2. Asynchronous Data Retrieval: If a single-step process is not feasible due to processing constraints, consider an asynchronous approach where the initial request initiates the data retrieval, and the response includes a callback URL or webhook for when the data is ready.

    • Example: POST /API/v3/surveys/{surveyId}/responses/export
    • The response could include a callback URL to notify when the data is ready.
  3. Streaming Responses: Implement streaming of responses, allowing clients to start processing data as it is being retrieved, reducing overall wait times.

    • Example: GET /API/v3/surveys/{surveyId}/responses/stream

Benefits:

  • Reduced Latency: A direct or asynchronous approach would significantly reduce the time taken to access survey responses.
  • Simplified Integration: Developers would benefit from a simplified API integration process.
  • Improved Efficiency: Reducing the number of API calls and the need for polling would improve overall efficiency and reduce the load on your servers.

I believe these enhancements would greatly improve the user experience and efficiency for all users of the Qualtrics API. Thank you for considering this request. I am happy to discuss this further if needed and provide any additional information or feedback.

All best,
Joshua

I support everything Joshua said, and would like to add that having to spin up 150+ distinct applications to ingest data from as many surveys just isn’t scalable. I’d love it if responses were completely decoupled from surveys, and allowed us to ingest responses individually, regardless of the survey they belong to.

As it is right now, we effectively have to setup and maintain a separate data producer for every survey in production.

Other than that, I’d like to reiterate the dire need for better support for streaming data (point #3) - I wish Qualtrics as a whole had a clearer strategy around supporting real-time data streaming, as opposed to pull-based data ingest.


Leave a Reply