Skip to main content
client.gamma.markets.listMarkets is the powerhouse endpoint behind Polymarket’s catalogue. Filter markets by IDs, liquidity, volume, dates, tags, sports metadata, and more.

Request

const markets = await client.gamma.markets.listMarkets(params);

Parameters

NameTypeRequiredNotes
limitnumber (≥ 0)Page size.
offsetnumber (≥ 0)Page offset.
orderstringSort expression (comma-separated).
ascendingbooleanSort direction.
idnumber[]Filter by market IDs.
slugstring[]Filter by market slugs.
clob_token_idsstring[]Filter by CLOB token IDs.
condition_idsstring[]Filter by condition IDs (0x + 64 hex).
market_maker_addressstring[]Filter by AMM contract addresses.
liquidity_num_min/maxnumberLiquidity range.
volume_num_min/maxnumberVolume range.
start_date_min/maxstring (ISO)Start-date range filters.
end_date_min/maxstring (ISO)End-date range filters.
tag_idnumberFilter by tag ID.
related_tagsbooleanInclude related tags.
cyombooleanFilter Create-Your-Own markets.
uma_resolution_statusstringFilter by UMA status.
game_idstringFilter by sports game ID.
sports_market_typesstring[]Filter by sports perspectives (moneyline, spread, etc.).
rewards_min_sizenumberMinimum rewards size.
question_idsstring[]Filter by question IDs.
include_tagbooleanInclude tag metadata.
closedbooleanFilter by closed status.
ℹ️ Date formats — Provide ISO8601 strings (e.g., 2025-11-16T00:00:00Z). Strings are parsed via Date.parse and invalid values trigger validation errors.

Response

Market[] with hundreds of fields (title, question, outcomes, liquidity/volume metrics, tags, series references, etc.). All numeric metrics are parsed as numbers.

Usage example

const markets = await client.gamma.markets.listMarkets({
  closed: false,
  liquidity_num_min: 1000,
  limit: 10,
});

console.log(markets.map((market) => market.title ?? market.slug));

Failure modes

  • Invalid dates or malformed IDs → validation errors with detailed paths.