Coinbase Products API

Retrieve product information, market trades, product books, and candle data for trading pairs.

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/coinbase-products-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 email required.

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

OpenAPI Specification

coinbase-products-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Coinbase Advanced Trade Accounts Products API
  description: The Coinbase Advanced Trade API provides programmatic access to advanced trading features on the Coinbase platform. Developers can automate market, limit, and stop-limit orders, manage portfolios, retrieve real-time and historical market data, and monitor fees. The REST API is available at api.coinbase.com/api/v3/brokerage and supports authenticated access using API keys with HMAC SHA-256 signatures. Public market data endpoints do not require authentication.
  version: '3.0'
  contact:
    name: Coinbase Developer Support
    url: https://help.coinbase.com
  termsOfService: https://www.coinbase.com/legal/user-agreement
servers:
- url: https://api.coinbase.com/api/v3/brokerage
  description: Production Server
security:
- apiKeyAuth: []
tags:
- name: Products
  description: Retrieve product information, market trades, product books, and candle data for trading pairs.
paths:
  /products:
    get:
      operationId: listProducts
      summary: List products
      description: Retrieves a list of available trading products. Returns product details including trading pair, status, and price information. This endpoint is publicly accessible without authentication.
      tags:
      - Products
      security: []
      parameters:
      - name: product_type
        in: query
        description: Filter by product type
        schema:
          type: string
          enum:
          - SPOT
          - FUTURE
      - $ref: '#/components/parameters/LimitParam'
      - name: offset
        in: query
        description: Number of products to offset before returning
        schema:
          type: integer
      responses:
        '200':
          description: Successfully retrieved list of products
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
                  num_products:
                    type: integer
                    description: Total number of products
  /products/{product_id}:
    get:
      operationId: getProduct
      summary: Get product
      description: Retrieves information about a single trading product by its product ID. Returns detailed product information including current price, volume, and trading parameters. This endpoint is publicly accessible.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      responses:
        '200':
          description: Successfully retrieved product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '404':
          description: Product not found
  /products/{product_id}/candles:
    get:
      operationId: getProductCandles
      summary: Get product candles
      description: Retrieves historical candle data for a specific product. Returns OHLCV data at the specified granularity. This endpoint is publicly accessible.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      - name: start
        in: query
        required: true
        description: Start time in UNIX timestamp format
        schema:
          type: string
      - name: end
        in: query
        required: true
        description: End time in UNIX timestamp format
        schema:
          type: string
      - name: granularity
        in: query
        required: true
        description: Time granularity for each candle
        schema:
          type: string
          enum:
          - ONE_MINUTE
          - FIVE_MINUTE
          - FIFTEEN_MINUTE
          - THIRTY_MINUTE
          - ONE_HOUR
          - TWO_HOUR
          - SIX_HOUR
          - ONE_DAY
      responses:
        '200':
          description: Successfully retrieved candle data
          content:
            application/json:
              schema:
                type: object
                properties:
                  candles:
                    type: array
                    items:
                      $ref: '#/components/schemas/Candle'
  /products/{product_id}/ticker:
    get:
      operationId: getMarketTrades
      summary: Get market trades
      description: Retrieves the latest trades for a specific product. Returns trade details including price, size, and time. This endpoint is publicly accessible.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Successfully retrieved market trades
          content:
            application/json:
              schema:
                type: object
                properties:
                  trades:
                    type: array
                    items:
                      $ref: '#/components/schemas/Trade'
                  best_bid:
                    type: string
                    description: Best current bid price
                  best_ask:
                    type: string
                    description: Best current ask price
  /products/{product_id}/book:
    get:
      operationId: getProductOrderBook
      summary: Get product order book
      description: Retrieves the order book for a product. The default level is 1 which returns the best bid and ask. Level 2 returns the top 50 bids and asks. Level 3 is not recommended for polling.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      - name: level
        in: query
        description: Order book detail level (1, 2, or 3)
        schema:
          type: integer
          enum:
          - 1
          - 2
          - 3
          default: 1
      responses:
        '200':
          description: Successfully retrieved order book
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderBook'
  /products/{product_id}/trades:
    get:
      operationId: getProductTrades
      summary: Get product trades
      description: Retrieves a list of the latest trades for a product. Returns the trade ID, price, size, and time for each trade.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      - $ref: '#/components/parameters/BeforeParam'
      - $ref: '#/components/parameters/AfterParam'
      - $ref: '#/components/parameters/LimitParam_2'
      responses:
        '200':
          description: Successfully retrieved trades
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Trade_2'
  /products/{product_id}/stats:
    get:
      operationId: getProductStats
      summary: Get product 24hr stats
      description: Retrieves 24-hour statistics for a product including open, high, low, and volume.
      tags:
      - Products
      security: []
      parameters:
      - $ref: '#/components/parameters/ProductIdParam'
      responses:
        '200':
          description: Successfully retrieved 24hr stats
          content:
            application/json:
              schema:
                type: object
                properties:
                  open:
                    type: string
                    description: Opening price 24 hours ago
                  high:
                    type: string
                    description: Highest price in the last 24 hours
                  low:
                    type: string
                    description: Lowest price in the last 24 hours
                  volume:
                    type: string
                    description: Total volume in the last 24 hours
                  last:
                    type: string
                    description: Last traded price
                  volume_30day:
                    type: string
                    description: Total volume in the last 30 days
components:
  parameters:
    LimitParam_2:
      name: limit
      in: query
      description: Number of results per request (max 100)
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 100
    AfterParam:
      name: after
      in: query
      description: Cursor for pagination (older items)
      schema:
        type: string
    LimitParam:
      name: limit
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        minimum: 1
        maximum: 250
        default: 49
    ProductIdParam:
      name: product_id
      in: path
      required: true
      description: Trading pair identifier such as BTC-USD
      schema:
        type: string
    BeforeParam:
      name: before
      in: query
      description: Cursor for pagination (newer items)
      schema:
        type: string
  schemas:
    Trade_2:
      type: object
      description: A market trade
      properties:
        time:
          type: string
          format: date-time
          description: Trade time
        trade_id:
          type: integer
          description: Trade identifier
        price:
          type: string
          description: Trade price
        size:
          type: string
          description: Trade size
        side:
          type: string
          description: Maker side
          enum:
          - buy
          - sell
    Trade:
      type: object
      description: A market trade
      properties:
        trade_id:
          type: string
          description: Unique identifier for the trade
        product_id:
          type: string
          description: Product traded
        price:
          type: string
          description: Price of the trade
        size:
          type: string
          description: Size of the trade
        time:
          type: string
          format: date-time
          description: Time the trade occurred
        side:
          type: string
          description: Taker side of the trade
          enum:
          - BUY
          - SELL
    Product:
      type: object
      description: A trading product representing a currency pair
      properties:
        product_id:
          type: string
          description: Unique identifier for the product
        price:
          type: string
          description: Current price of the product
        price_percentage_change_24h:
          type: string
          description: 24-hour price change percentage
        volume_24h:
          type: string
          description: 24-hour trading volume
        volume_percentage_change_24h:
          type: string
          description: 24-hour volume change percentage
        base_increment:
          type: string
          description: Minimum order size increment
        quote_increment:
          type: string
          description: Minimum price increment
        quote_min_size:
          type: string
          description: Minimum order value in quote currency
        quote_max_size:
          type: string
          description: Maximum order value in quote currency
        base_min_size:
          type: string
          description: Minimum order size in base currency
        base_max_size:
          type: string
          description: Maximum order size in base currency
        base_name:
          type: string
          description: Name of the base currency
        quote_name:
          type: string
          description: Name of the quote currency
        status:
          type: string
          description: Trading status of the product
        product_type:
          type: string
          description: Type of product
          enum:
          - SPOT
          - FUTURE
    OrderBook:
      type: object
      description: Product order book at a specific level of detail
      properties:
        sequence:
          type: integer
          description: Sequence number of the order book
        bids:
          type: array
          description: Bid price levels
          items:
            type: array
            items:
              type: string
        asks:
          type: array
          description: Ask price levels
          items:
            type: array
            items:
              type: string
    Candle:
      type: object
      description: OHLCV candle data point
      properties:
        start:
          type: string
          description: UNIX timestamp for the start of the candle
        low:
          type: string
          description: Lowest price during the interval
        high:
          type: string
          description: Highest price during the interval
        open:
          type: string
          description: Opening price of the interval
        close:
          type: string
          description: Closing price of the interval
        volume:
          type: string
          description: Volume traded during the interval
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: CB-ACCESS-KEY
      description: Coinbase API key authentication using HMAC SHA-256 signatures. Requires CB-ACCESS-KEY, CB-ACCESS-SIGN, and CB-ACCESS-TIMESTAMP headers.
externalDocs:
  description: Coinbase Advanced Trade API Documentation
  url: https://docs.cdp.coinbase.com/coinbase-app/advanced-trade-apis/rest-api