Forum Markets API

Market listings and details

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/forum-markets-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

forum-markets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Forum Account Markets API
  version: '1.0'
  description: 'The Forum API provides programmatic access to the Forum perpetual futures exchange.

    Trade attention-based perpetual futures, access real-time market data, and manage your account.


    ## Base URL


    All endpoints are relative to `https://api.forum.market/v1`.


    ## Authentication


    Public endpoints (market data, exchange status) require no authentication.

    Private endpoints (orders, positions, account) require HMAC-SHA256 signed requests.


    See the [Authentication](/api-reference/authentication) guide for details.

    '
  contact:
    name: Forum Support
    email: contact@forum.market
    url: https://forum.market
  termsOfService: https://forum-legal.s3.us-east-2.amazonaws.com/terms-of-service.pdf
servers:
- url: https://api.forum.market/v1
  description: Production
security:
- ForumAccessKey: []
  ForumAccessTimestamp: []
  ForumAccessSign: []
tags:
- name: Markets
  description: Market listings and details
paths:
  /markets:
    get:
      operationId: listMarkets
      summary: List all markets
      description: Returns all available markets with their current ticker data. Pagination will be added as the number of markets grows.
      tags:
      - Markets
      security: []
      parameters:
      - name: category
        in: query
        schema:
          type: string
        description: Filter by market category
        example: tech
      responses:
        '200':
          description: List of markets
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Market'
        '429':
          $ref: '#/components/responses/RateLimited'
  /markets/{ticker}:
    get:
      operationId: getMarket
      summary: Get market
      description: Returns details for a specific market, including current prices and statistics.
      tags:
      - Markets
      security: []
      parameters:
      - $ref: '#/components/parameters/TickerPath'
      responses:
        '200':
          description: Market details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Market'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Machine-readable error code
              example: INVALID_PARAMETER
            message:
              type: string
              description: Human-readable error message
              example: Request validation failed
            details:
              type: object
              description: Additional error details
              example:
                fields:
                - field: ticker
                  message: Required
    Market:
      allOf:
      - $ref: '#/components/schemas/TickerInfo'
      - type: object
        required:
        - name
        - createdAt
        - category
        - expiryDate
        - picture
        - live
        - lastFunding
        - initialOpenTime
        - aboutDesc
        properties:
          name:
            type: string
            description: Market display name
            example: OpenAI
          createdAt:
            type: string
            format: date-time
            example: '2025-01-01T00:00:00.000Z'
          category:
            type: string
            description: Market category
            example: tech
          subCategory:
            type:
            - string
            - 'null'
            example: Artificial intelligence
          expiryDate:
            type: string
            format: date-time
            example: '2025-12-31T00:00:00.000Z'
          picture:
            type: string
            format: uri
            description: Market icon URL (not currently in use)
            example: https://example.com/openai.png
          live:
            type: boolean
            description: Whether the market is currently active for trading
            example: true
          lastFunding:
            type: string
            format: date-time
            description: Last funding settlement time
            example: '2026-02-25T08:00:00.000Z'
          initialOpenTime:
            type: string
            format: date-time
            description: When the market first opened for trading
            example: '2025-01-15T00:00:00.000Z'
          aboutDesc:
            type: string
            description: Description of the market
            example: A perpetual futures contract tracking OpenAI's attention index.
    TickerInfo:
      type: object
      required:
      - ticker
      - index
      - openInterest
      - volumePastDay
      - cumFunding
      - updatedAt
      properties:
        ticker:
          type: string
          example: OPENAI
        index:
          type: string
          description: Underlying attention index name
          example: OPENAI-IDX
        movingFundingRate:
          type:
          - number
          - 'null'
          description: Estimated next funding rate based on the average premium index in the current funding window
          example: 0.0001
        lastSettledFundingRate:
          type:
          - number
          - 'null'
          description: Last settled funding rate
          example: 0.0001
        lastPrice:
          type:
          - number
          - 'null'
          description: Last trade price in cents
          example: 10550
        markPrice:
          type:
          - number
          - 'null'
          description: Fair-value mark price in cents used for unrealized PnL and liquidation checks
          example: 10525
        bestBid:
          type:
          - number
          - 'null'
          description: Best bid price in cents
          example: 10500
        bestAsk:
          type:
          - number
          - 'null'
          description: Best ask price in cents
          example: 10600
        openInterest:
          type: number
          description: Total open interest in contracts
          example: 1234
        highPastDay:
          type:
          - number
          - 'null'
          description: 24-hour high price in cents
          example: 11000
        lowPastDay:
          type:
          - number
          - 'null'
          description: 24-hour low price in cents
          example: 10000
        volumePastDay:
          type: number
          description: 24-hour trading volume in cents
          example: 500000
        changePercentPastDay:
          type:
          - number
          - 'null'
          description: 24-hour price change percentage
          example: 2.5
        changePastDay:
          type:
          - number
          - 'null'
          description: 24-hour price change in cents
          example: 250
        cumFunding:
          type: number
          description: Running cumulative sum of all settled funding rates for a market. A position's accrued funding is `qty * (cumFunding - position.lastCumFunding)`.
          example: 0.0023
        fundingAvgPastWeek:
          type:
          - number
          - 'null'
          description: Average funding rate over the past week
          example: 0.0001
        fundingHighPastWeek:
          type:
          - number
          - 'null'
          description: Highest funding rate over the past week
          example: 0.0003
        fundingLowPastWeek:
          type:
          - number
          - 'null'
          description: Lowest funding rate over the past week
          example: -0.0001
        lastIndexValue:
          type:
          - number
          - 'null'
          description: Latest attention index value
          example: 100
        changeIndexPercentPastDay:
          type:
          - number
          - 'null'
          description: 24-hour index change percentage
          example: 0.06
        changeIndexPastDay:
          type:
          - number
          - 'null'
          description: 24-hour index change
          example: 1.5
        changeIndexPercentPastWeek:
          type:
          - number
          - 'null'
          description: Past week index change percentage
          example: 0.06
        changeIndexPastWeek:
          type:
          - number
          - 'null'
          description: Past week index change
          example: 3
        changeIndexPercentPastMonth:
          type:
          - number
          - 'null'
          description: Past month index change percentage
          example: 0.06
        changeIndexPastMonth:
          type:
          - number
          - 'null'
          description: Past month index change
          example: 10
        changeIndexPercentPastYear:
          type:
          - number
          - 'null'
          description: Past year index change percentage
          example: 0.06
        changeIndexPastYear:
          type:
          - number
          - 'null'
          description: Past year index change
          example: 10
        changeIndexPercentAllTime:
          type:
          - number
          - 'null'
          description: All time index change percentage
          example: 0.06
        changeIndexAllTime:
          type:
          - number
          - 'null'
          description: All time index change
          example: 50
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp (ISO 8601)
          example: '2025-02-25T00:00:00.000Z'
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: NOT_FOUND
              message: Resource not found
    RateLimited:
      description: Rate limit exceeded
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: RATE_LIMIT_EXCEEDED
              message: Rate limit exceeded. Try again in 5 seconds.
  parameters:
    TickerPath:
      name: ticker
      in: path
      required: true
      schema:
        type: string
      description: Market ticker symbol
      example: OPENAI
  securitySchemes:
    ForumAccessKey:
      type: apiKey
      in: header
      name: FORUM-ACCESS-KEY
      description: Your API key ID (e.g. `fk_a1b2c3d4e5f6...`)
    ForumAccessTimestamp:
      type: apiKey
      in: header
      name: FORUM-ACCESS-TIMESTAMP
      description: Unix epoch in seconds (UTC), as a string
    ForumAccessSign:
      type: apiKey
      in: header
      name: FORUM-ACCESS-SIGN
      description: 'Base64-encoded HMAC-SHA256 signature.


        **Signature generation:**

        ```

        prehash = timestamp + method + requestPath + body

        signature = Base64(HMAC-SHA256(secret, prehash))

        ```

        '