curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:8453,solana&limit=2' \
-H 'Authorization: YOUR_API_KEY'
curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:143&sortBy=volume&timeframe=1h&limit=20' \
-H 'Authorization: YOUR_API_KEY'
Screener Pools
The screener with one row per pool, under its explicit name: the same list, parameters, rows and cursor as GET /v1/screener.
curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:8453,solana&limit=2' \
-H 'Authorization: YOUR_API_KEY'
curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:143&sortBy=volume&timeframe=1h&limit=20' \
-H 'Authorization: YOUR_API_KEY'
GET /v1/screener/pools · 1 credit
screener-pools stream channel keeps the same rows up to date: the full list on subscribe, then every row that enters, changes or leaves (restricted access: enabled per API key on request).GET /v1/screener under its explicit name: same parameters, sorts, filter tree, rows, meta and cursor, and that page is the reference for each of them. A cursor from one path works on the other.
curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:8453,solana&limit=2' \
-H 'Authorization: YOUR_API_KEY'
curl 'https://api.serialized.xyz/v1/screener/pools?chains=evm:143&sortBy=volume&timeframe=1h&limit=20' \
-H 'Authorization: YOUR_API_KEY'
Authorizations
Your raw API key (not needed on the demo server).
Query Parameters
CSV of public chain ids (1-8). sortBy=createdAt serves ONE chain per call (indexed walk) - fan out per chain.
trending (default), volume (alias top), marketCap, createdAt, or any numeric field: liquidityUsd, marketCapUsd, priceUsd, ageSeconds, priceChangePct, volumeUsd, feesUsd, txns, buys, sells, windows.<window>.<field>. trending is the relevance ranking: 24h activity weighted by real participation, so wash-traded markets rank below organically traded ones with the same figures. volume is strictly ordered by the gross USD volume of timeframe. A bare counter (volumeUsd, feesUsd, buys, sells, txns, priceChangePct) reads the timeframe. Every sort but createdAt ranks within each chain's own universe (top 500 by 24h volume plus top 100 by 1h volume, named in meta.universe). createdAt lists the newest markets of one chain and takes no filter: to rank the screener by age, use ageSeconds with sortOrder=asc.
desc (default) or asc. A market whose sort value is unknown is served last in both orders.
Window the view works on: 5m, 1h, 6h or 24h (default 24h). Sets the window behind sortBy=volume and behind the bare counters (volumeUsd, feesUsd, buys, sells, txns, priceChangePct) in sortBy, filters and the flat filters.
Previous name of timeframe, on sortBy=volume only: 5m, 1h, 6h or 24h. Give one or the other, never both.
Filter tree as URL-encoded JSON: {"<field>":{"<operator>":<value>}}, combined with AND, OR and NOT at any depth. Same grammar and field names as the Screener Stream. Operators: equals, not, in (every field), gt, gte, lt, lte (numbers), contains, startsWith, endsWith (text). Fields: chain, address (the token), name, symbol, priceNative, priceUsd, marketCapUsd, liquidityUsd, createdAt, ageSeconds, pool.address, pool.type, pool.quoteAddress, pool.quoteSymbol, the bare counters over the timeframe and windows.<5m|1h|6h|24h>.<volumeUsd|feesUsd|buys|sells|txns|priceChangePct>. Applied on the whole universe before the page is cut.
CSV of the windows each row carries in stats, among 5m, 1h, 6h, 24h. Default: all four.
Keep the markets created at least this many minutes ago.
x >= 0Keep the markets created at most this many minutes ago.
x >= 0Keep the markets with liquidityUsd at or above this (USD).
x >= 0Keep the markets with liquidityUsd at or below this (USD).
x >= 0Keep the markets with marketCapUsd at or above this (USD).
x >= 0Keep the markets with marketCapUsd at or below this (USD).
x >= 0Keep the markets with a USD volume over the timeframe at or above this.
x >= 0Keep the markets with a USD volume over the timeframe at or below this.
x >= 0Keep the markets with at least this many transactions over the timeframe.
x >= 0Keep the markets with at most this many transactions over the timeframe.
x >= 0Keep the markets whose transaction fees over the timeframe are at or above this (USD).
x >= 0Keep the markets whose transaction fees over the timeframe are at or below this (USD).
x >= 0Rows per page (default 30, max 100).
1 <= x <= 100Opaque cursor from meta.nextCursor. Pins the computation each page was cut from, so a walk started within the last minute never skips or repeats a market. A cursor belongs to its view: same sortBy, sortOrder, timeframe and filters.
Response
Standard { data, meta } envelope.