---
name: "forms_list_responses"
area: "forms"
title: "List responses"
price: "free"
method: "POST"
url: "https://api.conecto.chat/v1/tools/forms_list_responses"
mcp_server: "https://api.conecto.chat/mcp/forms"
auth: "Authorization: Bearer <conecto_sk_ key>"
docs_url: "https://conecto.chat/tools/forms/forms_list_responses"
---

# List responses (`forms_list_responses`)

A form's responses, newest first, each answer with its question and a readable value.

A form's responses, newest first: for each answer the question, the stored value and a readable answer, plus the link values (hidden_fields) and the CRM contact. When next_cursor is not null, call again with it for older responses.

Price: Free up to 1,000,000 reads a month for the whole account, then $0.50 per 10,000 reads. A call that fails costs nothing.

## Use it when

To read what people sent, page by page.

- For the results at a glance: counts, averages, NPS, use [forms_summary](https://conecto.chat/tools/forms/forms_summary.md).
- For every response in a spreadsheet, use [forms_export_responses](https://conecto.chat/tools/forms/forms_export_responses.md).

## Say this to your agent

> Show me this week's ride club sign-ups.

## Inputs

| Name | Type | Required | Description | Allowed values | Default |
|---|---|---|---|---|---|
| `form` | string | yes | The form's form_id or slug (forms_list shows both). 1 to 60 characters. |  |  |
| `since` | string | no | Only responses from this time on: ISO 8601 (2026-10-01T00:00:00Z) or a date (2026-10-01, UTC). Up to 40 characters. |  |  |
| `limit` | integer | no | 1 to 100. |  | `25` |
| `cursor` | string | no | The next_cursor of the previous page. Up to 500 characters. |  |  |

## Example

Written for Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon.

MCP: call `forms_list_responses` on the MCP server `https://api.conecto.chat/mcp/forms` with these arguments:

```json
{
  "form": "join-the-ride-club",
  "since": "2026-10-12"
}
```

REST:

```bash
curl https://api.conecto.chat/v1/tools/forms_list_responses \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"form": "join-the-ride-club", "since": "2026-10-12"}'
```

## Response

```json
{
  "call_id": "5f0c8a2e-3b7d-4c1e-9a64-2d8e1f7b0c93",
  "tool": "forms_list_responses",
  "status": "succeeded",
  "replayed": false,
  "cost_usd": "$0.00",
  "balance_usd": "$19.75",
  "result": {
    "form_id": "ff6f9220-fff8-4783-a399-e2a9f296aadf",
    "responses": [
      {
        "response_id": "16db3364-af6d-43a9-90d9-49f38f0ac5f8",
        "submitted_at": "2026-10-14T08:00:00+00:00",
        "answers": [
          {
            "field_id": "full_name",
            "question": "Your name",
            "type": "short_text",
            "value": "Marcus Webb",
            "answer": "Marcus Webb"
          },
          {
            "field_id": "email",
            "question": "Email",
            "type": "email",
            "value": "marcus.webb@example.com",
            "answer": "marcus.webb@example.com"
          }
        ],
        "hidden": {},
        "contact_id": 4101
      }
    ],
    "count": 1,
    "next_cursor": null
  }
}
```

`result`: The form_id, the responses (each with its response_id, time, answers with question and readable value, link values and CRM contact), how many, and next_cursor for older ones.

## Errors

| Code | Status | When | Fix |
|---|---|---|---|
| `not_found` | 404 | No form of the business has that form_id or slug. | Call forms_list and use a form_id or slug from it. |
| `invalid_input` | 400 | since is not an ISO 8601 time or a date. | Send a time like 2026-10-01T00:00:00Z or a date like 2026-10-01. |
| `invalid_input` | 400 | The cursor is not one of this form's. | Leave cursor out to start from the newest response. |

The refusals every tool can give (401 key, 402 balance, 429 limits) are on the errors page: https://conecto.chat/docs/errors.md

## Related

- [forms_create](https://conecto.chat/tools/forms/forms_create.md): Creates a form or survey with its own public page that anyone can open and answer. $0.01 a call.
- [forms_update](https://conecto.chat/tools/forms/forms_update.md): Changes a form's fields or settings; only what you pass changes. $0.01 a call.
- [forms_get](https://conecto.chat/tools/forms/forms_get.md): One form with its fields, settings, public link, whether it takes responses (and why not) and its response count. Free up to 1,000,000 reads a month.
- [forms_list](https://conecto.chat/tools/forms/forms_list.md): The business's forms, newest first, with their links, whether each takes responses, and their response counts. Free up to 1,000,000 reads a month.
- [forms_get_response](https://conecto.chat/tools/forms/forms_get_response.md): One response by its response_id, with every answer readable. Free up to 1,000,000 reads a month.
- [forms_summary](https://conecto.chat/tools/forms/forms_summary.md): A form's results at a glance: choice counts, rating averages, the NPS score, yes and no shares, numbers and the latest text answers. Free up to 1,000,000 reads a month.
- [forms_export_responses](https://conecto.chat/tools/forms/forms_export_responses.md): Saves a CSV of a form's responses in the file store and returns a download link. $0.001 a call.
- [forms_close](https://conecto.chat/tools/forms/forms_close.md): Stops a form taking responses; its page then says it is closed. $0.001 a call.
- [forms_open](https://conecto.chat/tools/forms/forms_open.md): Lets a closed form take responses again. $0.001 a call.
- [forms_delete](https://conecto.chat/tools/forms/forms_delete.md): Deletes a form and all its responses for good; its link stops working. $0.001 a call.
- [forms_delete_response](https://conecto.chat/tools/forms/forms_delete_response.md): Deletes one response for good, for a person who asks to be forgotten, or for spam. Free.
