> ## 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 your plan and current-period credit usage.

> Returns the plan the request was evaluated against and, for requests
authenticated with an API key on `api-pro.dexpaprika.com`, the account
email plus credits used and remaining in the current billing period.

Without an API key (or on the public host, where keys are ignored) the
response carries the plan only; all other fields are omitted.




## OpenAPI

````yaml /api-reference/openapi.yml get /usage
openapi: 3.1.0
info:
  title: DexPaprika API
  version: 1.0.4
  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.

      ---
    # Rate Limits & Monthly Quota
      Two different limits apply, signalled by distinct status codes:

      - **429 Too Many Requests** — you are sending requests too fast (per-minute limit). Slow down and retry after the number of seconds given in the `Retry-After` header.

      - **402 Payment Required** — your monthly credit allowance is exhausted. Retrying will not help; buy a credit pack, enable overage, or upgrade your plan at [console.dexpaprika.com](https://console.dexpaprika.com).

      Responses include an `X-Api-Plan` header naming the plan the request was evaluated against.

      Call `GET /usage` to check your plan and, when authenticated with an API key on `api-pro.dexpaprika.com`, your current-period credit usage and remaining allowance.

      ---
    # 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:
  /usage:
    get:
      tags:
        - Utils
      summary: Get your plan and current-period credit usage.
      description: |
        Returns the plan the request was evaluated against and, for requests
        authenticated with an API key on `api-pro.dexpaprika.com`, the account
        email plus credits used and remaining in the current billing period.

        Without an API key (or on the public host, where keys are ignored) the
        response carries the plan only; all other fields are omitted.
      operationId: getUsage
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                required:
                  - plan
                properties:
                  plan:
                    type: string
                    description: >-
                      Plan the request was evaluated against (same value as the
                      `X-Api-Plan` header), e.g. `free`, `pro`, `unlimited`.
                  email:
                    type: string
                    description: >-
                      Account email of the API key owner. Omitted for keyless
                      requests or when no email is on file.
                  requests_used:
                    type: integer
                    description: >-
                      Credits consumed in the current billing period, summed
                      across all of the account's keys. Omitted when not
                      applicable.
                  requests_left:
                    type: integer
                    description: >-
                      Credits remaining in the current billing period, including
                      purchased packs and already-charged overage blocks.
                      Omitted when not applicable.
                  period_started_at:
                    type: string
                    format: date-time
                    description: >-
                      Start of the current billing period (calendar month for
                      free-tier keys). Omitted when not applicable.
                  period_ends_at:
                    type: string
                    format: date-time
                    description: >-
                      End of the current billing period. Omitted when not
                      applicable.
              examples:
                with_key:
                  summary: Authenticated with an API key (api-pro)
                  value:
                    plan: pro
                    email: user@example.com
                    requests_used: 1250000
                    requests_left: 3750000
                    period_started_at: '2026-07-12T00:00:00Z'
                    period_ends_at: '2026-08-12T00:00:00Z'
                without_key:
                  summary: No API key
                  value:
                    plan: free
        '402':
          $ref: '#/components/responses/QuotaExceeded'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    QuotaExceeded:
      description: >
        Monthly credit allowance exhausted. Retrying will not help — buy a
        credit pack, enable overage, or upgrade your plan at
        https://console.dexpaprika.com.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            message: >-
              Monthly credit limit reached — buy a credit pack or enable overage
              at https://console.dexpaprika.com.
    RateLimited:
      description: >
        Per-minute rate limit exceeded — slow down and retry after the number of
        seconds given in the `Retry-After` header.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          example:
            message: >-
              Register for a free API key at https://console.dexpaprika.com to
              get 500K credits/month. No credit card required.
  schemas:
    ErrorMessage:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message.

````