v1
latestOpenAPI 3.1.02026-07-243035381.4 MBUnified search (events / tags / profiles)
/v4/data/prediction/search
50 credits per API call
Unified search across events, tags and trader profiles. One query returns all three result types in a single response — pick the branches you care about with searchTags and searchProfiles. Designed for discovery surfaces (autocomplete, top-of-page search) where a single query needs to surface the most relevant entities of any kind.
Platform support
- Polymarket only.
Filtering and pagination
- q is the required search string — 2..128 characters. Single-character queries are rejected with 400 because they match an unhelpfully wide slice of the dataset.
- limitPerType caps the number of results returned per branch (events, tags, profiles) — defaults to 10.
- searchTags toggles the tags branch — defaults to true. searchProfiles toggles the profiles branch — defaults to false because most callers don't need it.
- eventsStatus narrows the events branch by a free-text status (e.g. active); eventsTag is a comma-separated list of tag slugs (up to 50 entries). keepClosedMarkets overrides the default behaviour of hiding closed markets from the events branch.
- sort is a free-text sort key forwarded to the upstream; ascending sets sort direction.
- Pagination is page-based (not cursor-based) — advance via ?page=N+1. The response body carries data.pagination.hasMore and data.pagination.totalResults for paging decisions.
Other notes
- Branches are populated independently — an empty tags array means no tag matches were found, not that the search failed.
- events share the same shape as the /events listing endpoint, so the same client-side rendering can be reused.
- profiles rows include only proxyWallet, name and pseudonym — additional profile fields (image, bio) are not exposed here.
Query parameters
Search string (required). 2..128 characters. Single-character queries are rejected with 400.
1-indexed page number for paging through results. Defaults to 1.
Maximum number of results per branch (events / tags / profiles). Defaults to 10.
Toggle the tags branch. Defaults to true.
Toggle the profiles branch. Defaults to false — most callers don't need profile results.
Narrow the events branch by status (free-text — accepts any value the upstream supports, e.g. active).
Narrow the events branch to a comma-separated list of tag slugs. Up to 50 entries.
Include closed markets in the events branch. Defaults to the upstream's behaviour (closed markets are hidden).
Sort key forwarded to the upstream (free-text — accepts comma-separated field names).
Sort direction.
Response
OK
Example response
{
"data": {
"events": [
{
"id": "KXELONMARS",
"platform": "polymarket",
"title": "Will Elon Musk land humans on Mars by 2030?",
"description": "Outcome resolves on confirmation of a successful crewed Mars landing.",
"category": "Science",
"tags": [
"space",
"spacex"
],
"imageUrl": "https://polymarket.com/images/elon-mars-event.png",
"status": "active",
"openTime": "2024-01-01T00:00:00Z",
"closeTime": "2030-12-31T23:59:59Z",
"marketCount": 3,
"totalVolume": 4823100.5,
"volumeUnit": "usd",
"totalLiquidity": 271800.3,
"markets": [
"KXELONMARS-99"
],
"source": {
"platform": "polymarket",
"platformId": "KXELONMARS-99",
"url": "https://kalshi.com/markets/kxelonmars"
}
}
],
"tags": [
{
"id": "101",
"slug": "us-elections",
"label": "US Elections",
"eventCount": 42
}
],
"profiles": [
{
"proxyWallet": "0x56687bf447db6ffa42ffe2204a05edaa20f55839",
"name": "JaneDoe",
"pseudonym": "WitnessProtection"
}
],
"pagination": {
"hasMore": true,
"totalResults": 184
}
}
}