Skip to main content
Search finds events for free text and never comes back empty; topics group events by the people, teams, places and subjects they are labeled with; related-by-meaning lists events close to one you are looking at. This page covers how each works, what the labels mean, and the plain-language filters search understands. You need it when the way in is a phrase rather than an id. GET /v1/search?q=… returns events, each labeled with how it was found, strongest first:
“Chiefs” finds Indianapolis vs Kansas City: events are labeled with the teams, people and places they are about, so a nickname finds a title that never uses it.

How results are found

Words are matched against titles, outcome labels and categories. Shorthand is expanded on the way: dems and gop to the parties, btc, eth, sol, xrp and doge to the coins, fed and fomc to each other, cpi and inflation to each other, potus, scotus, nfl, nba, mlb, nhl, epl, uk, us and a few more. Labels come first; then exact words; then close spellings; then meaning, from the same embeddings related events use. Thin events are ranked below events that can be traded, not hidden. The same question listed on both venues without a proven twin appears once. Words of four letters or more that no listing uses are replaced by the closest term listings do use, and the result is reported in corrected_query. Responses are cached for 30 seconds.

Plain-language filters

Words that describe a filter are read as one, cut out of the query, and reported in filters:
Parameters win over words. With filters on, results can be empty: they are what you asked for.

Topics

Every listed event is labeled with the names it is about. GET /v1/topics lists the most common, with their category, what they traded today and their leading event; GET /v1/topics/{slug} returns the events labeled with one, most traded first, with the names that appear beside it most often.
Events carry their own topics, at most six names, so any event opens onto its topic pages. GET /v1/events/{venue}/{id}/related and GET /v1/markets/{venue}/{id}/related return open events that mean something close to the one given, for “more like this”. Unlike relations, nothing here is proven: two related events can resolve independently.
What comes back is filtered to be worth a look:
  • Only events that can still be traded: closed events, games under way, and one-winner events whose leading outcome costs 97¢ or more are left out, as are the event itself, its twin, and the same question on the other venue without a proven twin.
  • A neighbour is kept when it is very close in meaning, or reasonably close and shares a labeled name or subject with the event. A match on meaning alone must be very close.
  • Instances of one recurring question collapse to the best of them: every day of a price range, or every game of the same team, shows once. At most one other instance of the event’s own series is kept, ranked below new questions.
  • Order is by similarity, nudged up for what traded today and down for anything under $1,000.
An event not yet labeled has no related events. Results are cached for two minutes.
GET /v1/markets?q= is a different tool: it searches market titles by spelling similarity and pages by cursor, for when you need individual markets rather than events. GET /v1/events?q= matches event titles only, with no filters or labels.