# List all tax forms

Returns a list of tax forms which were previously created. The tax forms are returned in sorted order, with the oldest tax forms appearing first.

## Request

```curl
curl -G https://api.stripe.com/v1/tax/forms \
  -u "<<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-09-30.endive; retrieve_tax_forms_beta=v1" \
  -d "payee[account]={{ACCOUNT_ID}}" \
  -d "payee[type]=account"
```

### Response

```json
{
  "object": "list",
  "url": "/v1/tax/forms",
  "has_more": false,
  "data": [
    {
      "id": "taxform_ONZTcdNbv66OZD",
      "object": "tax.form",
      "corrected_by": null,
      "created": 1691018393,
      "filing_statuses": [
        {
          "effective_at": 1691018393,
          "jurisdiction": {
            "country": "US",
            "level": "country",
            "state": null
          },
          "value": "accepted"
        },
        {
          "effective_at": 1691018393,
          "jurisdiction": {
            "country": "US",
            "level": "state",
            "state": "CA"
          },
          "value": "rejected"
        }
      ],
      "livemode": false,
      "payee": {
        "account": "acct_1032D82eZvKYlo2C",
        "type": "account"
      },
      "type": "us_1099_k",
      "us_1099_k": {
        "reporting_year": 2022
      }
    }
  ]
}
```

## Parameters

- [`payee`](https://docs.stripe.com/api/tax_reporting/forms/list.md?query=payee) (object, required)
  The payee whose volume is represented on the tax form.

- `ending_before` (string, optional)
  A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.

- `limit` (integer, optional)
  A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

- `starting_after` (string, optional)
  A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.

- `status` (string, optional)
  Filter forms by draft or finalized status.

- `type` (enum, optional)
  An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future tax form types. If your integration expects only one type of tax form in the response, make sure to provide a type value in the request.
Possible enum values:
  - `au_serr`
    AU-SERR statements are used to report payment transactions for Australian sellers.

  - `ca_mrdp`
    CA-MRDP statements are used to report payment transactions for Canadian sellers.

  - `eu_dac7`
    EU-DAC7 statements are used to report payment transactions for European sellers.

  - `gb_mrdp`
    GB-MRDP statements are used to report payment transactions for United Kingdom sellers.

  - `nz_mrdp`
    NZ-MRDP statements are used to report payment transactions for New Zealand sellers.

  - `us_1099_k`
    1099-K forms are typically used to report payment transactions.

  - `us_1099_misc`
    1099-MISC forms are typically used to report other forms of compensation.

  - `us_1099_nec`
    1099-NEC forms are typically used to report nonemployee compensation.

## Returns

A dictionary with a `data` property that contains an array of up to `limit` tax forms, starting after charge `starting_after`. Each entry in the array is a separate tax form object. If no more tax forms are available, the resulting array will be empty.
