Skip to main content
GET
cURL
Use this when you know the topic but not the market’s id. Every row carries a condition_id, which is what Market intel and Market snapshot need. To browse markets without a keyword, use Explore markets.

Parameters

Key response fields

Example

What it does not return

  • Prices, volume, or whale activity. Pass the row’s condition_id to Market snapshot for those.
  • A match on anything but the title. q does not search market descriptions.
  • A sort order of your choosing. Explore markets has a sort parameter with 6 orders.
  • A count of the matches. total is never in the body.
  • An ETag. This route has no conditional read.

Authorizations

Authorization
string
header
required

Legacy default or named integration API key, or OAuth 2.1 access token, in the Authorization header as Bearer oxi_sk_live_... or Bearer oxi_at_.... Default keys retain full access; integration keys are limited to their approved read, webhooks, export and usage scopes and expire within 90 days. All credentials share the owner's account limits. Data calls require an active Pro subscription and return live data. A 401 carries WWW-Authenticate: Bearer resource_metadata="https://api.0xinsider.com/.well-known/oauth-protected-resource" (RFC 6750 section 3, RFC 9728).

Headers

X-Query-Validation
enum<string>

Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.

Available options:
strict

Query Parameters

q
string
required

Search query. Must be 1-512 characters before whitespace trimming and non-empty after trimming.

Required string length: 1 - 512
limit
integer
default:20

Maximum number of matching markets to return. Out-of-range values are clamped to 1..100.

Required range: 1 <= x <= 100
cursor
string

Pagination cursor from previous response's next_cursor.

status
enum<string>
default:all

Filter by market status. A market is closed once Polymarket has closed trading or it has resolved, and active otherwise; all returns both.

Available options:
active,
closed,
all
category
string

Filter by category.

Response

Search results

object
string
required
Allowed value: "list"
data
object[]
required
has_more
boolean
required
meta
object
required
next_cursor
string
total
integer

Total matching rows when the read model exposes a count; the key is absent when it does not.