Skip to main content
  • Customer Experience
    Customer Experience
  • Employee Experience
    Employee Experience
  • Brand Experience
    Brand Experience
  • Product Experience
    Product Experience
  • Core XM
    Core XM
  • Design XM
    Design XM

Common API Questions

What's on This Page:

Was this helpful?

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The feedback you submit here is used only to help improve this page.

That’s great! Thank you for your feedback!

Thank you for your feedback!

About Common API Questions

Qualtrics has variety of different products that allow our clients to gather actionable data in real time. Some of these products include the Survey Platform, Website / App Feedback, XM Directory, and Qualtrics 360. Once you’ve purchased the Qualtrics API feature, you’ll be able to use the API for any products that are a part of your license.

Survey Platform

I have all the correct parameters, but I keep getting an error message that says “Invalid request. Missing or invalid parameter Request.” Why is this happening?


curl -X POST \ \  
-H 'content-type: application/json' \  -H 'x-api-token: 12345678901234567890' \  
-d '{"surveyId":"SV_1234567890","Format":"json"}'

Qualtrics API parameters are case sensitive. In this example, your parameter is being called “Format” when it should be “format.” Update this and you’ll be able to successfully run your API request.

I would like to download my raw data to open in Excel. Which API request should I use?
You’ll want to use the Create Response Export request to start the export process and specify that the response export file format should be CSV. Then, you will need to use the Get Response Export Progress request to check whether the file is ready, followed by the Get Response Export File request to download your CSV file.
When using Create Contacts Import, what are the different methods of posting or sending my contact list to Qualtrics?
There are two options for uploading your contact list:

  1. You can set the Content-Type to multipart/form-data and upload your contacts as a JSON file.
  2. You can set the Content-Type to application/json and post the contacts as a JSON array in the request body.
Am I limited to the number of requests I can make for my organization? And how many concurrent API requests can I make at once?
Please see below for the concurrent request limits for the different API versions.


  • Brand limit of 50 synchronous, 15 asynchronous.
  • Token limit of 30 synchronous, 15 asynchronous.


  • No user level limits.
  • Brand limit of 3000 requests per minute, by default. Some APIs have will have lower brand limits.
  • Token limit of 30 synchronous, 15 asynchronous.

Asynchronous requests are generally ones where you check for progress, such as response exports and contacts imports. Synchronous requests are the ones that immediately give you a response. The asynchronous request limit and synchronous request limit are enforced separately, so exceeding one will not affect the other. If the limit is exceeded, not all requests fail – just those over the limit.

Qtip: In API v2.x, getLegacyResponseData, getPanel, getPanelOptouts, importPanel, importResponses, importSurvey, import360Responses, and importPersons are considered asynchronous. In API v3, Create Response Export, Import Responses, Import Responses from URL, Create Contacts Import, and Import Mailing List Contacts with Transactions are considered asynchronous.
I’m using the Import Survey request, and I’ve saved my survey as a TXT file. The request is successful, but my questions aren’t appearing in my newly imported survey. Why is this happening?
You’ll need to make sure that you’re following the necessary format for importing surveys into Qualtrics. To learn more about TXT formatting, view Preparing a TXT File in Simple Format and Preparing a TXT File in Advanced Format. Once your file is formatted correctly, the request will run successfully.
I’m using the Create Response Export request with the parameters startDate and endDate. When I look at the downloaded data though, I’m not seeing the anticipated date range of responses.
The key to using the startDate and endDate parameters is understanding what date value is being used to evaluate the condition you’re creating (i.e., what dates are being looked at to evaluate the startDate you set and the endDate you set). These two parameters are using the date the participant started the survey. This value, called the Start Date, can be found in your Data & Analysis tab and downloaded data. So if you set your startDate parameter to be 2017-01-01 and your endDate parameter to be 2017-01-02, you will download responses that have been recorded (submitted or incomplete) for survey participants that started their survey within the date range of January 1, 2017 to January 2, 2017.

Qtip: A survey response doesn’t become recorded until the participant clicks the submit button inside of a survey or when the incomplete survey responses time frame has been met.

Website / App Feedback

For Website / App Feedback questions, contact our Website / App Feedback support team.

XM Directory

Can I use the Survey Platform API now that I’m using XM Directory too?
Yes, absolutely. XM Directory has a few API requests that will replace requests made through the Survey Platform API, but for the most part you can still use all of the Survey Platform API requests. The Survey Platform Contacts requests are the only ones that may change. On the v3 documentation, API requests that are not supported for XM Directory users (and vice versa) will have a notice.
What additional functionality does the XM Directory API provide that I don’t have access to with just the Survey Platform API?
The XM Directory API provides you with a few unique requests specific to XM Directory. You can use getBouncedContacts (API v2.4) to find all the contacts in your directory (or in a specific mailing list) that have ever had an email bounce. The List Directory Contacts request can be used to export a subset of your entire directory. The getIncentiveRecipients request allows you to download a list of every contact in your directory who has earned a specific incentive, such as a points reward or sweepstakes entry. These requests and others are available with the XM Directory API.
What is the difference between the Contact ID and the Recipient ID?
Each XM Directory API request typically asks for the contact’s Contact ID. This ID begins with “CID_” and is followed by a unique alphanumeric string. The Contact ID is the contact’s unique ID in your directory. Some API requests ask for the contact’s Recipient ID. This ID begins with “CGC_” and is followed by a unique alphanumeric string. The Recipient ID is the contact’s unique ID in a mailing list.

To understand the difference between the Contact ID and the Recipient ID, it’s important to remember that each contact should only exist in your directory once. So a single contact could be found in your directory once but could also be a member of multiple mailing lists. If this contact were a member of three mailing lists, he or she would have one Contact ID and three Recipient IDs, one for each list.

Qualtrics 360

For Qualtrics 360 questions, contact our Qualtrics 360 support team.