---
title: "Get Instruments"
method: GET
path: "/v1/info/instruments"
---

# Get Instruments

`GET /v1/info/instruments`

Get all instruments.

## Query parameters

- `instrument_id` integer — Instrument ID
- `instrument_type` 'perpetual' — Instrument type
- `category` 'equity' | 'commodity' | 'index' | 'crypto' — Instrument category

## Response `200`

Instruments response.

- Instrument[]
  - `instrument_id` integer, required — Instrument ID
  - `instrument_type` 'perpetual', required — Instrument type
  - `category` 'equity' | 'commodity' | 'index' | 'crypto', required — Instrument category
  - `isolated_only` boolean, required — Whether the instrument supports only isolated account margin. When false, both cross and isolated account margin modes are supported.
  - `symbol` string, required — Instrument symbol
  - `base_asset` string, required — Base asset name
  - `quote_asset` string, required — Quote asset name
  - `funding_interval` string, required — Funding interval
  - `quantity_decimals` integer, required — Number of decimal places for quantity.
  - `price_decimals` integer, required — Number of decimal places for price. Non-integer prices have a maximum of 5 significant figures; integer prices are allowed regardless of significant figures.
  - `price_bounds` string, required — Price bounds percentage
  - `liquidation_fee` string, required — Liquidation fee rate
  - `max_order_count` integer, required — Maximum open order count
  - `min_notional` string, required — Minimum notional value in USD
  - `max_market_notional` string, required — Maximum market order notional value in USD
  - `max_limit_notional` string, required — Maximum limit order notional value in USD
  - `max_leverage` integer, required — Maximum leverage
  - `risk_tiers` RiskTier[], required
    - `lower_bound` string, required — Position size lower bound
    - `max_leverage` integer, required — Maximum leverage

## Other responses

- `400` — Bad request — the request was malformed or failed validation (bad query parameters, unparseable body, invalid signature, or a domain pre-check). The `error` field is a human-readable validation detail.
- `429` — Too Many Requests. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap).
- `500` — Internal server error. `error` is `internal_error`.

---

[API](https://skmtc.net/polymarket/apis/polymarket-perps-http-api.md) · [All operations](https://skmtc.net/polymarket/apis/polymarket-perps-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/polymarket-perps-http-api/revisions/e17c4709273e/schema)
