demand-intent.read scope and a valid Authorization: Bearer <token> header.
Search demand vs. game demand
Search demand is keyed by free-text query rather than game ID. A single query like “chrono trigger” can span multiple titles and consoles depending on what inventory is listed. This means search data tells you what buyers are typing, while game demand tells you what they are clicking — the two signals are complementary. Because search rows are query-keyed, they cannot be filtered bygame_id; use console_id or the game demand endpoints for game-level analysis.
Each search query unions two upstream sources: price lookups (buyers checking what a game is worth) and site searches (buyers browsing the catalog). Both are reflected in the combined search_count.
Search demand score
The searchdemand_score is a 0–100 index blending volume and reach into one comparable number. Volume (combined search count) is the primary signal; reach (distinct users) is the secondary signal. There is no watch component — searches are not the same as notification alerts. The top-ranked query in the result set always scores 100.
Leaderboard row shape
All search list endpoints return rows in this shape:Precomputed rank by combined search volume within the period.
The normalized free-text query string.
Search volume and reach metrics.
Total searches (price lookups + site searches) in the period.
Searches originating from price lookup flows.
Searches originating from the site search interface.
Number of unique users who searched this query.
Fraction of searches from mobile devices (0.0–1.0).
Composite 0–100 search demand index.
Common query parameters
All list endpoints on this page share the following query parameters.The time window to aggregate over. One of
day, 7d, or 30d.Filter results to searches associated with this console.
Override the target date. Defaults to the latest computed date. Format:
YYYY-MM-DD.Page size. Capped by your plan’s
max_page_size.Page number (page-mode pagination).
Cursor token for cursor-mode pagination.
Set to
cursor for cursor-based pagination.GET /api/v1/demand-intent/searches
Returns a ranked leaderboard of search queries by volume for the selected period. Use this to understand what buyers are actively searching and pricing, even before they click through to a listing.Query parameters
In addition to the common parameters:Sort order for the leaderboard. One of:
volume— by combined search count (default)momentum— by the 7d-vs-30d search pace, fastest-rising firstunmet— byzero_result_sharedescending, then volume; restricted to queries meeting a minimum search threshold to filter out one-off typos
Response
Returns a paginated array of search leaderboard rows (see Leaderboard row shape). Themeta object includes the resolved period, period_date, and sort.
Example response:
GET /api/v1/demand-intent/searches/trending
Returns rising search queries — the ones whose recent daily search pace most exceeds their 30-day baseline. The sort is fixed tomomentum and cannot be overridden. Use this endpoint to get ahead of emerging demand before it shows up in the main volume leaderboard.
Query parameters
The time window to aggregate over. One of
day, 7d, or 30d.Filter to searches associated with this console.
Override the target date (defaults to latest computed).
Page size.
Page number.
Cursor token for cursor-mode pagination.
Set to
cursor for cursor-based pagination.Response
Returns a paginated array of search leaderboard rows in the same shape asGET /api/v1/demand-intent/searches. The meta.sort field is always "momentum".
Queries with no 30-day baseline are excluded from this endpoint because momentum requires a prior period to compare against.
GET /api/v1/demand-intent/searches/unmet
Returns high-volume search queries that are consistently returning little or no inventory — your clearest supply-gap and sourcing signal. If buyers are repeatedly searching for a title and coming up empty, that is a direct opportunity to list it. The sort is fixed tounmet (highest zero_result_share first, then by volume) and cannot be overridden.
Query parameters
The time window to aggregate over. One of
day, 7d, or 30d.Filter to searches associated with this console.
Override the target date (defaults to latest computed).
Page size.
Page number.
Cursor token for cursor-mode pagination.
Set to
cursor for cursor-based pagination.Response
Returns a paginated array of search leaderboard rows in the same shape asGET /api/v1/demand-intent/searches. Rows are sorted by zero_result_share descending, then by search_count. The meta.sort field is always "unmet".
Results are restricted to queries that meet a minimum search-count threshold. This filters out one-off typos or rare queries that happen to return no results — the list reflects genuine, repeated, unmet demand.
GET /api/v1/demand-intent/searches/conditions
Returns the market-wide condition mix from active searches — showing what condition (loose, CIB, new, or any) buyers are explicitly searching for across the entire catalog. Use this to understand the overall market preference for condition before deciding how to grade and list your inventory. This endpoint returns acollection (not a paginated list) of all four condition rows for the selected period.
Query parameters
The time window to aggregate over. One of
day, 7d, or 30d.Override the target date (defaults to latest computed).
This endpoint does not accept a
game_id filter — search rows are keyed by free-text query and carry no game ID. For a per-game condition breakdown, use GET /api/v1/demand-intent/games/{game_id}/conditions instead.Response
All four condition rows, sorted by rank (search volume descending). The rows sum to approximately 1.0 on
condition_share.Rank within the four conditions for the period.
One of
loose, cib, new, or any.Total condition-classified searches in the period for this condition.
This condition’s share of all condition-classified searches (0.0–1.0). All four rows sum to ~1.0.
Unique users who searched with this condition in the period.
Fraction of searches from mobile devices (0.0–1.0).