## List Locate Rates

**get** `/v1/locates/rates`

> **Beta** — this endpoint may change before general availability.

Fetch the cached locate borrow rates for up to 1,000 instruments. The
response returns one row per requested instrument, in request order. Each
row carries either the `rate` or an `error` — a `404` when the instrument
is unknown or has no cached rate. The status is `207` when any row has an
error, `200` when every instrument resolved to a rate.

### Query Parameters

- `instrument_ids: array of InstrumentIDOrSymbol`

  Comma-separated instrument IDs (UUID) or symbols; at least one, at most 1,000.

### Returns

- `data: LocateRateResultList`

  - `instrument: InstrumentIDOrSymbol`

    The instrument id (UUID) or symbol, echoed exactly as requested, so each
    result maps back to its request.

  - `error: optional APIError`

    Why no rate is present — a `404` when the instrument is unknown or has
    no cached rate. Omitted when `rate` is present.

    - `code: number`

      The error code is used to identify the nature of the error. It corresponds
      to an HTTP status code.

    - `message: string`

      A human-readable message providing more details about the error.

    - `details: optional array of map[unknown]`

      Additional error details, if any. This can include structured information
      such as field violations or error metadata.

  - `rate: optional LocateRate`

    The cached borrow rate. Present when a rate was found; omitted when
    `error` is present.

    - `instrument_id: string`

      Instrument id the rate applies to.

    - `rate: string`

      Borrow rate, expressed as a decimal (e.g. 0.037012 for 3.7012%).

    - `as_of: optional string`

      When the rate was requested from the locates venue.

### Example

```http
curl https://api.clearstreet.com/v1/locates/rates \
    -H "Authorization: Bearer $API_KEY"
```

#### Response

```json
{
  "metadata": {
    "request_id": "request_id",
    "next_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "page_number": 1,
    "previous_page_token": "U3RhaW5sZXNzIHJvY2tz",
    "total_items": 42,
    "total_pages": 5
  },
  "error": {
    "code": 400,
    "message": "Order quantity must be greater than zero",
    "details": [
      {
        "foo": "bar"
      }
    ]
  },
  "data": [
    {
      "instrument": "AAPL",
      "error": {
        "code": 400,
        "message": "Order quantity must be greater than zero",
        "details": [
          {
            "foo": "bar"
          }
        ]
      },
      "rate": {
        "instrument_id": "528ec5c3-cdbf-447c-b995-ec6c83cfbc02",
        "rate": "0.037012",
        "as_of": "2026-09-10T14:33:07.107683Z"
      }
    }
  ]
}
```
