events

Get similar events

Get events similar to a reference event.

The reference event is resolved from the highest-priority non-empty input in this order: id → event_slug → market_slug → event_title → market_title. At least one must be provided.

Only active=true events are ever returned (no caller-facing opt-out). The optional closed query parameter further constrains results to either closed=true (resolved) or closed=false (open) events; when omitted, both are returned.

When no similar events can be resolved, the endpoint falls back to a default set of active+open events. Successful responses advertise Cache-Control: public, max-age=300 for similar events or public, max-age=30 for the popular fallback, including an empty fallback.

Markets are not loaded unless include_markets=true. With markets_limit=N (1–10) each event keeps only its N most likely markets: open markets (active, not closed or archived) first, then by first outcome price descending. This is the shape a "you might also like" rail needs without a second read per event.

get/events/similar

Request

  • Base URL: https://gamma-api.polymarket.com (the document declares no server; this is the origin it was published from)
  • URL: https://gamma-api.polymarket.com/events/similar
  • Auth: none declared

Query parameters

idinteger

Event ID. Fastest path: skips the Typesense reference lookup.

event_titlestring

Free-text event title to find a reference event in Typesense.

event_slugstring

Event slug. Validated as a slug when provided, looked up in PG.

market_titlestring

Free-text market title to find a reference event in Typesense.

market_slugstring

Market slug. Validated as a slug when provided; the parent event is used as the reference.

limitinteger

Max results returned. Capped at 50.

closed'true' | 'false'

Optional. When 'true' returns only resolved events; when 'false' returns only open events. When omitted, both are returned. Always combined with the unconditional active=true filter.

include_marketsstring

Load each event's markets (true/false). Off by default: the response is the slim event list.

markets_limitinteger

With include_markets=true, keep only the N most likely markets per event: open markets first, then by first outcome price descending. 0 (default) keeps every market.

search_timeout_msinteger

Optional wait budget for vector-search candidates in milliseconds (100 to 5000). Expiry uses the popular-events fallback without cancelling the underlying search, which has a server-owned deadline of at most 5 seconds. When omitted, the configured search deadline applies.

Response

OK

$schemastring uri

A URL to the JSON Schema for this object.

activeboolean
archivedboolean
automaticallyActiveboolean
automaticallyResolvedboolean
cantEstimateboolean
carouselMapstring
categorystring
closedboolean
closedTimestring date-time
colorstring
commentCountinteger
commentsEnabledboolean
competitivenumber double
countryNamestring
createdAtstring date-time
createdBystring
creationDatestring date-time
cumulativeMarketsboolean
cyomboolean
deployingboolean
deployingTimestampstring date-time
descriptionstring
disqusThreadstring
elapsedstring
electionTypestring
enableNegRiskboolean
enableOrderBookboolean
endDatestring date-time
endedboolean
estimateValueboolean
estimatedValuestring
eventDatestring
eventMetadataobject
eventWeekinteger
featuredboolean
featuredImagestring
featuredOrderinteger
finishedTimestampstring date-time
gameIdinteger
gmpChartModestring
iconstring
idstring required
imagestring
isTemplateboolean
lastHighlightstring
lastHighlightAtstring date-time
lastHighlightTypestring
liquiditynumber double
liquidityAmmnumber double
liquidityClobnumber double
liveboolean
maxMarketCountinteger

Maximum number of markets the event can ever hold: the neg-risk arity packed into the v2 event id at first deployment (atomic neg-risk: equals the member count; incremental neg-risk: reserves slots for later appends). Null for binary events. Immutable once deployed — condition ids derive from it.

negRiskboolean
negRiskAugmentedboolean
negRiskFeeBipsinteger
negRiskMarketIDstring
newboolean
openInterestnumber double
parentEventIdinteger
pendingDeploymentboolean
periodstring
published_atstring
rescheduledFromGameIdinteger
resolutionSourcestring
restrictedboolean
scheduledDeploymentTimestampstring date-time
scorestring
seriesSlugstring
showAllOutcomesboolean
showMarketImagesboolean
slugstring
sortBystring
spreadsMainLinenumber double
startDatestring date-time
startTimestring date-time
subEventsstring[] nullable
subcategorystring
subtitlestring
tag_labelsstring[] nullable
tag_slugsstring[] nullable
templateVariablesstring
tickerstring
titlestring
totalsMainLinenumber double
turnProviderIdstring
tweetCountinteger
updatedAtstring date-time
updatedBystring
usIdstring
version'v1' | 'v2'

Protocol version of the event: v1 (legacy) or v2 (all child markets on polymarket-v2 modules). Clients must match exact values and treat unknown values as unsupported.

volumenumber double
volume1monumber double
volume1wknumber double
volume1yrnumber double
volume24hrnumber double

Example response

[
  {
    "$schema": "https://example.com/schemas/Event.json",
    "eventCreators": [
      {
        "$schema": "https://example.com/schemas/EventCreator.json"
      }
    ],
    "externalPartners": [
      {
        "$schema": "https://example.com/schemas/EventExternalPartnerMapping.json",
        "partner": {
          "$schema": "https://example.com/schemas/Partner.json"
        }
      }
    ],
    "markets": [
      {
        "$schema": "https://example.com/schemas/Market.json",
        "cryptoMarketConfig": {
          "$schema": "https://example.com/schemas/CryptoMarketConfig.json"
        },
        "tags": [
          {
            "$schema": "https://example.com/schemas/Tag.json"
          }
        ]
      }
    ],
    "series": [
      {
        "$schema": "https://example.com/schemas/Series.json"
      }
    ],
    "sport": {
      "$schema": "https://example.com/schemas/SportsMetadata.json",
      "externalPartners": [
        {
          "$schema": "https://example.com/schemas/SportExternalPartnerMapping.json",
          "partner": {
            "$schema": "https://example.com/schemas/Partner.json"
          }
        }
      ]
    },
    "tags": [
      {
        "$schema": "https://example.com/schemas/Tag.json"
      }
    ],
    "teams": [
      {
        "$schema": "https://example.com/schemas/Team.json",
        "externalPartners": [
          {
            "$schema": "https://example.com/schemas/TeamExternalPartnerMapping.json",
            "partner": {
              "$schema": "https://example.com/schemas/Partner.json"
            }
          }
        ]
      }
    ]
  }
]

Changes

No recorded changes to this operation across all 1 revision of this API.