Survey Responses

List Survey Responses

Lists non-deleted responses for a specific survey. Supports pagination, sorting, and filtering by question answers, status, dates, and more.

Endpoint

GET v5/survey/{survey_id}/surveyresponse

Requires authentication.

Caching: Identical GET requests are cached for approximately 60 seconds and may return identical results during that period.

Soft deletion: Deleted responses are excluded from this list by default.

Path Parameters

The survey whose responses should be listed.

survey_id
string
required
The ID of the survey whose responses will be returned.

Query Parameters

Use these parameters to control pagination, sorting, and filtering of the survey responses. Authentication credentials (api_token and api_token_secret) are required for all calls; see the Authentication guide for options.

page
integer
optional
1‑based index of the page to return. Defaults to page 1. Responses are paginated.
resultsperpage
integer
optional
Number of responses to return per page. Defaults to 50. The maximum is typically 500; values above the limit are capped at the limit.
order_by
string
optional
Sorts the responses by submission or update time. Supported values are:
  • date_submitted (ascending)
  • -date_submitted (descending)
  • date_updated (ascending)
  • -date_updated (descending)
For descending order, prefix the field name with - (for example, -date_submitted). If not specified, results are returned in ascending order.
Note: The date_updated field does not include timezone information. It is typically returned in UTC but can vary based on the account’s configuration. Make a few sample API calls to confirm behavior for your account.
filter[field][n]
string
optional
Field to filter on, where n is a zero‑based index (0, 1, …). Multiple filters can be combined by incrementing n.

Common field values include:
  • [question(QUESTION_ID)] — answer to a specific question
  • [question(QUESTION_ID), option(OPTION_SKU)] — a specific option on a question
  • [url("variablename")] — a URL variable value (URL‑encode brackets and quotes)
  • date_submitted — submission date/time
  • date_updated — last updated date/time
  • is_test_data — whether the response is marked as test data
  • status — response status (for example, Complete, Partial, Disqualified)
For additional filtering options and syntax, see the Filtering tutorial.
filter[operator][n]
string
optional
Comparison operator for the corresponding filter[field][n]. Supported operators include:
  • = — equal to
  • <> or != — not equal to
  • > — greater than
  • < — less than
  • <= — less than or equal to
  • >= — greater than or equal to
  • IS NOT NULL — answered / not blank (no value required)
  • IS NULL — not answered / blank (no value required)
  • in — value is in a comma‑separated list
filter[value][n]
string
optional
Comparison value for the corresponding filter[field][n] and filter[operator][n].

For date filters, use a format such as YYYY-MM-DD+HH:MM:SS (spaces URL‑encoded as +). For checkbox questions, if the reporting value contains commas, make sure the value is URL‑encoded.

Filter support: Filtering is supported only on GET requests for surveyresponse. It is not available on PUT, POST, or DELETE methods.

Response

Returns a paginated collection of survey response objects along with pagination metadata. For detailed response properties, see SurveyResponse Sub-Object Returned Fields .

result_ok
boolean
Whether the request succeeded.
total_count
integer
Total number of survey responses matching the current filter criteria.
page
integer
Current page index in the result set (1‑based).
total_pages
integer
Total number of pages available for the current query.
results_per_page
integer
Number of responses returned per page.
data
array
Array of survey response objects.

Examples

Request (cURL) — basic list
curl -X GET \
  "https://api.alchemer.com/v5/survey/123456/surveyresponse?page=1&resultsperpage=50&api_token=YOUR_API_TOKEN&api_token_secret=YOUR_API_TOKEN_SECRET"
Request (cURL) — filtered by date and status
curl -X GET \
  "https://api.alchemer.com/v5/survey/123456/surveyresponse?\
filter[field][0]=date_submitted&filter[operator][0]=>=&filter[value][0]=2011-02-23+13:23:28&filter[field][1]=status&filter[operator][1]==&filter[value][1]=Complete&api_token=YOUR_API_TOKEN&api_token_secret=YOUR_API_TOKEN_SECRET"
Response
{
  "result_ok": true,
  "total_count": 125,
  "page": 1,
  "total_pages": 3,
  "results_per_page": 50,
  "data": [
    {
      "id": 121,
      "status": "Complete",
      "date_submitted": "2011-02-23 13:24:10",
      "date_updated": "2011-02-23 13:24:10",
      "is_test_data": false,
      "survey_id": "123456",
      "...": "Additional surveyresponse fields omitted for brevity"
    }
  ]
}