Skip to main content

Incentives API

The Incentives API exposes the active incentive programs and the rewards you have earned. For background on how programs work and their reward formulas, see the Incentive Programs overview.

Base URL

https://api.polymarket.us
Field casing. Query parameters are snake_case (e.g. page_size). Response bodies are lowerCamelCase (e.g. marketSlug). Sending a camelCase query parameter (e.g. pageSize) is silently ignored and the default is used.

Endpoints

MethodEndpointAuthDescription
GET/v1/incentivesRequiredGet incentive programs
GET/v1/incentives/earningsRequiredGet your incentive earnings
AuthenticationBoth endpoints require API key authentication — see the Authentication guide.

Get Incentive Programs

Returns active and historical incentive programs grouped by market.
GET /v1/incentives?page_size=10&symbols=aec-nba-bos-nyk-2026-04-01

Query Parameters

ParameterTypeRequiredDescription
page_sizeintegerNoNumber of markets per page. Use with page_token for pagination.
page_tokenstringNoPagination token from a previous response’s nextPageToken.
symbolsstring[]NoFilter by market symbols.
order_bystringNoSort field. Defaults to created_at.
order_directionstringNoSort direction: asc or desc. Defaults to desc.
statusesstring[]NoFilter by status: active, closed, or pending.
program_typestringNoFilter by program type, such as liquidityProgram or volumeProgram.
querystringNoCase-insensitive substring match on market slug.
instrument_statesstring[]NoFilter by instrument lifecycle state.
categorystringNoFilter by exact event category.
subcategorystringNoFilter by exact event subcategory.

Response

{
  "programs": [
    {
      "marketSlug": "aec-nba-bos-nyk-2026-04-01",
      "instrumentState": "INSTRUMENT_STATE_OPEN",
      "category": "sports",
      "subcategory": "basketball",
      "eventStartTime": "2026-04-01T23:30:00Z",
      "instrumentProduct": "moneyline",
      "timePeriods": [
        {
          "programId": "nba_t1_ml_early",
          "programType": "liquidityProgram",
          "start": "2026-03-28T04:00:00Z",
          "end": "2026-04-01T21:00:00Z",
          "rewardPool": 3000.0,
          "status": "closed",
          "discountFactor": 0.40,
          "targetSize": 20000,
          "period": "early",
          "createdAt": "2026-03-28T01:00:00Z"
        },
        {
          "programId": "nba_t1_ml_day_of",
          "programType": "volumeProgram",
          "start": "2026-04-01T21:00:00Z",
          "rewardPool": 3000.0,
          "status": "active",
          "minTakerNotional": 100,
          "period": "day_of",
          "createdAt": "2026-03-28T01:00:00Z"
        }
      ]
    }
  ],
  "nextPageToken": "abc123"
}
Ongoing programs omit end until an end time is set.

IncentiveProgram Fields

FieldTypeDescription
marketSlugstringMarket identifier
timePeriodsTimePeriod[]Incentive periods for this market
instrumentStatestringEP3 lifecycle state of the instrument
categorystringEvent category from instrument metadata
subcategorystringEvent subcategory from instrument metadata
eventStartTimestringEvent start time from instrument metadata
instrumentProductstringProduct from instrument metadata

TimePeriod Fields

FieldTypeDescription
programIdstringUnique program period identifier
programTypestringProgram type (e.g. liquidityProgram)
startstringISO 8601 start timestamp
endstringISO 8601 end timestamp (optional; omitted for ongoing programs)
rewardPoolnumberTotal reward pool for this period in USD
statusstringactive, closed, or pending
discountFactornumberDiscount factor for scoring (optional; omitted if unset)
targetSizeintegerMinimum book size to qualify (optional; omitted if unset)
periodstringReward period type: early, day_of, live, etc.
createdAtstringISO 8601 timestamp when the program was created
minTakerNotionalintegerMinimum taker notional for volume programs (optional)

Get Incentive Earnings

Returns rewards earned by the authenticated caller. Each entry sums all payouts for a single (market, date) pair, where date is in Eastern Time.
GET /v1/incentives/earnings?start_date=2026-03-21&market_slug=aec-nba-bos-nyk-2026-04-01

Query Parameters

ParameterTypeRequiredDescription
start_datestringNoStart date filter (YYYY-MM-DD). Defaults to program launch.
end_datestringNoEnd date filter (YYYY-MM-DD). Omit for through-today.
market_slugstringNoFilter by market slug.
program_typestringNoFilter by program type (e.g. liquidityProgram).

Response

{
  "rewards": [
    {
      "reward": 1828.62,
      "programType": "liquidityProgram",
      "marketSlug": "tsc-nba-ny-okc-2026-03-29-223pt5",
      "date": "2026-03-30",
      "status": "PAID"
    },
    {
      "reward": 325.97,
      "programType": "liquidityProgram",
      "marketSlug": "aec-cbb-cabap-kan-2026-03-20",
      "date": "2026-03-29",
      "status": "PENDING"
    }
  ]
}
Each daily entry represents rewards earned from midnight-to-midnight ET. Callers with no rewards receive {"rewards":[]}.

UserReward Fields

FieldTypeDescription
rewardnumberReward amount in USD (sum of all payouts for this market on this date)
programTypestringProgram type (e.g. liquidityProgram)
marketSlugstringMarket identifier
datestringReward date in Eastern Time (YYYY-MM-DD)
statusstringPayout disposition: PAID, PENDING, or SKIPPED

Rate Limits

EndpointRate Limit
GET /v1/incentives5 requests / second
GET /v1/incentives/earnings5 requests / second