---
api: 'Business API'
---

# Retrieve a list of expenses

Get all your expenses, or use the query parameters to filter the results.

The expenses are sorted by the `expense_date` value in reverse chronological order, and they're **paginated**.
The maximum number of expenses returned per page is specified by the `count` parameter.
To get the next page of results, make a new request and use the `expense_date` value from the last item of the previous page as the value for the `to` parameter.

The data enriched by the user, for example, VAT and cost centre, is returned under `splits[].tax_rate` and `labels`, respectively.

:::note
- The API returns a maximum of 500 expenses per request.
- This feature is not available in Sandbox.
:::

For more information, see the guides: [Retrieve expenses and receipts](/docs/guides/manage-accounts/accounts-and-transactions/retrieve-expenses).

## Endpoint

GET `/expenses`

## Parameters

### query parameters

- `from` (string, optional)
  The date and time to retrieve the expenses from, including this date-time.
  Corresponds to the value of `expense_date`.
  Provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  
  Used also for pagination.
  To get back to the previous page of results, make a new request and use the `expense_date` value from the first item of the current page as the value for the `from` parameter.

- `to` (string, optional)
  The date and time to retrieve the expenses to, excluding this date-time.
  Corresponds to the value of `expense_date`.
  Provided in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  The default value is the date and time at which you're calling the endpoint.
  
  Used also for pagination.
  To get back to the next page of results, make a new request and use the `expense_date` value from the last item of the previous (current) page as the value for the `to` parameter.

- `count` (integer, optional)
  The maximum number of the expenses to retrieve per page.
  To get the next page of results, make a new request and use the `expense_date` value from the last item of the previous page as the value for the `to` parameter.

- `state` (enum, optional)
  Retrieves the expenses in the specified state.
  Possible enum values:

  - `missing_info`
  - `awaiting_review`
  - `reverted`
  - `pending_reimbursement`
  - `refund_requested`
  - `refunded`
  - `approved`
  - `rejected`

- `transaction_type` (enum, optional)
  The type of the transaction related to the expense.
  If provided, only expenses with transactions of this type are returned.
  Possible enum values:

  - `atm`
  - `card_payment`
  - `fee`
  - `transfer`
  - `external`
  - `mileage_reimbursement`

## Returns

### 200

List of expenses

#### Response attributes


## Error responses

| HTTP status code | Description |
| --- | --- |
| 400 | Bad request |
| 403 | Forbidden  Returned, for example, when the Expenses API is disabled for the business that is trying to use it. |
| 422 | Unprocessable content  Returned, for example, when the Expenses feature (not just the API) is disabled for the business. |
