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

> Filter and search liquidity pools by volume, transaction count, and creation date with sorting and pagination

# Advanced pool filtering on a specific network.

## Endpoint overview

Filter and search pools on a specific network by volume, transaction count, liquidity, and creation date. Supports sorting and pagination for building screeners, dashboards, and analytics tools.

<Tip>
  See also: [Top pools on a network](/api-reference/pools/get-top-x-pools-on-a-network),
  [Pools by DEX](/api-reference/pools/get-top-x-pools-on-a-networks-dex)
</Tip>

<Warning>
  The `volume_30d_min` and `volume_30d_max` parameters are documented but **not yet functional**. Using them will return empty or zero-value results. These will be enabled in a future update.
</Warning>

### FAQs

<AccordionGroup>
  <Accordion title="How does this differ from the regular pools endpoint?">
    The regular `/networks/{network}/pools` endpoint lists top pools with basic sorting. This endpoint adds range filters (min/max volume, transaction count thresholds, creation date windows) so you can build advanced screeners without client-side filtering.
  </Accordion>

  <Accordion title="What sort fields are available?">
    You can sort by `volume_24h` (default), `volume_7d`, `volume_30d`, `liquidity`, `txns_24h`, or `created_at`. Combine with `sort_dir` (`asc` or `desc`).
  </Accordion>

  <Accordion title="How does pagination work?">
    Pages are 1-indexed. Set `limit` (1-100, default 50) and increment `page`. The response includes `page_info` with `total_items` and `total_pages` so you know when to stop.
  </Accordion>

  <Accordion title="Can I combine multiple filters?">
    Yes. All filter parameters are combined with AND logic. For example, `volume_24h_min=100000&txns_24h_min=50&created_after=1709251200` returns only pools matching all three conditions.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {JSON.stringify({
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {"@type": "Question","name": "How does this differ from the regular pools endpoint?","acceptedAnswer": {"@type": "Answer","text": "This endpoint adds range filters (volume, transactions, creation date) for building advanced screeners without client-side filtering."}},
        {"@type": "Question","name": "What sort fields are available?","acceptedAnswer": {"@type": "Answer","text": "Sort by volume_24h, volume_7d, volume_30d, liquidity, txns_24h, or created_at with asc or desc direction."}},
        {"@type": "Question","name": "How does pagination work?","acceptedAnswer": {"@type": "Answer","text": "Pages are 1-indexed. Set limit (1-100) and increment page. The response includes total_items and total_pages."}},
        {"@type": "Question","name": "Can I combine multiple filters?","acceptedAnswer": {"@type": "Answer","text": "Yes. All filters use AND logic so only pools matching every condition are returned."}}
      ]
    })}
</script>


## OpenAPI

````yaml get /networks/{network}/pools/filter
openapi: 3.1.0
info:
  title: DexPaprika API
  version: 1.0.2
  description: >
    # Introduction
      Welcome to the DexPaprika API! This product is developed by [CoinPaprika](https://coinpaprika.com).

      Our API enables developers to query token, pool, and DEX data across multiple blockchain networks. Feel free to explore our endpoints below.

      **Important:** This API is currently in beta and **should not be used in critical solutions or features**, as the service is under active development. We reserve the right to introduce changes or break backward compatibility.

      ---
    # Getting Started

    ## Testing the API - Code Snippets

    The snippets below show how to quickly make a **GET** request. Since this is
    a **public beta** (no API key needed), you can simply call the endpoints
    directly.


    > **Note**: If you see CORS issues in a browser, you may need to call these
    endpoints from a backend server to avoid local browser restrictions.


    ### 1. cURL


    ```bash

    curl -X GET "https://api.dexpaprika.com/networks/ethereum/pools" | jq

    ```

    ### 2. Node.js (JavaScript)

    ```js

    const https = require('https');


    const options = {
      hostname: 'api.dexpaprika.com',
      path: '/networks/ethereum/pools',
      method: 'GET',
    };


    const req = https.request(options, res => {
      let data = '';
      res.on('data', chunk => { data += chunk; });
      res.on('end', () => { console.log(JSON.parse(data)); });
    });


    req.on('error', error => { console.error(error); });

    req.end();

    ```


    ### 3. Python

    ```python

    import requests


    url = "https://api.dexpaprika.com/networks/ethereum/pools"


    response = requests.get(url)

    if response.status_code == 200:
        print(response.json())
    else:
        print(f"Error: {response.status_code} -> {response.text}")
    ```

    ### 4. PHP

    ```php

    <?php

    $curl = curl_init();


    curl_setopt_array($curl, array(
      CURLOPT_URL => "https://api.dexpaprika.com/networks/ethereum/pools",
      CURLOPT_RETURNTRANSFER => true
    ));


    $response = curl_exec($curl);


    if(curl_errno($curl)) {
      echo "Error: " . curl_error($curl);
    } else {
      echo $response;
    }


    curl_close($curl);

    ?>

    ```


    ### 5. Java

    ```java

    import java.io.*;

    import java.net.HttpURLConnection;

    import java.net.URL;


    public class DexPaprikaExample {
        public static void main(String[] args) {
            try {
                URL url = new URL("https://api.dexpaprika.com/networks/ethereum/pools");
                HttpURLConnection con = (HttpURLConnection) url.openConnection();
                con.setRequestMethod("GET");
                int responseCode = con.getResponseCode();
                try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()))) {
                    String inputLine;
                    StringBuilder content = new StringBuilder();
                    while ((inputLine = in.readLine()) != null) {
                        content.append(inputLine);
                    }
                    if (responseCode == 200) {
                        System.out.println(content.toString());
                    } else {
                        System.out.println("Error: " + responseCode);
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    ```


    ### 6. Go

    ```go

    package main


    import (
        "fmt"
        "io/ioutil"
        "log"
        "net/http"
    )


    func main() {
        client := &http.Client{}
        req, err := http.NewRequest("GET", "https://api.dexpaprika.com/networks/ethereum/pools", nil)
        if err != nil {
            log.Fatal(err)
        }

        resp, err := client.Do(req)
        if err != nil {
            log.Fatal(err)
        }
        defer resp.Body.Close()

        body, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            log.Fatal(err)
        }

        if resp.StatusCode == http.StatusOK {
            fmt.Println(string(body))
        } else {
            fmt.Printf("Error: %d -> %s\n", resp.StatusCode, body)
        }
    }

    ```


    ### 7. C#

    ```csharp

    using System;

    using System.Net.Http;

    using System.Threading.Tasks;


    class Program

    {
        static async Task Main()
        {
            using var client = new HttpClient();
            var url = "https://api.dexpaprika.com/networks/ethereum/pools";
            
            var response = await client.GetAsync(url);
            
            if (response.IsSuccessStatusCode)
            {
                var content = await response.Content.ReadAsStringAsync();
                Console.WriteLine(content);
            }
            else
            {
                Console.WriteLine($"Error: {response.StatusCode}");
            }
        }
    }

    ```


    ## Feedback & Next Steps

    1. **Test** any of the snippets above.  

    2. **Explore** our other endpoints in this documentation.   

    3. **Share** your feedback with us at
    [support@coinpaprika.com](mailto:support@coinpaprika.com).

    4. If you want implement our API into your project or simply discuss
    possible collaboration, please reach out to msroka@coinpaprika.com.

    ---
  contact:
    name: CoinPaprika Support
    email: support@coinpaprika.com
    url: https://coinpaprika.com
  license:
    name: Proprietary
    url: https://dexpaprika.com/terms
servers:
  - url: https://api.dexpaprika.com
    description: Production server
security: []
tags:
  - name: Networks
    description: Endpoints for retrieving information about supported blockchain networks
  - name: DEXes
    description: Endpoints for retrieving information about decentralized exchanges
  - name: Pools
    description: Endpoints for retrieving information about liquidity pools
  - name: Tokens
    description: Endpoints for retrieving information about tokens
  - name: Search
    description: Endpoints for searching across tokens, pools, and DEXes
  - name: Utils
    description: Utility endpoints for system metadata
paths:
  /networks/{network}/pools/filter:
    get:
      tags:
        - Pools
      summary: Advanced pool filtering on a specific network.
      description: >
        Retrieves a paginated list of pools matching the advanced search
        criteria, 

        such as 24-hour volume, transaction counts, and creation timestamps.
      operationId: filterNetworkPools
      parameters:
        - $ref: '#/components/parameters/networkParam'
        - $ref: '#/components/parameters/pageParam'
        - name: limit
          in: query
          schema:
            type: integer
            default: 50
            minimum: 1
            maximum: 100
          description: Number of items to return per page (max 100).
        - name: volume_24h_min
          in: query
          schema:
            type: number
          description: Minimum 24-hour volume in USD.
        - name: volume_24h_max
          in: query
          schema:
            type: number
          description: Maximum 24-hour volume in USD.
        - name: volume_7d_min
          in: query
          schema:
            type: number
          description: Minimum 7-day volume in USD.
        - name: volume_7d_max
          in: query
          schema:
            type: number
          description: Maximum 7-day volume in USD.
        - name: volume_30d_min
          in: query
          schema:
            type: number
          description: Minimum 30-day volume in USD. Not supported currently.
        - name: volume_30d_max
          in: query
          schema:
            type: number
          description: Maximum 30-day volume in USD. Not supported currently.
        - name: liquidity_usd_min
          in: query
          schema:
            type: number
          description: Minimum pool liquidity in USD.
        - name: liquidity_usd_max
          in: query
          schema:
            type: number
          description: Maximum pool liquidity in USD.
        - name: txns_24h_min
          in: query
          schema:
            type: integer
          description: Minimum number of transactions in the last 24 hours.
        - name: created_after
          in: query
          schema:
            type: integer
          description: Filters for pools created after this UNIX timestamp.
        - name: created_before
          in: query
          schema:
            type: integer
          description: Filters for pools created before this UNIX timestamp.
        - name: sort_by
          in: query
          schema:
            type: string
            enum:
              - volume_24h
              - volume_7d
              - volume_30d
              - liquidity
              - txns_24h
              - created_at
            default: volume_24h
          description: Field by which to sort the returned data.
        - name: sort_dir
          in: query
          schema:
            type: string
            enum:
              - asc
              - desc
          description: Sort direction (ascending or descending).
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolFilterResponse'
        '400':
          description: Invalid search query parameters.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: invalid search query parameters
        '404':
          description: Network not found.
        '500':
          description: Internal search error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: internal search error
components:
  parameters:
    networkParam:
      name: network
      in: path
      required: true
      schema:
        type: string
      description: >-
        Network slug or ID (e.g., 'solana'). You can find the list of supported
        networks with their IDs here: [/networks](/api-reference/networks).
      example: solana
    pageParam:
      name: page
      in: query
      schema:
        type: integer
        minimum: 0
        maximum: 1000
      description: Zero-based page index for paginated results.
  schemas:
    PoolFilterResponse:
      type: object
      description: The paginated response containing pools that match the search criteria.
      properties:
        results:
          type: array
          description: An array of pool search results.
          items:
            $ref: '#/components/schemas/PoolSearchResult'
        page_info:
          type: object
          description: Pagination details for the current response.
          properties:
            limit:
              type: integer
            page:
              type: integer
            total_items:
              type: integer
            total_pages:
              type: integer
    PoolSearchResult:
      type: object
      description: >-
        A single pool matching the advanced search criteria, enriched with
        real-time tokens and price data.
      allOf:
        - $ref: '#/components/schemas/PoolWithPrices'
        - type: object
          properties:
            volume_usd_7d:
              type: number
              description: The trading volume over the last 7 days in USD.
              example: 732198450.56
            liquidity_usd:
              type: number
              description: The current total liquidity in the pool in USD.
              example: 1523004.5
    PoolWithPrices:
      type: object
      description: >-
        Information about a specific liquidity pool, including price and volume
        data.
      properties:
        id:
          type: string
          description: Unique identifier or address of the pool.
        dex_id:
          type: string
          description: Identifier of the DEX where this pool resides.
        dex_name:
          type: string
          description: Human-readable DEX name (e.g., "Uniswap V3").
        chain:
          type: string
          description: >-
            The blockchain network this pool resides on (e.g., "ethereum",
            "solana").
        created_at_block_number:
          type: number
          description: Block number at which this pool was created.
        created_at:
          type: string
          format: date-time
          description: >-
            Timestamp (ISO-8601) indicating when the pool was created or
            recorded.
        volume_usd:
          type: number
          description: >-
            The total USD volume in this pool over a certain period
            (context-specific).
        transactions:
          type: number
          description: The total number of transactions involving this pool.
        price_usd:
          type: number
          description: >-
            Current price in USD (often representing a ratio of two tokens in
            the pool).
        last_price_change_usd_5m:
          type: number
          description: USD price change over the last 5 minutes as a percentage.
        last_price_change_usd_1h:
          type: number
          description: USD price change over the last 1 hour as a percentage.
        last_price_change_usd_24h:
          type: number
          description: USD price change over the last 24 hours as a percentage.
        fee:
          type:
            - number
            - 'null'
          description: >-
            Trading fee (e.g., 0.3 for 0.3%) associated with this pool. Null
            indicates fee information is not collected.
        tokens:
          type: array
          description: The tokens participating in this liquidity pool.
          items:
            items:
              allOf:
                - $ref: '#/components/schemas/Token'
                - type: object
                  properties:
                    fdv:
                      type: number
                      description: Fully diluted valuation of token.
    Token:
      type: object
      description: Essential information for a token, including metadata and status.
      properties:
        id:
          type: string
          description: Internal or canonical ID for the token (e.g., "usdc-usd-coin").
        name:
          type: string
          description: Human-readable name of the token (e.g., "USD Coin").
        symbol:
          type: string
          description: Ticker symbol of the token (e.g., "USDC").
        chain:
          type: string
          description: >-
            Blockchain network where the token exists (e.g., "ethereum",
            "solana").
        decimals:
          type: number
          description: Decimal precision of the token (e.g., 6 for USDC).
        total_supply:
          type: number
          description: Total supply of the token.
        description:
          type: string
          description: >-
            A detailed overview of the token's purpose, use cases, or
            background.
        website:
          type: string
          description: Official website URL for the token/project.
        telegram:
          type: string
          description: Official Telegram URL for the token/project.
        twitter:
          type: string
          description: Official Twitter URL for the token/project.
        explorer:
          type: string
          description: Link to a block explorer or analytics page for this token.
        has_image:
          type: boolean
          description: Indicates whether the token has an associated image/logo.
        added_at:
          type: string
          format: date-time
          description: When the token was added to the system.
        fdv:
          type: number
          description: Fully diluted valuation of the token.
        last_updated:
          type: string
          format: date-time
          description: When the token data was last updated.
        summary:
          $ref: '#/components/schemas/TokenSummary'
      example:
        id: usdc-usd-coin
        name: USD Coin
        symbol: USDC
        type: token
        status: Working product.
        decimals: 6
        description: >-
          True financial interoperability requires a price stable means of value
          exchange...
        website: https://www.centre.io/usdc
        explorer: https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
    TokenSummary:
      type: object
      description: >
        A comprehensive summary of token-related metrics, including price,
        liquidity, and transaction volumes across various time intervals.
      properties:
        price_usd:
          type: number
          description: Current price of the token in USD.
        fdv:
          type: number
          description: Fully diluted valuation of token.
        liquidity_usd:
          type: number
          description: Total liquidity (in USD) across all pools for this token.
        pools:
          type: number
          description: Total number of pools that include the given token.
        24h:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        6h:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        1h:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        30m:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        15m:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        5m:
          $ref: '#/components/schemas/TimeIntervalMetrics'
        1m:
          $ref: '#/components/schemas/TimeIntervalMetrics'
      example:
        price_usd: 125.67
        fdv: 12567
        liquidity_usd: 5000000
        pools: 5
        24h:
          volume: 100000
          volume_usd: 102000
          buy_usd: 50000
          sell_usd: 52000
          sells: 150
          buys: 180
          txns: 330
          last_price_usd_change: 50
        6h:
          volume: 25000
          volume_usd: 25500
          sells: 45
          buys: 50
          buy_usd: 12500
          sell_usd: 13000
          txns: 95
          last_price_usd_change: 10
        1h:
          volume: 5000
          volume_usd: 5100
          buy_usd: 2500
          sell_usd: 2600
          sells: 10
          buys: 15
          txns: 25
          last_price_usd_change: 2
        30m:
          volume: 2500
          volume_usd: 2550
          buy_usd: 1250
          sell_usd: 1300
          sells: 5
          buys: 8
          txns: 13
          last_price_usd_change: 1
        15m:
          volume: 1250
          volume_usd: 1275
          buy_usd: 675
          sell_usd: 700
          sells: 2
          buys: 4
          txns: 6
          last_price_usd_change: 0.5
        5m:
          volume: 500
          volume_usd: 510
          buy_usd: 250
          sell_usd: 260
          sells: 1
          buys: 1
          txns: 2
          last_price_usd_change: -0.5
        1m:
          volume: 100
          volume_usd: 102
          buy_usd: 50
          sell_usd: 52
          sells: 1
          buys: 0
          txns: 1
          last_price_usd_change: 0
    TimeIntervalMetrics:
      type: object
      description: >
        Transaction and volume metrics for a specific time interval (e.g., 24h,
        1h, 15m).
      properties:
        volume:
          type: number
          description: >-
            Total trading volume in the token's native currency for the
            interval.
        volume_usd:
          type: number
          description: Total trading volume in USD for the interval.
        buy_usd:
          type: number
          description: Total USD value of buy transactions during the interval.
        sell_usd:
          type: number
          description: Total USD value of sell transactions during the interval.
        sells:
          type: integer
          description: Number of sell transactions during the interval.
        buys:
          type: integer
          description: Number of buy transactions during the interval.
        txns:
          type: integer
          description: Total number of transactions during the interval.
        last_price_usd_change:
          type: number
          description: >-
            The percentage change between the current price and the price from
            the given interval.

````