Use to find the day's biggest movers in one call
Use to find the day's biggest movers in one call. Returns the top 10 gainers and top 10 losers by percent move with price, the current US market session status (open, closed, pre, or post), and the latest market news headlines. No ticker needed. Built for agents scanning what is moving today. From x402stock, a pay-per-call market & economic data API. Pay per request in USDC via x402, no API key.
30000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-14
updated
Provider
x402stock.xyz · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x3070Fbb3803819fB5BdfE9286fdc6325A877fA85",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "30000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"limit": 10
},
"type": "http"
},
"output": {
"example": {
"as_of": "2026-05-30T07:00:00.000Z",
"gainers": [
{
"change_percent": 7453.19,
"price": 7.73,
"ticker": "QH"
}
],
"losers": [
{
"change_percent": -96.04,
"price": 0.1401,
"ticker": "DAIC"
}
],
"market_status": {
"after_hours": false,
"early_hours": false,
"market": "closed"
},
"news": [
{
"published_at": "2026-05-29T21:00:00Z",
"publisher": "Example Wire",
"tickers": [
"AAPL",
"MSFT"
],
"title": "Stock market today: indexes close at record highs",
"url": "https://example.com/news/market"
}
],
"source": "x402stock"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET",
"HEAD",
"DELETE"
],
"type": "string"
},
"queryParams": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"limit": {
"exclusiveMinimum": 0,
"maximum": 50,
"type": "integer"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"as_of": {
"type": "string"
},
"gainers": {
"items": {
"additionalProperties": false,
"properties": {
"change_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"ticker": {
"type": "string"
}
},
"required": [
"ticker",
"change_percent",
"price"
],
"type": "object"
},
"type": "array"
},
"losers": {
"items": {
"additionalProperties": false,
"properties": {
"change_percent": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"ticker": {
"type": "string"
}
},
"required": [
"ticker",
"change_percent",
"price"
],
"type": "object"
},
"type": "array"
},
"market_status": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"after_hours": {
"type": "boolean"
},
"early_hours": {
"type": "boolean"
},
"market": {
"type": "string"
}
},
"required": [
"market",
"early_hours",
"after_hours"
],
"type": "object"
},
{
"type": "null"
}
]
},
"news": {
"items": {
"additionalProperties": false,
"properties": {
"published_at": {
"type": "string"
},
"publisher": {
"type": "string"
},
"tickers": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"title",
"url",
"publisher",
"published_at",
"tickers"
],
"type": "object"
},
"type": "array"
},
"source": {
"const": "x402stock",
"type": "string"
}
},
"required": [
"source",
"as_of",
"market_status",
"gainers",
"losers",
"news"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://x402stock.xyz/api/v1/market-pulse" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://x402stock.xyz/api/v1/market-pulse");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://x402stock.xyz/api/v1/market-pulse")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/5286.json, and this resource appears in /discovery/resources and /discovery/search.