What you’ll build
A pool screener that finds liquidity pools matching specific criteria: volume thresholds, liquidity, transaction counts, and creation dates. This is useful for:- Finding high-activity pools on any network
- Discovering newly created pools (early token launches)
- Building automated pool monitoring pipelines
- Filtering noise from low-activity pools
The search endpoint
results array with cursor-based pagination. To search across several networks at once, use the global GET /pools/search with a chains parameter.
Available parameters
| Parameter | Type | Description |
|---|---|---|
volume_usd_24h_min / _max | number | 24h volume in USD |
volume_usd_7d_min / _max | number | 7d volume in USD |
volume_usd_30d_min / _max | number | 30d volume in USD |
liquidity_usd_min / _max | number | Pool liquidity in USD |
txns_24h_min / _max | integer | Transactions in last 24h |
price_usd_min / _max | number | Pool price in USD |
price_change_percentage_24h_min / _max | number | 24h price change, percent |
created_after / created_before | integer | UNIX timestamp window |
dex_name | string | Restrict to a single DEX |
order_by | string | volume_usd_24h, volume_usd_7d, volume_usd_30d, liquidity_usd, txns_24h, created_at, price_usd, price_change_percentage_24h |
sort | string | asc or desc |
limit | integer | Items per page (default 10) |
cursor | string | Pass next_cursor from the previous response to page forward |
Parameter names migrated from the old filter endpoint:
volume_24h_min is now volume_usd_24h_min, sort_by is now order_by, sort_dir is now sort, and page is replaced by cursor. The volume_7d, volume_30d, and liquidity_usd filters are now functional.Example 1: High-volume pools on Ethereum
Find Ethereum pools with over $500,000 in daily volume:Response format
Response field names: pool address is
id, transaction count is transactions_24h, DEX is dex_id (slug) plus dex_name (label). Results are in a results array, and you page with next_cursor rather than page numbers.Example 2: Recently created pools with activity
Find pools created in the last 7 days that have at least 50 transactions:Example 3: Paginating through all results
Page with the cursor returned in each response:Example 4: Combining with pool details
Search returns summary data. To get full pool details (token pair info, reserves, fees), make a follow-up request:Tips
- Start broad, then narrow: Begin with just
volume_usd_24h_minto see what matches, then add more filters. - Use
created_afterfor new token discovery: Combine withtxns_24h_minto find new pools that actually have trading activity. - Different networks, different thresholds: A $10k volume pool on Ethereum is tiny; on a smaller chain it might be significant. Adjust thresholds per network.
- Search across networks: Use
GET /pools/search?chains=ethereum,base,solanato screen multiple networks in one call.
Next steps
Find New Pools
More techniques for discovering new pools using the search endpoint
Pool Details
Get full details for any pool including token pairs and reserves
Common Patterns
Standard API workflows including search, pricing, and historical data
Pool Details API
Full pool details endpoint documentation
FAQs
What happened to the old /pools/filter endpoint?
What happened to the old /pools/filter endpoint?
It was removed and now returns
410 Gone, along with /networks/{network}/pools and the global /pools. Use /networks/{network}/pools/search (single network) or /pools/search (multiple networks) instead.Can I filter pools across multiple networks at once?
Can I filter pools across multiple networks at once?
Yes. Use the global
GET /pools/search with a chains parameter, for example chains=ethereum,base. The per-network GET /networks/{network}/pools/search covers a single network.How does pagination work?
How does pagination work?
Set
limit and read has_next_page and next_cursor from the response. Pass next_cursor back as cursor to fetch the next page. There are no page numbers.