List responses

GET
/surveys/{survey_id}/responses

Returns the responses of a survey, newest first. A response is one participation with at least one answered question. from and to refer to collected_at, the time of the first answer.

With attribute filters, a page can hold fewer records than requested or none at all although more matches exist. Keep paging as long as links.next is not null.

Authorization

bearerAuth
headerAuthorizationBearer <token>

API token of the account (ph_ followed by 48 characters), created in the account settings under API access.

Path Parameters

survey_id*string

UUID of the survey (id from List surveys).

Formatuuid

Query Parameters

completed?boolean

true: only completed responses. false: only incomplete ones. Omit for both.

attributes[]?array<>

Names of respondent attributes to return with each response, e.g. email. At most 50. Fixed attributes: email, customer_id, customer_type, total_revenue, total_purchases, total_aov, country, language; otherwise a key of the custom data passed to identify().

Itemsitems <= 50
filter?

Filter by respondent attributes: filter[<attribute>][<operator>]=<value>, e.g. filter[total_purchases][gte]=3. Operators: eq (default), ne, contains, not_contains, in, gt, gte, lt, lte, exists. At most 10 conditions, combined with AND. See Filter by respondent attributes.

page[size]?integer

Records per page, 1 to 100. Default: 50.

Range1 <= value <= 100
Default50
page[cursor]?string

Cursor of the next page. Take it from links.next and pass it on unchanged.

Lengthlength <= 500
from?string

Only records whose time of the first answer (collected_at) is at or after this point in time. ISO 8601; a plain date (2026-01-31) covers the whole day in UTC.

to?string

Only records whose time of the first answer (collected_at) is at or before this point in time. Must not be before from.

Response Body

A page of responses.

application/json
  1. response
data*array<>
links*
meta*
curl -X GET 'https://app.poll-hero.com/api/v1/surveys/42293d51-fdd7-49cb-a693-cc6f9f0a070b/responses'
{  "data": [    {      "id": "918273",      "collected_at": "2026-09-14T10:22:41.000000Z",      "completed": true,      "completed_at": "2026-09-14T10:23:19.000000Z",      "time_taken": 38,      "url": "https://shop.example.com/checkout/thank-you",      "device_type": "desktop",      "browser": "Chrome",      "country": "Germany",      "utm": {        "source": "newsletter",        "medium": "email",        "campaign": "autumn",        "term": null,        "content": null      },      "answers": [        {          "question_id": "de184da0-572b-4a7d-94d2-ada144566528",          "question_type": "single",          "answer": {            "content": "Search engine"          }        },        {          "question_id": "5b0c7c0e-2f0e-4f0a-9d53-0c4f3a1f7a11",          "question_type": "nps",          "answer": {            "content": 9,            "tag": "promoter"          }        }      ],      "respondent": {        "id": "b1f4c2d0-7a35-4c1e-8f7b-2f6f0e1f9a44",        "attributes": [          {            "name": "email",            "value": "customer@example.com"          }        ]      }    }  ],  "links": {    "first": "https://app.poll-hero.com/api/v1/surveys/42293d51-fdd7-49cb-a693-cc6f9f0a070b/responses",    "prev": null,    "next": null  },  "meta": {    "page_size": 50  }}