Polymarket Gamma Events API

Read-only event metadata.

OpenAPI Specification

polymarket-gamma-events-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Polymarket APIs (CLOB and Gamma) CLOB Market Data Gamma Events API
  version: '1.0'
  description: "Polymarket exposes several HTTP APIs documented at\nhttps://docs.polymarket.com/:\n\n  * CLOB API (`https://clob.polymarket.com`) for order book,\n    trading, and pricing operations.\n  * Gamma API (`https://gamma-api.polymarket.com`) for read-only\n    market, event, and metadata access.\n\nThis specification captures a representative subset of endpoints\nfrom both surfaces. CLOB trading endpoints require the\nPOLY_API_KEY / POLY_ADDRESS / POLY_SIGNATURE / POLY_PASSPHRASE /\nPOLY_TIMESTAMP header set; Gamma endpoints are fully public.\n"
  contact:
    name: Polymarket Documentation
    url: https://docs.polymarket.com/
servers:
- url: https://clob.polymarket.com
  description: Polymarket CLOB API
- url: https://clob-staging.polymarket.com
  description: Polymarket CLOB staging
- url: https://gamma-api.polymarket.com
  description: Polymarket Gamma API
tags:
- name: Gamma Events
  description: Read-only event metadata.
paths:
  /events:
    get:
      tags:
      - Gamma Events
      operationId: listEvents
      summary: List events
      description: Returns an array of event objects. Supports filtering and pagination.
      servers:
      - url: https://gamma-api.polymarket.com
      parameters:
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 0
      - in: query
        name: offset
        schema:
          type: integer
          minimum: 0
      - in: query
        name: order
        schema:
          type: string
        description: Comma-separated field list to sort by.
      - in: query
        name: ascending
        schema:
          type: boolean
      - in: query
        name: id
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      - in: query
        name: tag_id
        schema:
          type: integer
      - in: query
        name: slug
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - in: query
        name: active
        schema:
          type: boolean
      - in: query
        name: archived
        schema:
          type: boolean
      - in: query
        name: featured
        schema:
          type: boolean
      - in: query
        name: closed
        schema:
          type: boolean
      - in: query
        name: liquidity_min
        schema:
          type: number
      - in: query
        name: liquidity_max
        schema:
          type: number
      - in: query
        name: volume_min
        schema:
          type: number
      - in: query
        name: volume_max
        schema:
          type: number
      - in: query
        name: start_date_min
        schema:
          type: string
          format: date-time
      - in: query
        name: start_date_max
        schema:
          type: string
          format: date-time
      - in: query
        name: end_date_min
        schema:
          type: string
          format: date-time
      - in: query
        name: end_date_max
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Array of events
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Event'
components:
  schemas:
    Market:
      type: object
      additionalProperties: true
      properties:
        id:
          type: integer
          format: int64
        question:
          type: string
        slug:
          type: string
        conditionId:
          type: string
        active:
          type: boolean
        closed:
          type: boolean
        archived:
          type: boolean
        featured:
          type: boolean
        liquidity:
          type: number
        volume:
          type: number
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        outcomes:
          type: array
          items:
            type: string
        outcomePrices:
          type: array
          items:
            type: string
        clobTokenIds:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    Tag:
      type: object
      properties:
        id:
          type: integer
        label:
          type: string
        slug:
          type: string
    Event:
      type: object
      additionalProperties: true
      properties:
        id:
          type: integer
          format: int64
        ticker:
          type: string
        slug:
          type: string
        title:
          type: string
        description:
          type: string
        startDate:
          type: string
          format: date-time
        endDate:
          type: string
          format: date-time
        active:
          type: boolean
        closed:
          type: boolean
        archived:
          type: boolean
        featured:
          type: boolean
        liquidity:
          type: number
        volume:
          type: number
        markets:
          type: array
          items:
            $ref: '#/components/schemas/Market'
        tags:
          type: array
          items:
            $ref: '#/components/schemas/Tag'
  securitySchemes:
    polyApiSignature:
      type: apiKey
      in: header
      name: POLY_API_KEY
      description: 'Polymarket CLOB authenticated trading endpoints require five

        headers: POLY_API_KEY, POLY_ADDRESS, POLY_SIGNATURE,

        POLY_PASSPHRASE, POLY_TIMESTAMP. Only POLY_API_KEY is modelled

        here because OpenAPI security schemes describe a single header

        each; in practice, all five must be sent on each request.

        '