Search API

Search markets, wallets, tokens, and trades with one API.

Three retrieval modes — exact filters, soft boosts, and semantic similarity — over live indices of Polymarket, Kalshi, Hyperliquid, and DEX activity on Base, Ethereum, and Solana. It’s the same engine that generates candidates for your feeds and notifications.

3 modes
filter & sort, boost, semantic
768-dim
embeddings, cosine similarity
10,000
max results per query
20+
live indices to search
Retrieval modes

Query it your way

filter_and_sort
Exact filters

12 filter types — term, terms, numeric, date, match, geo, null checks, custom queries — combined with include-AND / exclude-NOT logic and sorted by any field.

boost
Soft relevance

Boosts are should-clauses: matching candidates rank higher, nothing gets filtered out. Multipliers from 1.0 up — 2.0 doubles a signal's contribution to the score.

semantic
Search by meaning

“Liquid election markets with active discussion” is a valid query. Multilingual embeddings, 768 dimensions, cosine-scored — or bring your own vector.

REST or DSL

Call it directly, or compose it in an algorithm

Hit the REST endpoints from your backend, or chain the same searches inside a feed or notification algorithm with the Studio DSL — filters, boosts, and semantic retrieval compose in one query.

REST · filter and sort
POST /v3/studio/search/filter_and_sort
{
"index": "polymarket-items",
"include": [
{ "filter": "term",
"field": "active", "value": true },
{ "filter": "numeric", "field": "volume_24hr",
"operator": ">=", "value": 10000 }
],
"sort_by": "volume_24hr", "order": "desc",
"size": 100
}
Studio DSL · semantic + boost
const results = await mbd.search()
.index("token-items")
.semantic("ai tokens with real usage")
.boost()
.terms("ai_labels_med", ["ai", "agents"], 2.0)
.size(50)
.execute()
Coverage

Every crypto object your app touches

Markets & tokenspolymarket-itemshyperliquid-itemstoken-items
Tradesbase-tradesethereum-tradessolana-tradespolymarket-tradeshyperliquid-trades
Walletspolymarket-walletshyperliquid-walletskalshi-walletswallet-users
Positionspolymarket-wallet-positionshyperliquid-wallet-positionsbase / ethereum / solana
Signalspolymarket-notificationshyperliquid-notificationskalshi-notificationsdex-notifications

Plus everything you push through the Data Sources API — your items, users, and events become searchable the same way.

Results arrive hydrated

Ask for context with the query: smart-money trades, stories, and price moves get attached to each market or token row server-side — one call returns cards you can render, not IDs you still have to resolve.

Search that knows your users

Boost results by a wallet’s AI-labeled interests, or scope queries to your own audience with in-app user joins — the query language reaches both our data and everything you’ve ingested.

One primitive

Candidates flow anywhere

Send search results straight into Rank for per-wallet reordering, into a feed config for serving, into a notification stream for delivery — or just return them to your own app. Prediction-market discovery is one use case; the primitive is candidate generation for anything onchain.

Stop building retrieval. Start shipping it.

One API key gets you every index, all three modes, and hydration — with your own data joined in through the Data Sources API.