> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dexpaprika.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Screen tokens by volume and liquidity

> Build a token screener with DexPaprika: filter tokens on one chain or many by volume, liquidity, FDV, price change, swaps and creation date, sort the result and page through it. Works without an API key.

`GET /networks/{network}/tokens/search` filters the tokens on one chain by 24h, 7d and 30d volume, liquidity, FDV, price, 24h price change, swap count and creation time, and sorts what is left. `GET /tokens/search` does the same across several chains at once. Neither needs a key. Today's biggest 24h gainers on Ethereum with at least $1M of liquidity and $1M of volume:

```bash theme={null}
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/search?liquidity_usd_min=1000000&volume_usd_24h_min=1000000&order_by=price_change_percentage_24h&sort=desc&limit=3" \
  | jq '.results[0]'
```

```json theme={null}
{
  "chain": "ethereum",
  "address": "0x4b66157747185640880ca15478ef5e07d69baff5",
  "price_usd": 0.004663709893559609,
  "price_change_percentage_24h": 14381.824659445929,
  "volume_usd_24h": 6523748.872418517,
  "volume_usd_7d": 6523748.872418522,
  "volume_usd_30d": 6523748.872418522,
  "liquidity_usd": 2605932.372249988,
  "fdv_usd": 4663709.89355961,
  "txns_24h": 6165,
  "created_at": "2026-10-11T14:15:38Z"
}
```

These endpoints filter, they do not match names. To find a token by name or symbol, use [search](/tutorials/search). To filter pools rather than tokens, use [pool filtering](/tutorials/pool-filtering).

***

## Which plan you need

Both endpoints work on every plan. A key changes the limits and the host.

| Caller | Host | Header |
| - | - | - |
| No key | `api.dexpaprika.com` | none |
| Free key | `api.dexpaprika.com` | `Authorization: <your key>` |
| Dev, Pro, Enterprise | `api-pro.dexpaprika.com` | `Authorization: <your key>` |

The key goes in `Authorization` on its own. A screener that refreshes often is where the per-minute limit bites first; compare plans on [pricing](https://dexpaprika.com/api/pricing) and get a key in [console.dexpaprika.com](https://console.dexpaprika.com).

<CodeGroup>
  ```bash No key theme={null}
  curl -s "https://api.dexpaprika.com/tokens/search?chains=ethereum,arbitrum&liquidity_usd_min=1000000&limit=5" \
    | jq '[.results[] | {chain, address, liquidity_usd}]'
  ```

  ```bash Dev or Pro key theme={null}
  curl -s -H "Authorization: $DEXPAPRIKA_API_KEY" \
    "https://api-pro.dexpaprika.com/tokens/search?chains=ethereum,arbitrum&liquidity_usd_min=1000000&limit=5" \
    | jq '[.results[] | {chain, address, liquidity_usd}]'
  ```
</CodeGroup>

***

## Filters and sorting

Every filter is optional and they combine with AND.

| Parameter | Filters on |
| - | - |
| `volume_usd_24h_min`, `volume_usd_24h_max` | 24h trading volume, USD |
| `volume_usd_7d_min`, `volume_usd_7d_max` | 7-day trading volume, USD |
| `volume_usd_30d_min`, `volume_usd_30d_max` | 30-day trading volume, USD |
| `liquidity_usd_min`, `liquidity_usd_max` | Liquidity across the token's pools, USD |
| `fdv_usd_min`, `fdv_usd_max` | Fully diluted valuation, USD |
| `price_usd_min`, `price_usd_max` | Price, USD |
| `price_change_percentage_24h_min`, `_max` | 24h price change, in percent: `10` is +10% |
| `txns_24h_min`, `txns_24h_max` | Swaps in the last 24 hours |
| `created_after`, `created_before` | When the token's record was created in DexPaprika: `-7d`, Unix seconds or RFC3339 |
| `chains` | `/tokens/search` only: comma-separated network ids. Leave it out to search every chain |

`order_by` takes `volume_usd_24h` (the default), `volume_usd_7d`, `volume_usd_30d`, `liquidity_usd`, `txns_24h`, `price_change_percentage_24h`, `created_at` or `fdv_usd`, and `sort` takes `desc` (the default) or `asc`. `limit` is 1 to 100, default 10.

Results carry addresses and numbers, not names. Add `detailed=true` to get `name`, `symbol` and `decimals` too, plus activity over the last 1m, 5m, 15m, 30m, 1h, 6h and 24h.

***

## A gainers screener in Python

This script lists the biggest 24h gainers on Ethereum that clear $1M of liquidity and $1M of volume, then pages once to get the next batch. Two requests:

```python theme={null}
import os
import requests

# No key: leave both variables unset. Free key: set DEXPAPRIKA_API_KEY.
# Dev or Pro key: also set DEXPAPRIKA_API=https://api-pro.dexpaprika.com
API = os.environ.get("DEXPAPRIKA_API", "https://api.dexpaprika.com")
KEY = os.environ.get("DEXPAPRIKA_API_KEY")
HEADERS = {"Authorization": KEY} if KEY else {}

FILTERS = {
    "liquidity_usd_min": 1_000_000,
    "volume_usd_24h_min": 1_000_000,
    "order_by": "price_change_percentage_24h",
    "sort": "desc",
    "detailed": "true",
    "limit": 5,
}


def screen(network, pages=2):
    cursor = None
    for _ in range(pages):
        params = dict(FILTERS, **({"cursor": cursor} if cursor else {}))
        r = requests.get(f"{API}/networks/{network}/tokens/search",
                         headers=HEADERS, params=params, timeout=30)
        r.raise_for_status()
        page = r.json()
        yield from page["results"]
        if not page["has_next_page"]:
            break
        cursor = page["next_cursor"]


print(f"{'symbol':<10}{'24h':>9}{'liquidity (USD)':>18}{'24h volume (USD)':>19}")
for t in screen("ethereum"):
    print(f"{t['symbol'][:9]:<10}{t['price_change_percentage_24h']:>+8.1f}%"
          f"{t['liquidity_usd']:>18,.0f}{t['volume_usd_24h']:>19,.0f}")
```

```text theme={null}
symbol          24h   liquidity (USD)   24h volume (USD)
DOPE      +14381.8%         2,605,932          6,523,749
7AΩ∞         +25.2%         8,989,888         31,956,195
VIBE         +12.1%         2,530,747          4,154,938
AZTEC         +8.0%         7,413,585          3,550,410
eUSD          +2.5%         1,418,655          2,045,757
PEPE          +2.3%        17,772,334          1,999,145
ETH+          +1.4%         9,410,471          1,389,760
BULL          +1.4%         9,547,006         28,390,287
wTAO          +1.3%         2,700,449          1,589,451
ONDO          +1.2%         1,394,617          1,707,307
```

Output from 12 October 2026. The first row moved more than 14,000% in a day, which is why the filters below matter.

***

## Things to know

**Send the same filters with every cursor.** `next_cursor` continues the query that produced it. Send it with the same filters and sort, as the script does; the cursor alone answers `400` with `invalid cursor`.

**Only the 24h price change filters tokens.** Pool search also filters on 5m, 1h, 6h and 48h price change; token search does not, and it drops those parameters without an error. See [pool filtering](/tutorials/pool-filtering) for the pool windows.

**`created_at` is not the deployment date.** It is when DexPaprika created the token's record, and a long-established token can carry a recent one. Do not read `created_after=-7d` as "launched this week"; for brand new pools, use [find new pools](/tutorials/find-new-pools).

**Check outliers before you trust them.** Liquidity and FDV are computed from on-chain pool reserves and prices, so one badly priced pool can push a token's liquidity far out of line. Liquidity many times larger than FDV is one tell. Look at the token's pools with [token pools](/tutorials/token-pools) before acting on it.

**Sorting by price change surfaces the extremes.** `order_by=price_change_percentage_24h` puts the most extreme moves first, whatever caused them. Raise `liquidity_usd_min` and `volume_usd_24h_min` until the list is what you want to watch.

***

## Where to go next

* [Token pools](/tutorials/token-pools): every pool a token trades in
* [Token price](/tutorials/fetch-token-price) and [batch prices](/tutorials/batch-token-prices)
* [Token search reference](/api-reference/tokens/advanced-token-filtering-on-a-specific-network) and [cross-network reference](/api-reference/tokens/advanced-token-filtering-across-multiple-networks)
* [Pricing](https://dexpaprika.com/api/pricing), [console.dexpaprika.com](https://console.dexpaprika.com) and [docs home](https://docs.dexpaprika.com)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.