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

# DexPaprika Pro API - Enterprise REST API

> Enterprise-grade DEX and on-chain data with dedicated infrastructure, no rate limits, and priority support. Secure access via API key authentication.

<Note>
  **Are you using the free API?** The standard DexPaprika API at `api.dexpaprika.com` is available for everyone. This Pro API is for enterprise customers who need higher performance, no rate limits, and dedicated support.
</Note>

## What is the Pro API?

The DexPaprika Pro API provides the same comprehensive DEX and on-chain data as our free API, but with enterprise-grade infrastructure and benefits:

<CardGroup cols={2}>
  <Card title="No Rate Limits" icon="infinity">
    Unlimited requests to support high-volume applications and data pipelines
  </Card>

  <Card title="Dedicated Infrastructure" icon="server">
    Separate infrastructure ensuring consistent performance and availability
  </Card>

  <Card title="Priority Support" icon="headset">
    Direct access to our engineering team for technical assistance
  </Card>

  <Card title="API Key Authentication" icon="key">
    Secure access control and usage tracking for your organization
  </Card>
</CardGroup>

***

## Getting started

### 1. Get your API key

<Warning>
  Pro API access requires an enterprise subscription. [Contact our team](mailto:support@coinpaprika.com) to get started.
</Warning>

To obtain a Pro API key:

<Card title="Contact Enterprise Sales" icon="envelope" href="mailto:support@coinpaprika.com">
  Email [support@coinpaprika.com](mailto:support@coinpaprika.com) to discuss enterprise options and receive your API key
</Card>

### 2. Authentication

All Pro API requests require authentication via the `Authorization` header:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api-pro.dexpaprika.com/networks/ethereum/pools" \
      -H "Content-Type: application/json" \
      -H "Authorization: api_YOUR_API_KEY_HERE"
  ```

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

  headers = {
      "Content-Type": "application/json",
      "Authorization": "api_YOUR_API_KEY_HERE"
  }

  response = requests.get(
      "https://api-pro.dexpaprika.com/networks/ethereum/pools",
      headers=headers
  )
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const headers = {
    'Content-Type': 'application/json',
    'Authorization': 'api_YOUR_API_KEY_HERE'
  };

  fetch('https://api-pro.dexpaprika.com/networks/ethereum/pools', {
    headers: headers
  })
    .then(response => response.json())
    .then(data => console.log(data));
  ```

  ```go Go theme={null}
  package main

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

  func main() {
      req, _ := http.NewRequest("GET", "https://api-pro.dexpaprika.com/networks/ethereum/pools", nil)
      req.Header.Set("Content-Type", "application/json")
      req.Header.Set("Authorization", "api_YOUR_API_KEY_HERE")

      client := &http.Client{}
      resp, _ := client.Do(req)
      defer resp.Body.Close()

      body, _ := io.ReadAll(resp.Body)
      fmt.Println(string(body))
  }
  ```
</CodeGroup>

### 3. API key format

Your API key will follow this format:

```
api_your_personal_api_key
```

Always prefix your key with `api_` when using it in the Authorization header.

***

## Differences from Free API

| Feature            | Free API                     | Pro API                          |
| ------------------ | ---------------------------- | -------------------------------- |
| **Base URL**       | `https://api.dexpaprika.com` | `https://api-pro.dexpaprika.com` |
| **Authentication** | None required                | API key required                 |
| **Rate Limits**    | 10,000 requests/day          | No limits                        |
| **Infrastructure** | Shared                       | Dedicated                        |
| **Support**        | Community                    | Priority enterprise support      |
| **Endpoints**      | All endpoints                | All endpoints                    |

<Tip>
  All endpoints available in the free API are also available in the Pro API. Simply replace the base URL and add authentication.
</Tip>

***

## Quick start example

Let's fetch Solana SOL token data using the Pro API:

<Steps>
  <Step title="Prepare your request">
    Replace `YOUR_API_KEY_HERE` with your actual API key:

    ```bash theme={null}
    curl -X GET "https://api-pro.dexpaprika.com/networks/solana/tokens/So11111111111111111111111111111111111111112" \
        -H "Content-Type: application/json" \
        -H "Authorization: api_YOUR_API_KEY_HERE"
    ```
  </Step>

  <Step title="Receive the response">
    You'll get the same comprehensive data as the free API:

    ```json Response [expandable] theme={null}
    {
      "id": "So11111111111111111111111111111111111111112",
      "name": "Wrapped SOL",
      "symbol": "SOL",
      "chain": "solana",
      "decimals": 9,
      "total_supply": 0,
      "has_image": true,
      "summary": {
        "price_usd": 165.0363416231933,
        "fdv": 21277129298.9034355594499,
        "liquidity_usd": 21277129298.9034355594499,
        "pools": 12543,
        "24h": {
          "volume": 18207227.90283451,
          "volume_usd": 3172926820.723157,
          "sells": 11953376,
          "buys": 8641848,
          "txns": 20595327,
          "buy_usd": 1586463410.3615785,
          "sell_usd": 1586463410.3615785,
          "last_price_usd_change": 2.5
        }
      }
    }
    ```
  </Step>
</Steps>

***

## Error handling

### Authentication errors

<AccordionGroup>
  <Accordion title="403 Forbidden - Missing or invalid API key">
    **Error response:**

    ```json theme={null}
    {
      "message": "Forbidden"
    }
    ```

    **Solution:** Ensure you're including the `Authorization` header with a valid API key in the format `api_YOUR_KEY`.
  </Accordion>

  <Accordion title="401 Unauthorized - Malformed API key">
    **Error response:**

    ```json theme={null}
    {
      "message": "Unauthorized"
    }
    ```

    **Solution:** Check that your API key follows the correct format: `api_` prefix followed by your key string.
  </Accordion>
</AccordionGroup>

### Other errors

All other error codes match the [standard DexPaprika API](/api-reference/introduction):

* `400 Bad Request` - Invalid parameters
* `404 Not Found` - Resource not found
* `500 Internal Server Error` - Server error

***

## Available endpoints

The Pro API provides access to all DexPaprika endpoints:

<CardGroup cols={2}>
  <Card title="Tokens" icon="coins" href="/api-reference/tokens/get-a-tokens-latest-data-on-a-network">
    Get detailed token information including price, liquidity, and trading volume
  </Card>

  <Card title="Pools" icon="water" href="/api-reference/pools/get-a-pool-on-a-network">
    Access liquidity pool data and trading statistics
  </Card>

  <Card title="Networks" icon="globe" href="/api-reference/networks/get-a-list-of-available-blockchain-networks">
    List all supported blockchain networks
  </Card>

  <Card title="Pool Transactions" icon="arrow-right-arrow-left" href="/api-reference/pools/get-transactions-of-a-pool-on-a-network-paging-can-be-used-up-to-100-pages">
    Query swap transactions, adds, and removes
  </Card>

  <Card title="Search" icon="magnifying-glass" href="/api-reference/search/search-for-tokens-pools-and-dexes">
    Search across tokens, pools, and DEXes
  </Card>

  <Card title="Batched Prices" icon="layer-group" href="/api-reference/tokens/get-batched-token-prices-on-a-network">
    Retrieve multiple token prices in a single request
  </Card>
</CardGroup>

<Note>
  View complete API documentation in the [REST API Reference](/api-reference/introduction) section. All examples use the free API URL - simply replace with `api-pro.dexpaprika.com` and add authentication.
</Note>

***

## Migration guide

Migrating from the free API to Pro API is straightforward:

<Steps>
  <Step title="Update base URL">
    Replace all instances of:

    ```
    https://api.dexpaprika.com
    ```

    With:

    ```
    https://api-pro.dexpaprika.com
    ```
  </Step>

  <Step title="Add authentication header">
    Add the `Authorization` header to every request:

    ```javascript theme={null}
    headers: {
      'Authorization': 'api_YOUR_API_KEY_HERE'
    }
    ```
  </Step>

  <Step title="Remove rate limiting logic (optional)">
    Since Pro API has no rate limits, you can remove any throttling or rate limiting code from your application.
  </Step>

  <Step title="Test your integration">
    Make test requests to verify your API key works correctly and you're receiving expected responses.
  </Step>
</Steps>

***

## Best practices

<AccordionGroup>
  <Accordion title="Secure your API key" icon="lock">
    **Never expose your API key in client-side code or public repositories.**

    * Store API keys in environment variables or secure vaults (e.g., AWS Secrets Manager, HashiCorp Vault)
    * Use `.env` files locally and add them to `.gitignore`
    * Rotate keys periodically as part of security best practices
    * Never hardcode keys in your application source code

    ```bash Example .env file theme={null}
    DEXPAPRIKA_PRO_API_KEY=api_your_personal_api_key
    ```
  </Accordion>

  <Accordion title="Monitor your API usage" icon="chart-line">
    **Track your API usage to optimize performance and identify issues early.**

    * Log all API requests and responses for debugging
    * Set up monitoring dashboards to track request volumes
    * Monitor response times and error rates
    * Alert on unusual patterns or spikes in traffic
    * Review usage patterns to optimize your integration
  </Accordion>

  <Accordion title="Implement robust error handling" icon="triangle-exclamation">
    **Always handle authentication errors gracefully and implement retry logic.**

    * Catch and handle 403/401 errors separately from other errors
    * Implement exponential backoff for transient failures
    * Don't retry on authentication errors - fix the key instead
    * Log errors with context for easier troubleshooting
    * Provide meaningful error messages to end users

    ```javascript Example error handling theme={null}
    try {
      const response = await fetch(url, { headers });
      if (response.status === 403) {
        console.error('Invalid API key - check your credentials');
        // Don't retry - fix the key
        return;
      }
      // Handle other errors with retry logic
    } catch (error) {
      console.error('Request failed:', error);
    }
    ```
  </Accordion>

  <Accordion title="Use connection pooling" icon="plug">
    **Reuse HTTP connections to reduce latency and improve throughput.**

    * Configure HTTP clients to reuse connections
    * Set appropriate connection pool sizes (e.g., 10-50 connections)
    * Enable keep-alive headers
    * Use persistent connections for high-volume applications
    * Monitor connection pool metrics

    ```python Example with Python requests theme={null}
    import requests
    from requests.adapters import HTTPAdapter

    session = requests.Session()
    adapter = HTTPAdapter(pool_connections=20, pool_maxsize=20)
    session.mount('https://', adapter)

    # Reuse session for all requests
    response = session.get(url, headers=headers)
    ```
  </Accordion>
</AccordionGroup>

***

## Next steps

<CardGroup cols={2}>
  <Card title="REST API Reference" icon="book" href="/api-reference/introduction">
    Explore all available endpoints and their parameters
  </Card>

  <Card title="Streaming API" icon="signal-stream" href="/streaming/streaming-token-prices">
    Real-time token price updates via Server-Sent Events
  </Card>

  <Card title="Tutorials" icon="graduation-cap" href="/tutorials/tutorial_intro">
    Learn how to build applications with DexPaprika
  </Card>

  <Card title="Coverage Checker" icon="magnifying-glass-chart" href="/tools/coverage-checker">
    Check which tokens and pools are available in our database
  </Card>
</CardGroup>

***

## Get support

<CardGroup cols={2}>
  <Card title="Enterprise Support" icon="headset" href="mailto:support@coinpaprika.com">
    Get priority technical support from our engineering team
  </Card>

  <Card title="Join Discord" icon="discord" href="https://discord.gg/DhJge5TUGM">
    Connect with our community for general questions
  </Card>
</CardGroup>

***

## FAQs

<AccordionGroup>
  <Accordion title="How do I get a Pro API key?">
    Contact our enterprise sales team at [support@coinpaprika.com](mailto:support@coinpaprika.com) to discuss subscription options and receive your API key.
  </Accordion>

  <Accordion title="Can I use both free and Pro API simultaneously?">
    Yes, you can use both APIs in the same application. The free API requires no authentication, while the Pro API requires your API key.
  </Accordion>

  <Accordion title="Are there really no rate limits?">
    Correct. The Pro API has no rate limits, allowing you to make as many requests as needed for your application.
  </Accordion>

  <Accordion title="What happens if my API key is compromised?">
    Contact [support@coinpaprika.com](mailto:support@coinpaprika.com) immediately to revoke your current key and receive a new one.
  </Accordion>

  <Accordion title="Do you offer dedicated infrastructure or on-premise deployment?">
    Yes, we can provide custom infrastructure solutions for enterprise customers. Contact our sales team to discuss your specific requirements.
  </Accordion>

  <Accordion title="Is the data the same as the free API?">
    Yes, both APIs provide access to the same comprehensive DEX and on-chain data. The Pro API offers better performance and no rate limits.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {JSON.stringify({
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [
        {"@type": "Question","name": "How do I get a Pro API key?","acceptedAnswer": {"@type": "Answer","text": "Contact our enterprise sales team at support@coinpaprika.com to discuss subscription options and receive your API key."}},
        {"@type": "Question","name": "Can I use both free and Pro API simultaneously?","acceptedAnswer": {"@type": "Answer","text": "Yes, you can use both APIs in the same application. The free API requires no authentication, while the Pro API requires your API key."}},
        {"@type": "Question","name": "Are there really no rate limits?","acceptedAnswer": {"@type": "Answer","text": "Correct. The Pro API has no rate limits, allowing you to make as many requests as needed for your application."}},
        {"@type": "Question","name": "What happens if my API key is compromised?","acceptedAnswer": {"@type": "Answer","text": "Contact support@coinpaprika.com immediately to revoke your current key and receive a new one."}},
        {"@type": "Question","name": "Do you offer dedicated infrastructure or on-premise deployment?","acceptedAnswer": {"@type": "Answer","text": "Yes, we can provide custom infrastructure solutions for enterprise customers. Contact our sales team to discuss your specific requirements."}},
        {"@type": "Question","name": "Is the data the same as the free API?","acceptedAnswer": {"@type": "Answer","text": "Yes, both APIs provide access to the same comprehensive DEX and on-chain data. The Pro API offers better performance and no rate limits."}}
      ]
    })}
</script>
