Skip to main content
The 8bitedge Demand & Intent API translates buyer behavior into actionable seller signals. Rather than guessing what to stock or how to price, you can read directly from the data — clicks to eBay, price-alert watches, and search queries — to understand what retro buyers want right now. This guide walks through every demand endpoint and maps each one to a concrete seller question.
All demand endpoints require the demand-intent.read scope on your API key. Requests with a key missing this scope receive 403 insufficient_scope.

What’s a demand signal?

Every demand endpoint is built from one of three underlying signal types, or a combination of them. Intent — a buyer clicked through to an eBay listing. This is the strongest proxy for purchase intent available without transaction data. Intent rows carry:
  • redirects — total click-throughs in the period
  • distinct_users — unique buyer reach
  • mobile_share — fraction of intent from mobile devices (useful for listing-format decisions)
Watch — a buyer saved a price-alert notification for a title. This captures latent or unmet demand: buyers who want the game but haven’t found a price they’ll pay. Represented as watch_count. Momentum — a derived signal that measures whether interest is accelerating. It compares the recent daily pace to the 30-day baseline. Labels:
  • rising — recent pace is at least 20% faster than the 30-day baseline (momentum value 1.2 or above)
  • steady — recent pace is within 20% of the baseline (between 0.8 and 1.2)
  • cooling — recent pace has slipped more than 20% below baseline (below 0.8)
  • null / unknown — no 30-day baseline is available yet
Demand score — a single 0–100 index that blends all three signals into one number. Weights: intent 50%, reach 20%, watch demand 30%. Scores are normalized within the current period and console scope, so the top game always scores 100.

”What should I stock?”

Use the demand leaderboard to see which games have the highest buyer activity across the platform.
By default the endpoint returns the top games for the last 7 days, sorted by redirect intent. Each row in the response looks like this:
Sorting options — use ?sort= to change how the leaderboard is ranked:

”How is this specific game performing?”

Use the game profile endpoint to pull all three time periods — day, 7d, and 30d — side by side for a single title. Pass the game’s numeric id (from a catalog lookup or leaderboard row) as the path parameter.
The endpoint returns 404 if the game ID is unknown or disabled.

”What’s heating up?”

Use the trending endpoint to see games whose recent daily pace most exceeds their 30-day baseline. The response has the same leaderboard row shape as /demand-intent/games, but sort is forced to momentum — you cannot override it here.
Trending is most useful for getting ahead of demand before it fully peaks. A rising game today is often a rank 1 game next week.

”What are buyers waiting for?”

Use the watched endpoint to find games with high watch counts even when redirect intent is relatively low. These are titles where buyer demand exists but supply — or price — hasn’t yet met it.
The response uses the same row shape as the leaderboard. The key difference from the standard leaderboard: this endpoint is built from the watch table first. Redirect intent is left-joined and shown, but may be zero — a game can appear here even if no one has clicked through to eBay recently, as long as buyers are setting price alerts for it.
High watch count + low redirects is the clearest supply-gap signal in the API: buyers exist and are waiting, but aren’t finding listings they’ll act on.

”What condition should I sell in?”

Condition demand is available at three levels of granularity.

Per-game condition breakdown

To find out whether buyers for a specific title want it loose, complete-in-box, new, or don’t have a preference:
The response returns all four conditions (loose, cib, new, any) sorted by rank, each with watch_count, condition_share (this condition’s fraction of all alerts for the game), distinct_users, and mobile_share. The any condition represents buyers who set alerts without specifying a condition — they are effectively condition-indifferent.

Market-wide condition mix

To understand what condition the broader market is searching for right now:
This returns an aggregate across all active searches — not tied to any single game — showing condition_share for each condition. Use this to inform your sourcing strategy at the portfolio level.

Top games wanted in a specific condition

To see which games buyers most want in a particular condition, use /demand-intent/conditions/{condition}:
Valid values for {condition} are loose, cib, new, and any. The endpoint returns 404 for any other value. Rankings restart within each condition, so the same game can rank first in CIB and fifth in loose.

Search demand

Search demand is keyed by free-text query rather than game ID, because a single search like “chrono trigger snes” spans many potential listings across the catalog. Use these endpoints to understand what buyers are actively typing — and where supply gaps exist.
Sorting options: Quick-access views — these are pre-sorted shortcuts that use the same response shape as /searches:
/searches/unmet is one of the most actionable endpoints for sourcing decisions. A query with high search_count and high zero_result_share tells you buyers are actively looking for something the platform can’t supply — find that inventory and list it.

”Which platforms are hot?”

Use the console leaderboard to see which platforms have the most buyer activity overall. This is useful if you trade across multiple systems and want to focus your sourcing budget on the most active markets.
Each row in the response includes the console’s rank, redirect intent (volume and distinct-user reach), and momentum. The leaderboard can be sorted by intent (default) or momentum. To filter the game-level leaderboards by a specific platform, use the console_id values returned here.

Filtering by console

Most demand list endpoints accept a ?console_id= parameter to focus the results on a single platform. This is useful when you specialize in a particular console or want to compare demand within one ecosystem.
Use the /consoles endpoint to look up valid console IDs.

Period and date parameters

All demand list endpoints accept two time-control parameters: The response meta always includes the resolved period, period_date, and sort so you can confirm which window your data reflects.

Next steps

Demand Games API

Full reference for all /demand-intent/games endpoints and their parameters.

Demand Searches API

Full reference for /demand-intent/searches, trending, and unmet endpoints.

Demand Conditions API

Full reference for condition breakdown and per-condition game rankings.

Demand Consoles API

Full reference for the console leaderboard and console profiles.