List submissions
Submissions of a form with their answers, filtered by date, status or text.
GET https://cotlet.dev/api/v1/fillout/forms/{form_id}/submissions
Returns the submissions of one form with every answer, in the order set by sort (oldest first by default). Only finished submissions come back unless status is in_progress. Pages hold up to 150 submissions; the call also returns total_responses and page_count for the filter, so you can page with offset. Test submissions made in Preview are left out unless include_preview is true.
Parameters
| Name | Type | Description |
|---|---|---|
| form_id string required | string | Form ID from list_forms. |
| status enum | enum | finished or in_progress. Default: finished. In-progress submissions are unfinished ones. |
| after_date datetime | datetime | Only submissions made after this time. |
| before_date datetime | datetime | Only submissions made before this time. |
| search string | string | Only submissions containing this text. |
| sort enum | enum | asc or desc. Default: asc. |
| include_preview boolean | boolean | Also return submissions made in Preview mode. |
| limit integer | integer | 1 to 150. Default: 50. |
| offset integer | integer | Start position in the list. Default: 0. |
Request
curl https://cotlet.dev/api/v1/fillout/forms/form_8c41d2/submissions \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("fillout", "list_submissions", {"form_id":"form_8c41d2"}) const result = await cotlet.call('fillout', 'list_submissions', {"form_id":"form_8c41d2"}); cotlet call fillout list_submissions --data '{"form_id":"form_8c41d2"}' Example response
{
"submissions": [
{
"submission_id": "sb_71f3a9",
"submitted_at": "2026-10-12T09:41:00Z",
"answers": [
{
"question": "Full name",
"value": "Ana Lopez"
},
{
"question": "Work email",
"value": "ana@acme.example"
}
]
}
],
"total_responses": 38,
"page_count": 1
}