## List Locate Rates

`v1.locates.get_locate_rates(LocateGetLocateRatesParams**kwargs)  -> LocateGetLocateRatesResponse`

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

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.

### Parameters

- `instrument_ids: Sequence[InstrumentIDOrSymbol]`

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

### Returns

- `class LocateGetLocateRatesResponse: …`

  - `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: int`

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

      - `message: str`

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

      - `details: Optional[List[Dict[str, object]]]`

        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: str`

        Instrument id the rate applies to.

      - `rate: str`

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

      - `as_of: Optional[datetime]`

        When the rate was requested from the locates venue.

### Example

```python
from clearstreet import ClearStreet

client = ClearStreet(
    api_key="My API Key",
)
response = client.v1.locates.get_locate_rates(
    instrument_ids=["x"],
)
print(response)
```

#### 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"
      }
    }
  ]
}
```
