> ## Documentation Index
> Fetch the complete documentation index at: https://formcarry.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Legacy Submissions API — List and Filter Submissions

> Fetch paginated form submissions with the legacy Formcarry Submissions API, filtering by date, spam status, attachments, or field values.

<Warning>
  This page documents the **legacy** Submissions API at `formcarry.com/api`. For new integrations, use the [v1 Submissions endpoints](/docs/api/overview) at `api.formcarry.com`, which support cursor-based pagination and richer filters.
</Warning>

The legacy Submissions API retrieves submissions for a specific form. It supports pagination, sorting, and filtering by common fields.

## Retrieve submissions

```text theme={null}
GET https://formcarry.com/api/form/{formId}/submissions
```

### Path parameters

* `formId` — The ID of the form whose submissions you want.

### Query parameters

| Parameter | Type    | Description                                                                              |
| --------- | ------- | ---------------------------------------------------------------------------------------- |
| `limit`   | integer | Submissions per page. Default `25`, max `50`.                                            |
| `page`    | integer | Page number. Default `1`.                                                                |
| `sort`    | string  | Sort as `field:order` where `order` is `1` (asc) or `-1` (desc). Default `createdAt:-1`. |
| `filter`  | string  | Comma-separated filters as `key:value`. See below.                                       |

#### Available filters

* `date:N` — submissions from the last `N` days (e.g. `date:7`).
* `attachments:true` / `attachments:false` — only submissions with (or without) attachments.
* `spam:true` / `spam:false` — only spam (or non-spam) submissions.
* `fieldname_contains:value` — submissions where a field value contains `value`.
* `fieldname_notcontains:value` — submissions where a field value does not contain `value`.

<Warning>
  Field-name filters use unsanitized input. Validate and escape user-provided values before including them in the query string.
</Warning>

### Example

```bash theme={null}
curl "https://formcarry.com/api/form/YOUR_FORM_ID/submissions?limit=50&page=1&filter=spam:false,date:30" \
  -H "api_key: YOUR_API_KEY"
```

### Response

```json theme={null}
{
  "form": "YOUR_FORM_ID",
  "results": 25,
  "pagination": {
    "current_page": 1,
    "previous_page": null,
    "next_page": 2,
    "total_page": 4,
    "total_submissions": 92
  },
  "submissions": [
    {
      "_id": "...",
      "form": "YOUR_FORM_ID",
      "createdAt": "2024-01-15T10:20:30.000Z",
      "updatedAt": "2024-01-15T10:20:30.000Z",
      "fields": [
        { "name": "email", "value": "user@example.com" },
        { "name": "message", "value": "Hello!" }
      ]
    }
  ]
}
```


## Related topics

- [List submissions](/docs/api-reference/submissions/list-submissions.md)
- [Legacy Formcarry API Overview](/docs/api/legacy/overview.md)
- [List deliveries](/docs/api-reference/forms/list-deliveries.md)
- [Count submissions](/docs/api-reference/submissions/count-submissions.md)
- [List a form's fields](/docs/api-reference/forms/list-a-forms-fields.md)
