Backpack Trades API

Public trade data.

Operations 2

GET /api/v1/trades Get recent trades #
GET /api/v1/trades/history Get historical trades #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/backpack-trades-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

backpack-trades-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Backpack Exchange Trades API
  description: '# Introduction


    Welcome to the Backpack Exchange API.'
  version: '1.0'
  x-logo:
    url: https://cdn.prod.website-files.com/66830ad123bea7f626bcf58f/68eccb03852237fd98ffad9b_Backpack-Icon-Color.svg
    altText: Backpack Exchange
  contact:
    name: Backpack Exchange Support
    url: https://support.backpack.exchange/
  license:
    name: Proprietary
servers:
- url: https://api.backpack.exchange
tags:
- name: Trades
  description: Public trade data.
paths:
  /api/v1/trades:
    get:
      tags:
      - Trades
      summary: Get recent trades
      description: 'Retrieve the most recent trades for a symbol. This is public data and

        is not specific to any account.


        The maximum available recent trades is `1000`. If you need more than

        `1000` trades use the historical trades endpoint.'
      parameters:
      - name: symbol
        schema:
          type: string
        in: query
        description: Market symbol to query fills for.
        required: true
        deprecated: false
        explode: true
      - name: limit
        schema:
          type: integer
          format: uint16
        in: query
        description: Limit the number of fills returned. Default `100`, maximum `1000`.
        required: false
        deprecated: false
        explode: true
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Trade'
          headers:
            CACHE-CONTROL:
              required: true
              deprecated: false
              schema:
                type: string
        '400':
          description: Bad request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_recent_trades
  /api/v1/trades/history:
    get:
      tags:
      - Trades
      summary: Get historical trades
      description: 'Retrieves all historical trades for the given symbol. This is public

        trade data and is not specific to any account.'
      parameters:
      - name: symbol
        schema:
          type: string
        in: query
        required: true
        deprecated: false
        explode: true
      - name: limit
        schema:
          type: integer
          format: uint64
        in: query
        description: Limit the number of trades returned. Default `100`, maximum `1000`.
        required: false
        deprecated: false
        explode: true
      - name: offset
        schema:
          type: integer
          format: uint64
        in: query
        description: Offset. Default `0`.
        required: false
        deprecated: false
        explode: true
      responses:
        '200':
          description: Success.
          content:
            application/json; charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Trade'
          headers:
            CACHE-CONTROL:
              required: true
              deprecated: false
              schema:
                type: string
        '400':
          description: Bad request.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: Internal Server Error.
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
      operationId: get_historical_trades
components:
  schemas:
    ApiErrorResponse:
      type: object
      title: ApiErrorResponse
      required:
      - code
      - message
      properties:
        code:
          $ref: '#/components/schemas/ApiErrorCode'
        message:
          type: string
    ApiErrorCode:
      type: string
      enum:
      - ACCOUNT_DEACTIVATED
      - ACCOUNT_LIQUIDATING
      - BORROW_LIMIT
      - BORROW_REQUIRES_LEND_REDEEM
      - FORBIDDEN
      - INSUFFICIENT_FUNDS
      - INSUFFICIENT_MARGIN
      - INSUFFICIENT_SUPPLY
      - INVALID_ASSET
      - INVALID_CLIENT_REQUEST
      - INVALID_MARKET
      - INVALID_ORDER
      - INVALID_PRICE
      - INVALID_POSITION_ID
      - INVALID_QUANTITY
      - INVALID_RANGE
      - INVALID_SIGNATURE
      - INVALID_SOURCE
      - INVALID_SYMBOL
      - INVALID_TWO_FACTOR_CODE
      - LEND_LIMIT
      - LEND_REQUIRES_BORROW_REPAY
      - MAINTENANCE
      - MAX_LEVERAGE_REACHED
      - NOT_IMPLEMENTED
      - ORDER_LIMIT
      - POSITION_LIMIT
      - PRECONDITION_FAILED
      - RESOURCE_NOT_FOUND
      - SERVER_ERROR
      - TIMEOUT
      - TOO_EARLY
      - TOO_MANY_REQUESTS
      - TRADING_PAUSED
      - UNAUTHORIZED
    Trade:
      type: object
      title: Trade
      required:
      - price
      - quantity
      - quoteQuantity
      - timestamp
      - isBuyerMaker
      properties:
        id:
          type: integer
          format: int64
          description: Id of the trade.
        price:
          type: string
          format: decimal
          description: Price of the trade.
        quantity:
          type: string
          format: decimal
          description: Quantity of the trade in the base asset.
        quoteQuantity:
          type: string
          format: decimal
          description: Quantity of the trade in the quote asset.
        timestamp:
          type: integer
          format: int64
          description: Timestamp of the trade (server time).
        isBuyerMaker:
          type: boolean
          description: Whether the buyer was the maker order.
x-tagGroups:
- name: Public Endpoints
  tags:
  - Assets
  - Borrow Lend Markets
  - Markets
  - System
  - Trades
- name: Authenticated Endpoints
  tags:
  - Account
  - Borrow Lend
  - Capital
  - Order
  - Position
  - RFQ
  - Strategy
- name: Websocket
  tags:
  - Streams