GET
/api/v1/assets/search
Search Assets and return their directly linked markets
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| q | query | string | Name, ticker, canonical identity, platform identifier, or keyword. Use '*' for all Assets. Mutually exclusive with reference. |
| reference | query | string[] | Repeat up to 50 exact references: Asset UUID/assetKey, AssetIdentifier key/value, or linked Market marketKey/native ID. Mutually exclusive with q. |
| platform | query | string | Keep Assets having an identifier in this case-insensitive platform namespace. |
| asset_type | query | string | Case-insensitive canonical Asset type filter. |
| material_only | query | boolean | When true, return only Assets with at least one active direct market having non-null venue odds or latest Q. Other active direct linked markets remain in the Asset response. May be supplied alone as the enriched material-Asset directory. |
Response fields
| Field | Type | Meaning |
|---|---|---|
| query | string | The supplied q value, '*' for the enriched directory, or null in reference mode. |
| references | string[] | Deduplicated exact references used for this search. |
| material_only | boolean | Whether Asset-level material-data filtering was requested. |
| assets | AssetSearchItem[] | |
| retrieval | object | Graph is authoritative for identity and linked-market hydration. Optional Typesense lexical recall fails open to graph results. |
Billing and limits
Calls are billed to prepaid credits, or per call over x402. The price above is the reference price; the 402 challenge returned at request time is what a call actually costs.
One request may be in flight at a time, and request starts must be at least one second apart. A rejected 429 is not billed. See rate limits.
curl
curl -H "x-quotient-api-key: qt_…" \
"https://quotient-api-gateway.onrender.com/api/v1/assets/search"Run sends this request with preset parameters on Quotient’s demo key. Your credits are not spent.
200 · application/json
{
"query": "gold",
"references": [],
"material_only": true,
"assets": [
{
"id": "13fe79af-6d3f-47fd-8e67-f0eb23cab4f9",
"assetKey": "commodity:gold",
"name": "Gold",
"ticker": "GOLD",
"asset_type": "commodity",
"aliases": [
"XAU"
],
"identifiers": [
{
"platform": "hyperliquid",
"kind": "coin",
"value": "xyz:GOLD"
}
],
"linked_market_count": 1,
"linked_markets": [
{
"venue": "kalshi",
"nativeMarketId": "KXGOLD-26AUG-T2500",
"nativeEventId": "KXGOLD-26AUG",
"seriesTicker": "KXGOLD",
"marketKey": "kalshi:KXGOLD-26AUG-T2500",
"slug": null,
"marketUrl": null,
"sourceUrl": null,
"question": "Will gold settle above $2,500 in August?",
"event": {
"id": "KXGOLD-26AUG",
"title": "Gold price in August",
"slug": null
},
"tags": [
"gold"
],
"categories": [
"Commodities"
],
"end_date": "2026-08-31T20:00:00Z",
"market_odds": 0.87,
"inDispute": false,
"clarifications": null,
"volume_24h": null,
"signal_count": 0,
"forecast_count": 1,
"latest_forecast_at": "2026-08-08T14:30:00Z",
"market_updated_at": "2026-08-08T15:02:11Z",
"latest_forecast_delta": 0.01,
"latest_forecast_refresh_reason": "price_move",
"quotientUrl": "https://app.quotient.social/market/kalshi%3AKXGOLD-26AUG-T2500",
"polymarketUrl": null,
"has_forecast": true,
"latest_q_probability": 0.86,
"has_published_signal": false,
"published_signal_count": 0
}
],
"relevance": {
"score": 0.018,
"matched_by": [
"graph",
"typesense"
],
"matched_fields": [
"name",
"ticker"
]
}
}
],
"retrieval": {
"graph": "ok",
"typesense": "ok"
}
}