API reference / Movers & screening

Movers & screening

The day's gainers and losers and a whole-market screener.

3 endpoints. Pay per call in USDC via x402 with no account, or get unlimited calls for $99/mo. Every response is shaped { ticker, data, source, as_of }.

GET/api/v1/gainers$0.02

Top gaining US stocks today

The day's biggest percentage gainers across US equities, with current and previous-day OHLCV per ticker.

Example request
GET /api/v1/gainers
Response type (TypeScript)
interface GainersResponse {
  source: string;
  as_of: string;
  direction: string;
  count: number;
  tickers: unknown[];
}
Example response (click to expand)
{
  "source": "x402stock",
  "as_of": "2026-05-31T19:19:37.936Z",
  "direction": "gainers",
  "count": 0,
  "tickers": []
}
GET/api/v1/losers$0.02

Top losing US stocks today

The day's biggest percentage losers across US equities, with current and previous-day OHLCV per ticker.

Example request
GET /api/v1/losers
Response type (TypeScript)
interface LosersResponse {
  source: string;
  as_of: string;
  direction: string;
  count: number;
  tickers: unknown[];
}
Example response (click to expand)
{
  "source": "x402stock",
  "as_of": "2026-05-31T19:19:40.131Z",
  "direction": "losers",
  "count": 0,
  "tickers": []
}
GET/api/v1/screener$0.03

Screen the whole US market: filter every ticker by price, percent move, and volume in one call

Screen the entire US stock market in one call. Filter every listed ticker by price range, percent change, and minimum volume, then sort by percent move, price, or volume. Tune with ?min_price=, ?max_price=, ?min_change_percent=, ?max_change_percent=, ?min_volume=, ?sort=, ?order=, ?limit=. Built for agents scanning for setups without iterating ticker by ticker.

Example request
GET /api/v1/screener
Response type (TypeScript)
interface ScreenerResponse {
  source: string;
  as_of: string;
  universe: number;
  matched: number;
  sort: string;
  order: string;
  count: number;
  results: Array<{
    ticker: string;
    price: number;
    change: number;
    change_percent: number;
    volume: number;
    vwap: number;
  }>;
}
Example response (click to expand)
{
  "source": "x402stock",
  "as_of": "2026-06-01T21:38:06.059Z",
  "universe": 12673,
  "matched": 187,
  "sort": "change_percent",
  "order": "desc",
  "count": 10,
  "results": [
    {
      "ticker": "TGHL",
      "price": 1.31,
      "change": 0.9922,
      "change_percent": 285.27889591719384,
      "volume": 131960751,
      "vwap": 1.7252
    },
    {
      "ticker": "HKIT",
      "price": 4.86,
      "change": 3.3899999999999997,
      "change_percent": 232.19178082191775,
      "volume": 89981165,
      "vwap": 5.9313
    },
    {
      "ticker": "JZ",
      "price": 2.16,
      "change": 1.4311,
      "change_percent": 196.5796703296703,
      "volume": 45825909,
      "vwap": 1.7737
    },
    {
      "ticker": "ANY",
      "price": 5.121,
      "change": 3.18,
      "change_percent": 167.3684210526316,
      "volume": 125545357,
      "vwap": 3.7929
    },
    {
      "ticker": "DBGI",
      "price": 1.23,
      "change": 0.7461,
      "change_percent": 154.1847489150651,
      "volume": 57289463,
      "vwap": 1.1674
    },
    {
      "ticker": "ABTS",
      "price": 2.2278,
      "change": 1.2183,
      "change_percent": 122.84965211253405,
      "volume": 99832479,
      "vwap": 2.3479
    },
    {
      "ticker": "AIM",
      "price": 0.8359,
      "change": 0.4281,
      "change_percent": 104.97793035801864,
      "volume": 357360098,
      "vwap": 0.8299
    },
    {
      "ticker": "SUUN",
      "price": 1.57,
      "change": 0.7355,
      "change_percent": 85.07807981492192,
      "volume": 20242535,
      "vwap": 1.2914
    },
    {
      "ticker": "OPTU",
      "price": 1.2,
      "change": 0.5418,
      "change_percent": 82.31540565177757,
      "volume": 124554120,
      "vwap": 1.2648
    },
    {
      "ticker": "HUBC",
      "price": 0.4576,
      "change": 0.1988,
      "change_percent": 76.13941018766755,
      "volume": 411622196,
      "vwap": 0.4918
    }
  ]
}