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

# Get liquidity pool data by address

> Read a DEX pool's price, liquidity, token reserves and buy and sell activity over six time windows from one DexPaprika call. Works without an API key.

`GET /networks/{network}/pools/{pool_address}` returns everything DexPaprika knows about one pool: its two tokens, the reserves of each, total liquidity in USD, the latest price, and volume, swap counts and price change over the last 5 minutes, 15 minutes, 30 minutes, 1 hour, 6 hours and 24 hours. No key is needed:

```bash theme={null}
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640" \
  | jq '{dex_name, liquidity_usd, last_price, last_price_usd, "24h"}'
```

```json theme={null}
{
  "dex_name": "Uniswap V3",
  "liquidity_usd": 85921339.1832129,
  "last_price": 2530.0142189936414,
  "last_price_usd": 2530.833520213569,
  "24h": {
    "last_price_usd_change": 0.9594095356386423,
    "volume_usd": 35066642.89142325,
    "buy_usd": 17271020.509621277,
    "sell_usd": 17795622.38180197,
    "sells": 3021,
    "buys": 2865,
    "txns": 5886
  }
}
```

That is the USDC/WETH pool on Uniswap V3. If you only have a token, find its pools first with [token pools](/tutorials/token-pools), or look one up by name with [search](/tutorials/search).

***

## Which plan you need

The endpoint works 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. How fresh the data is also depends on the plan; see [pricing](https://dexpaprika.com/api/pricing) for the data delay of each one, and get a key in [console.dexpaprika.com](https://console.dexpaprika.com).

<CodeGroup>
  ```bash No key theme={null}
  curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640" \
    | jq '.liquidity_usd'
  ```

  ```bash Dev or Pro key theme={null}
  curl -s -H "Authorization: $DEXPAPRIKA_API_KEY" \
    "https://api-pro.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640" \
    | jq '.liquidity_usd'
  ```
</CodeGroup>

***

## What the response carries

| Field | Meaning |
| - | - |
| `dex_id`, `dex_name` | The DEX the pool lives on |
| `tokens` | Both tokens, with `symbol`, `name`, `decimals` and more |
| `base_token_id`, `quote_token_id` | Which token is priced in which |
| `last_price` | Price of the base token in units of the quote token |
| `last_price_usd` | Price of the base token in USD |
| `token_reserves` | Each token's `reserve` in raw units and `reserve_usd` |
| `liquidity_usd` | Total value locked in the pool, in USD |
| `24h`, `6h`, `1h`, `30m`, `15m`, `5m` | Activity over that window: `volume_usd`, `buys`, `sells`, `txns`, `buy_usd`, `sell_usd` and `last_price_usd_change` |
| `price_stats` | All-time high, `ath`, and its date |
| `created_at`, `created_at_block_number` | When the pool was created |

`last_price_usd_change` is a percentage: `0.96` means the price rose 0.96% over the window. `buys` and `sells` split the swaps by direction, and `buy_usd` plus `sell_usd` add up to `volume_usd`.

### Flip the price with `inversed`

In the pool above the base token is WETH and the quote token is USDC, so `last_price` is about 2,530 USDC per WETH. Add `inversed=true` to price the other token instead:

```bash theme={null}
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640?inversed=true" \
  | jq '{base_token_id, last_price, last_price_usd}'
```

```json theme={null}
{
  "base_token_id": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
  "last_price": 0.000395433967369776,
  "last_price_usd": 1.000222277732714
}
```

Now USDC is the base token: 0.000395 WETH per USDC, about \$1.

***

## A pool summary in Python

This script prints the pool's pair, price, reserves in whole tokens and its activity window by window, in one request:

```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 {}

network = "ethereum"
pool_address = "0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"  # USDC/WETH, Uniswap V3

r = requests.get(f"{API}/networks/{network}/pools/{pool_address}", headers=HEADERS, timeout=30)
r.raise_for_status()
pool = r.json()

tokens = {t["id"]: t for t in pool["tokens"]}
base = tokens[pool["base_token_id"]]["symbol"]
quote = tokens[pool["quote_token_id"]]["symbol"]

print(f"{base}/{quote} on {pool['dex_name']}, liquidity ${pool['liquidity_usd']:,.0f}")
print(f"1 {base} = {pool['last_price']:,.2f} {quote} (${pool['last_price_usd']:,.2f})")
for res in pool["token_reserves"]:
    t = tokens[res["token_id"]]
    amount = res["reserve"] / 10 ** t["decimals"]
    print(f"  {t['symbol']:<6}{amount:>18,.2f}  ${res['reserve_usd']:,.0f}")

print(f"\n{'window':<8}{'volume (USD)':>16}{'swaps':>8}{'buys':>7}{'sells':>7}{'price':>9}")
for window in ("5m", "15m", "30m", "1h", "6h", "24h"):
    w = pool[window]
    print(f"{window:<8}{w['volume_usd']:>16,.0f}{w['txns']:>8,}{w['buys']:>7,}{w['sells']:>7,}"
          f"{w['last_price_usd_change'] or 0:>+8.2f}%")
```

```text theme={null}
WETH/USDC on Uniswap V3, liquidity $85,908,668
1 WETH = 2,525.82 USDC ($2,526.58)
  USDC       63,148,115.42  $63,167,053
  WETH            9,003.60  $22,748,314

window      volume (USD)   swaps   buys  sells    price
5m                49,907       9      5      4   -0.01%
15m              197,137      46     26     20   -0.09%
30m              750,558     121     74     47   -0.33%
1h             2,228,820     326    173    153   -0.66%
6h            10,941,338   1,689    922    767   -1.50%
24h           35,207,639   5,917  2,887  3,030   +0.79%
```

Output from 12 October 2026.

***

## Things to know

**`reserve` is in raw units.** Divide by `10 ** decimals` of that token, as the script does. USDC has 6 decimals and WETH 18, so the raw numbers are not comparable until you do.

**Check which token is the base before you read `last_price`.** The base token is not always the one you think of as "the" token of the pool. Compare `base_token_id` with the address you care about, or set `inversed=true`.

**Some fields can be `null`.** `fee` and the 24h `high_24h` and `low_24h` in `price_stats` were `null` for this pool. Treat any field you do not see above as optional in your code.

**One request, one credit.** Polling a pool every few seconds adds up quickly; see [credit usage](/knowledge-base/credit-usage). For a live view, the [reserves stream](/streaming/reserves-streaming) pushes changes instead.

***

## Where to go next

* [Pool OHLCV](/tutorials/retrieve-historical-data): price history for the same pool
* [Pool transactions](/tutorials/pool-transactions): the individual swaps behind the counts, on Dev and up
* [Pool reference](/api-reference/pools/get-a-pool-on-a-network)
* [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.