# MOEX Top Movers (Gainers & Losers)

> MOEX Top Movers (Gainers & Losers) is a paid API for AI agents from x402-markettwits-news.onrender.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-23).

Returns the top gaining and losing stocks on the Moscow Exchange (MOEX) TQBR board, filtered by minimum turnover, for the current or most recent trading session.

## Facts

- Endpoint: GET https://x402-markettwits-news.onrender.com/moex/movers?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/moex-top-movers-gainers-losers-1d38ac17
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_60kNODIei0Izfty9dmkrx

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability moex-top-movers-gainers-losers-1d38ac17
```

Example prompt: Show me the top 15 gainers and losers on the Moscow Exchange right now, only include stocks with at least 10 million rubles in daily turnover.

## When to prefer this

Choose this endpoint when you need a ranked list of the day's biggest percentage movers on the Moscow Exchange with liquidity filtering. It is purpose-built for MOEX TQBR equities and provides both live and fallback previous-session data with explicit staleness flags — making it reliable for automated trading workflows. Prefer it over raw MOEX ISS API calls when you need a clean, filtered, pay-per-use JSON response without managing exchange connectivity yourself.

## Known failure modes

- MOEX ISS upstream unavailable — returns stale cached data with stale:true flag
- No trading data yet for current day — returns previous_session mode data
- Invalid min_value format (non-numeric string) — request rejected
- limit parameter out of range (below 1 or above 50) — request rejected
- Payment not provided or invalid — 402 Payment Required response

## How this service works

Real-time English translations of MarketTwits (top Russian financial Telegram channel). Covers macro, central banks, oil/commodities, geopolitics, equities and crypto. Items are tagged high/medium importance and updated every few minutes. Ideal for trading bots and news agents. Also sells Russian market data (CBR FX and key rate, MOEX quotes/indices/movers, Rosstat fuel prices), public Telegram channel reading/search and Wildberries/Ozon product data.

## Output

Returns a JSON object with two arrays — gainers and losers — each containing up to the requested number of MOEX TQBR stocks sorted by percentage change vs previous close. Each entry includes ticker, company name, percentage change, current price, previous close, and RUB turnover. Also returns session metadata: mode (live or previous_session), as_of date, board, universe size, advancer/decliner/unchanged counts, data delay in minutes, and cache/staleness flags.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "limit": {
       "type": "integer",
       "default": 10,
       "maximum": 50,
       "minimum": 1,
       "description": "Gainers and losers to return (each side, default 10, max 50)"
      },
      "min_value": {
       "type": "string",
       "default": "5000000",
       "pattern": "^[0-9]+([.,][0-9]+)?$",
       "description": "Minimum turnover in RUB to count a stock (default 5000000; filters illiquid names)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "mode",
      "gainers",
      "losers"
     ],
     "properties": {
      "via": {
       "enum": [
        "direct",
        "proxy"
       ],
       "type": "string"
      },
      "mode": {
       "enum": [
        "live",
        "previous_session"
       ],
       "type": "string",
       "description": "previous_session before the first trades of the day"
      },
      "note": {
       "type": "string"
      },
      "as_of": {
       "type": [
        "string",
        "null"
       ]
      },
      "board": {
       "type": "string"
      },
      "limit": {
       "type": "integer"
      },
      "stale": {
       "type": "boolean",
       "description": "true when the upstream failed and a recent cached copy was served"
      },
      "cached": {
       "type": "boolean"
      },
      "losers": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "ticker",
         "pct"
        ],
        "properties": {
         "pct": {
          "type": "number",
          "description": "Change vs previous close, %"
         },
         "name": {
          "type": [
           "string",
           "null"
          ]
         },
         "price": {
          "type": [
           "number",
           "null"
          ]
         },
         "value": {
          "type": [
           "num
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "mode": "previous_session",
  "as_of": "2026-10-21",
  "board": "TQBR",
  "limit": 2,
  "cached": false,
  "losers": [
   {
    "pct": -2.13,
    "name": "Система ао",
    "price": 7.828,
    "value": 1062601090,
    "ticker": "AFKS",
    "trade_date": "2026-10-21"
   }
  ],
  "source": "MOEX ISS (iss.moex.com), board TQBR (main shares board)",
  "delayed": true,
  "gainers": [
   {
    "pct": 10.06,
    "name": "УрКузница",
    "price": 273.6,
    "value": 36678042.2,
    "ticker": "URKZ",
    "trade_date": "2026-10-21"
   }
  ],
  "universe": 188,
  "advancers": 60,
  "decliners": 124,
  "unchanged": 4,
  "fetched_at": "2026-10-22T03:51:31Z",
  "delay_minutes": 15,
  "min_value_rub": 5000000
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/moex-top-movers-gainers-losers-1d38ac17/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-markettwits-news.onrender.com](https://www.zero.xyz/host/x402-markettwits-news.onrender.com/llms.txt)
