> ## 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.

# DEX API for on-chain liquidity and swaps

> A DEX API for liquidity pools, swaps, OHLCV and token prices across 36 chains. Call it right now with no key and no signup. REST plus SSE streaming.

DexPaprika is a DEX API for on-chain market data: liquidity pools, swap transactions, OHLCV
history and token prices across 36 blockchain networks, over REST and over SSE streaming.

**No signup to start.** No key, no card, no email. This returns the current price of SOL right now:

```bash theme={null}
curl "https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112"
```

A [free API key](https://console.dexpaprika.com) raises the per-minute rate and the monthly
allowance and opens every streaming feed, and still needs no card. Current allowances and prices
are on the [pricing page](https://dexpaprika.com/api/pricing).

<Tip>
  See also: [Networks](/api-reference/networks/get-a-list-of-available-blockchain-networks),
  [Liquidity pool endpoint](/api-reference/pools/get-a-pool-on-a-network),
  [Swap transactions](/api-reference/pools/get-transactions-of-a-pool-on-a-network-paging-can-be-used-up-to-100-pages),
  [Token data](/api-reference/tokens/get-a-tokens-latest-data-on-a-network),
  [Real-time streaming](/streaming/introduction)
</Tip>

<CardGroup cols={3}>
  <Card title="Quick API reference" icon="bolt" href="/api-reference/introduction">
    Jump straight into the API documentation and start making requests within minutes
  </Card>

  <Card title="Follow tutorials" icon="graduation-cap" href="/tutorials/tutorial_intro">
    Learn step-by-step how to integrate DexPaprika into your applications
  </Card>

  <Card title="Stream real-time data" icon="signal-stream" href="/streaming/introduction">
    Subscribe to live token prices, pool reserves and swap transactions over SSE. Prices need no key on 35 showcase assets; a free key opens all three. No polling.
  </Card>
</CardGroup>

## DEX API quickstart

<Tip>You can also make your first request directly in our API Playground available in the API Reference section. Visit [GET Token](/api-reference/tokens/get-a-tokens-latest-data-on-a-network) to try it out.</Tip>
In the next steps we will make a GET request to the [Token](/api-reference/tokens/get-a-tokens-latest-data-on-a-network) endpoint in order to get the latest price in USD of SOL. All we need is the network ID and the token address.

* Network ID: `solana`
* Token address: `So11111111111111111111111111111111111111112`
  <Note>You can find the list of all supported networks in the [Networks](/api-reference/networks/get-a-list-of-available-blockchain-networks) endpoint.</Note>

<Steps>
  <Step title="Make a GET request">
    Simply make a GET request to the following endpoint in order to fetch latest data about any token. In this case we will use the specified above network ID and token address to populate the endpoint in a format of `https://api.dexpaprika.com/networks/{network_id}/tokens/{address}`.

    <CodeGroup>
      ```bash bash theme={null}
      curl -X GET "https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112"
      ```

      ```python python.py theme={null}
      import requests

      response = requests.get("https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112")
      print(response.json())
      ```

      ```javascript javascript.js theme={null}
      fetch("https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112")
        .then(response => response.json())
        .then(data => console.log(data));
      ```
    </CodeGroup>
  </Step>

  <Step title="Get latest data about Solana (SOL)">
    This will return quite lengthy response of the latest data about Solana (SOL) that will look similar to this. We send a lot of data in the response, so in the next step we will extract only the price of SOL in USD.

    ```json Response [expandable] theme={null}
    {
        "id": "So11111111111111111111111111111111111111112",
        "name": "Wrapped SOL",
        "symbol": "SOL",
        "chain": "solana",
        "decimals": 9,
        "total_supply": 9729104.429281628,
        "description": "",
        "website": "https://solana.com",
        "has_image": true,
        "added_at": "2026-08-10T14:20:16Z",
        "price_stats": {
            "high_24h": 105.2222398215612,
            "low_24h": 101.7557716484886,
            "ath": 2094.381880389729,
            "ath_date": "2025-02-18T22:43:00Z"
        },
        "summary": {
            "chain": "solana",
            "id": "So11111111111111111111111111111111111111112",
            "price_usd": 103.80801725347543,
            "fdv": 1009959040.4557314,
            "liquidity_usd": 553505769.7967274,
            "pools": 12897286,
            "24h": {
                "volume": 49644910.41035922,
                "volume_usd": 5148862944.818152,
                "sells": 17537961,
                "buys": 10792419,
                "txns": 28330380,
                "buy_usd": 2338055804.0819945,
                "sell_usd": 2810807140.736158,
                "last_price_usd_change": 0.6781950008702846
            },
            "6h": {
                "volume": 12456183.587342199,
                "volume_usd": 1299454515.4826088,
                "sells": 4440706,
                "buys": 2451162,
                "txns": 6891868,
                "buy_usd": 593480507.282577,
                "sell_usd": 705974008.2000318,
                "last_price_usd_change": -0.21690798406796685
            },
            "1h": {
                "volume": 2084186.3205519284,
                "volume_usd": 216030300.54251012,
                "sells": 741684,
                "buys": 408334,
                "txns": 1150018,
                "buy_usd": 99891646.27039005,
                "sell_usd": 116138654.27212007,
                "last_price_usd_change": -0.1472757911066832
            },
            "30m": {
                "volume": 1004748.8770371348,
                "volume_usd": 104112790.66620025,
                "sells": 378988,
                "buys": 213688,
                "txns": 592676,
                "buy_usd": 47812329.58183849,
                "sell_usd": 56300461.08436176,
                "last_price_usd_change": 0.23928305430469934
            },
            "15m": {
                "volume": 497530.0271521555,
                "volume_usd": 51622450.059017375,
                "sells": 189987,
                "buys": 110343,
                "txns": 300330,
                "buy_usd": 24039604.05452173,
                "sell_usd": 27582846.004495647,
                "last_price_usd_change": 0.1522228820748769
            },
            "5m": {
                "volume": 156540.3813851585,
                "volume_usd": 16240562.550119922,
                "sells": 62237,
                "buys": 36579,
                "txns": 98816,
                "buy_usd": 7513931.736361665,
                "sell_usd": 8726630.813758258,
                "last_price_usd_change": 0.011172859580195807
            },
            "1m": {
                "volume": 18507.42904617516,
                "volume_usd": 1919881.560174483,
                "sells": 6720,
                "buys": 3610,
                "txns": 10330,
                "buy_usd": 900147.1867926873,
                "sell_usd": 1019734.3733817958,
                "last_price_usd_change": 0
            }
        },
        "last_updated": "2026-09-09T11:40:47.439035121Z",
        "twitter": "https://twitter.com/solana"
    }
    ```
  </Step>

  <Step title="Extract the price (or any other data)">
    As you can see, the response is very rich of data. You can extract only the price of SOL in USD from the full response by navigating to the `summary` object (*or any other object*) and then to the `price_usd` key (*or any other key*) simply by modyfying the previously used GET request:

    <CodeGroup>
      ```bash bash theme={null}
      curl -s "https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112" | jq '.summary.price_usd'
      ```

      ```python python.py theme={null}
      import requests

      response = requests.get("https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112")
      print(response.json()["summary"]["price_usd"])
      ```

      ```javascript javascript.js theme={null}
      fetch("https://api.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112")
        .then(response => response.json())
        .then(data => {
          const onlyPrice = data.summary.price_usd;
          console.log(onlyPrice);
        });
      ```
    </CodeGroup>

    And as a result you will get the price of SOL in USD:

    ```json summary.price_usd theme={null}
    103.80801725347543
    ```

    Congratulations! You just successfully retrieved the latest price of SOL in USD!
  </Step>
</Steps>

<Note>
  **Need more than the free allowance?** The [Pro API](/api-pro/introduction) raises the monthly
  allowance and the per-minute rate, serves real-time data instead of the free tier's delay, and
  adds dedicated infrastructure and priority support. Current allowances, prices and checkout are
  on the [pricing page](https://dexpaprika.com/api/pricing). Enterprise is the same API with its
  limits raised for your workload.
</Note>

<Callout icon="bullhorn" color="#FFC107" iconType="regular">
  <strong>Pool search:</strong> <a href="/tutorials/pool-filtering">filter pools</a> by volume, liquidity, transactions, and creation date on <code>/networks/\{network}/pools/search</code>. Plus <a href="/api-reference/tokens/get-batched-prices-for-multiple-tokens-on-a-network">batch token prices</a> in a single request.
</Callout>

## Need real-time data?

The REST API is the right choice when you're querying historical or on-demand data. For applications that need live updates the moment a swap or liquidity change settles on-chain, DexPaprika ships four SSE streaming feeds. No polling and no log decoding. Prices stream with no API key on the 35 showcase assets; reserves and transactions need a free key.

<CardGroup cols={2}>
  <Card title="Token price streaming" icon="dollar-sign" href="/streaming/introduction">
    Subscribe to USD price updates for any token across 36 chains. An event is pushed when a swap moves the price, so the rate tracks how actively the asset trades.
  </Card>

  <Card title="Pool reserves streaming" icon="droplet" href="/streaming/reserves-streaming">
    Pool reserve deltas, USD-denominated, pushed for each block in which a subscribed pool's reserves changed. For any DEX pool or any token.
  </Card>
</CardGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Quick API reference" icon="bolt" href="/api-reference/introduction">
    Jump straight into the API documentation and start making requests within minutes
  </Card>

  <Card title="Follow tutorials" icon="graduation-cap" href="/tutorials/tutorial_intro">
    Learn step-by-step how to integrate DexPaprika into your applications
  </Card>

  <Card title="Use an SDK" icon="code" href="/get-started/sdk-ts">
    Official TypeScript, Python, Go and PHP clients, each taking an optional API key
  </Card>

  <Card title="Connect an AI agent" icon="robot" href="/ai-integration/index">
    A hosted MCP server, plus LangChain, CrewAI, the Vercel AI SDK, n8n, Cursor and Claude
  </Card>
</CardGroup>

## Popular use cases

<CardGroup cols={2}>
  <Card title="Track token prices" icon="chart-line">
    Get real-time and historical price data for any token across 36 blockchains
  </Card>

  <Card title="Monitor liquidity" icon="water">
    Access detailed liquidity pool data across major DEXes on any network
  </Card>
</CardGroup>

<CardGroup cols={2}>
  <Card title="Trading analytics" icon="magnifying-glass-chart">
    Analyze trading volumes, price changes, and market trends
  </Card>

  <Card title="DEX aggregation" icon="layer-group">
    Compare prices and liquidity across different DEXes
  </Card>
</CardGroup>

## DexPaprika API support

We're here to help you succeed with DexPaprika.

<CardGroup cols={2}>
  <Card title="Join Discord community" icon="discord" href="https://discord.gg/DhJge5TUGM">
    Connect with our community and get real-time support
  </Card>

  <Card title="Give feedback" icon="message" href="mailto:support@coinpaprika.com">
    Share your experience and help us improve
  </Card>
</CardGroup>

## DEX API by network

Every network has its own page with the DEXes we index there, its largest pools and a live
streaming sample. The value in brackets is the `network` parameter to pass in your requests.

[Aptos](https://dexpaprika.com/api/aptos) (`aptos`),
[Arbitrum](https://dexpaprika.com/api/arbitrum) (`arbitrum`),
[Avalanche](https://dexpaprika.com/api/avalanche) (`avalanche`),
[Base](https://dexpaprika.com/api/base) (`base`),
[Berachain](https://dexpaprika.com/api/berachain) (`berachain`),
[Binance Smart Chain](https://dexpaprika.com/api/bsc) (`bsc`),
[Blast](https://dexpaprika.com/api/blast) (`blast`),
[BOB Network](https://dexpaprika.com/api/bob_network) (`bob_network`),
[Celo](https://dexpaprika.com/api/celo) (`celo`),
[Cronos](https://dexpaprika.com/api/cronos) (`cronos`),
[Ethereum](https://dexpaprika.com/api/ethereum) (`ethereum`),
[Fantom](https://dexpaprika.com/api/fantom) (`fantom`),
[Flow EVM](https://dexpaprika.com/api/flow_evm) (`flow_evm`),
[HyperEVM](https://dexpaprika.com/api/hyperevm) (`hyperevm`),
[Katana](https://dexpaprika.com/api/katana) (`katana`),
[Linea](https://dexpaprika.com/api/linea) (`linea`),
[Mantle](https://dexpaprika.com/api/mantle) (`mantle`),
[MegaETH](https://dexpaprika.com/api/megaeth) (`megaeth`),
[Monad](https://dexpaprika.com/api/monad) (`monad`),
[Optimism](https://dexpaprika.com/api/optimism) (`optimism`),
[Plasma](https://dexpaprika.com/api/plasma) (`plasma`),
[Polygon](https://dexpaprika.com/api/polygon) (`polygon`),
[Robinhood Chain](https://dexpaprika.com/api/robinhood) (`robinhood`),
[Ronin](https://dexpaprika.com/api/ronin) (`ronin`),
[Scroll](https://dexpaprika.com/api/scroll) (`scroll`),
[Sei](https://dexpaprika.com/api/sei) (`sei`),
[Solana](https://dexpaprika.com/api/solana) (`solana`),
[Sonic](https://dexpaprika.com/api/sonic) (`sonic`),
[Sui](https://dexpaprika.com/api/sui) (`sui`),
[Tempo](https://dexpaprika.com/api/tempo) (`tempo`),
[Ton](https://dexpaprika.com/api/ton) (`ton`),
[Tron](https://dexpaprika.com/api/tron) (`tron`),
[Unichain](https://dexpaprika.com/api/unichain) (`unichain`),
[x Layer](https://dexpaprika.com/api/x_layer) (`x_layer`),
[ZkSync](https://dexpaprika.com/api/zksync) (`zksync`)

To check a specific token, pool or DEX before you write any code, use the
[coverage checker](/tools/coverage-checker). [Coverage](/coverage) is the canonical record of what
we index and is regenerated from the live API daily. The
[networks endpoint](/api-reference/networks/get-a-list-of-available-blockchain-networks) returns
the same list as JSON.

### FAQs

<AccordionGroup>
  <Accordion title="Do I need an API key?">
    Not to start. No key, no card, no email: a curl works right now. [Registering a free key](https://console.dexpaprika.com) raises both the per-minute rate and the 30-day allowance, and still needs no card. Current figures are on the [pricing page](https://dexpaprika.com/api/pricing) and in [rate limits](/knowledge-base/rate-limits).
  </Accordion>

  <Accordion title="What data can I query?">
    Liquidity pools, swap transactions, token metrics/prices, and network coverage across multiple chains.
  </Accordion>

  <Accordion title="How do I find a pool or token identifier?">
    Use the Coverage Checker tool or the Networks/Token endpoints to locate addresses.
  </Accordion>

  <Accordion title="How fast is the data?">
    Collection is near real-time and REST responses reflect the latest indexed blocks and events. Your plan sets the ceiling: the free tier is served with a short delay, Pro is real time. The current delay is stated on the [pricing page](https://dexpaprika.com/api/pricing). For push updates, use the [streaming API](/streaming/introduction) (SSE).
  </Accordion>

  <Accordion title="Does DexPaprika offer real-time streaming?">
    Yes. Four SSE feeds: `/sse/prices` pushes token-price updates, `/sse/reserves` pushes pool reserve deltas per block in which reserves changed, `/sse/transactions` pushes individual swaps with USD amounts, and `/sse/ohlcv` pushes sealed token candles to paid plans on `streaming-pro.dexpaprika.com`. The first three run on `streaming.dexpaprika.com`. Prices stream with no API key on 35 showcase assets, one per chain. Reserves and transactions need a [free key](https://console.dexpaprika.com), which also opens prices on every token. See the [Streaming introduction](/streaming/introduction) or the [reserves deep-dive](/streaming/reserves-streaming).
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {JSON.stringify({
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "Do I need an API key?",
            "acceptedAnswer": { "@type": "Answer", "text": "Not to start. No key, no card and no email: a curl works right now. Registering a free key raises both the per-minute rate and the 30-day allowance, and still needs no card. Current figures are on the DexPaprika pricing page." }
          },
          {
            "@type": "Question",
            "name": "What data can I query?",
            "acceptedAnswer": { "@type": "Answer", "text": "Liquidity pools, swap transactions, token metrics/prices, and network coverage across multiple chains." }
          },
          {
            "@type": "Question",
            "name": "How do I find a pool or token identifier?",
            "acceptedAnswer": { "@type": "Answer", "text": "Use the Coverage Checker tool or the Networks/Token endpoints to locate addresses." }
          },
          {
            "@type": "Question",
            "name": "How fast is the data?",
            "acceptedAnswer": { "@type": "Answer", "text": "Collection is near real-time and REST responses reflect the latest indexed blocks. The free tier is served with a short delay and Pro is real time; the current figure is on the DexPaprika pricing page. For push updates, use the SSE streaming API." }
          },
          {
            "@type": "Question",
            "name": "Does DexPaprika offer real-time streaming?",
            "acceptedAnswer": { "@type": "Answer", "text": "Yes. Four SSE feeds: /sse/prices pushes token-price updates, /sse/reserves pushes pool reserve deltas per block in which reserves changed, /sse/transactions pushes individual swaps with USD amounts, and /sse/ohlcv pushes sealed token candles to paid plans on streaming-pro.dexpaprika.com. The first three run on streaming.dexpaprika.com. Prices stream with no API key on 35 showcase assets, one per chain; reserves and transactions need a free API key, which also opens prices on every token." }
          }
      ]
    })}
</script>

<Note>
  **Looking for enterprise solutions?** We offer dedicated support, higher rate limits, and custom features.
  [Contact our team](mailto:support@coinpaprika.com) to learn more.
</Note>
