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

# GET /api/v3/brokerage/orders/historical/batch — List Orders

> GET /api/v3/brokerage/orders/historical/batch — retrieve a filtered list of your historical and open orders with pagination support.

The List Orders endpoint returns a paginated list of your orders across all products. You can filter by product, status, type, direction, and date range to narrow results to exactly the orders you need. Both open and historical (filled, cancelled) orders are accessible through this endpoint, making it useful for building trade history views, reconciliation workflows, or monitoring open positions.

## Endpoint

```
GET https://api.coinbase.com/api/v3/brokerage/orders/historical/batch
```

## Authentication

This endpoint requires a valid **JWT Bearer token** passed in the `Authorization` header:

```
Authorization: Bearer $JWT
```

## Query Parameters

**product\_id** `string`

Filter results to orders for a specific trading pair (e.g., `BTC-USD`). If omitted, orders for all products are returned.

**order\_status** `string`

Filter by order status. Accepted values:

* `OPEN` — orders that are live on the book
* `FILLED` — orders that have been fully executed
* `CANCELLED` — orders that were cancelled before being filled

You may pass this parameter multiple times to include multiple statuses (e.g., `?order_status=OPEN&order_status=FILLED`).

**order\_type** `string`

Filter by order type. Accepted values: `MARKET`, `LIMIT`, `STOP_LIMIT`.

**order\_side** `string`

Filter by order direction. Accepted values: `BUY`, `SELL`.

**start\_date** `string`

ISO 8601 timestamp. Only orders created at or after this time are returned (e.g., `2024-01-01T00:00:00Z`).

**end\_date** `string`

ISO 8601 timestamp. Only orders created before or at this time are returned (e.g., `2024-01-31T23:59:59Z`).

**limit** `integer`

Maximum number of orders to return per page. Defaults to `100`. Maximum value is `1000`.

**cursor** `string`

Pagination cursor from a previous response. Pass this value to retrieve the next page of results.

## Response Fields

**orders** `array`

List of order objects matching the applied filters.

**Order object fields**

**order\_id** `string`

The Coinbase-assigned unique identifier for the order.

**product\_id** `string`

The trading pair the order was placed on (e.g., `BTC-USD`).

**side** `string`

Order direction: `BUY` or `SELL`.

**status** `string`

Current order status: `OPEN`, `FILLED`, or `CANCELLED`.

**order\_type** `string`

The type of order: `MARKET`, `LIMIT`, or `STOP_LIMIT`.

**client\_order\_id** `string`

The client-supplied ID provided at order creation.

**created\_time** `string`

ISO 8601 timestamp of when the order was placed.

**completion\_percentage** `string`

Percentage of the order that has been filled, as a string (e.g., `"100"` for fully filled).

**filled\_size** `string`

The amount of base currency that has been filled so far.

**average\_filled\_price** `string`

The average execution price across all fills for this order.

**total\_fees** `string`

Total trading fees charged for this order.

**order\_configuration** `object`

The original order configuration submitted at creation (e.g., limit price, base size).

**has\_next** `boolean`

Indicates whether additional pages of results are available.

**cursor** `string`

Pagination cursor to use in the next request. Empty string when no further pages exist.

## Examples

```bash cURL — Open BTC-USD Orders theme={null}
curl -H "Authorization: Bearer $JWT" \
  'https://api.coinbase.com/api/v3/brokerage/orders/historical/batch?product_id=BTC-USD&order_status=OPEN'
```

```bash cURL — Filled Orders with Date Range theme={null}
curl -H "Authorization: Bearer $JWT" \
  'https://api.coinbase.com/api/v3/brokerage/orders/historical/batch?order_status=FILLED&start_date=2024-01-01T00:00:00Z&end_date=2024-01-31T23:59:59Z&limit=50'
```

```python Python theme={null}
import requests

headers = {"Authorization": f"Bearer {jwt_token}"}
params = {
    "product_id": "BTC-USD",
    "order_status": "OPEN",
    "limit": 50
}
response = requests.get(
    "https://api.coinbase.com/api/v3/brokerage/orders/historical/batch",
    headers=headers,
    params=params
)
orders = response.json()["orders"]
```

### Example Response

```json theme={null}
{
  "orders": [
    {
      "order_id": "d4e5f6a7-b8c9-0123-def0-234567890123",
      "product_id": "BTC-USD",
      "side": "SELL",
      "status": "OPEN",
      "order_type": "LIMIT",
      "client_order_id": "22222222-2222-2222-2222-222222222222",
      "created_time": "2024-01-20T10:15:00Z",
      "completion_percentage": "0",
      "filled_size": "0",
      "average_filled_price": "0",
      "total_fees": "0",
      "order_configuration": {
        "limit_limit_gtc": {
          "base_size": "0.01",
          "limit_price": "50000",
          "post_only": false
        }
      }
    }
  ],
  "has_next": false,
  "cursor": ""
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.