> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orca.so/llms.txt
> Use this file to discover all available pages before exploring further.

# API Overview

> Access Orca's public REST API for pool data, token information, and protocol analytics.

# Orca Public API

The Orca Public API provides programmatic access to Whirlpool data, token information, and protocol analytics on Solana.

## Base URL

```
https://api.orca.so/v2/{chain}
```

| Chain  | Base URL                        |
| ------ | ------------------------------- |
| Solana | `https://api.orca.so/v2/solana` |

## Authentication

The Orca Public API is open and does not require authentication for read access.

## Rate Limits

The API implements rate limiting to ensure fair usage. If you receive a `429` status code, reduce your request frequency.

## Response Format

All responses follow a consistent wrapper format with pagination support:

```json theme={"system"}
{
  "data": <object or array>,
  "meta": {
    "next": "<cursor or null>",
    "previous": "<cursor or null>"
  }
}
```

### Pagination

Use cursor-based pagination for large result sets:

| Parameter  | Type    | Description                                             |
| ---------- | ------- | ------------------------------------------------------- |
| `next`     | string  | Cursor for the next page of results                     |
| `previous` | string  | Cursor for the previous page of results                 |
| `size`     | integer | Number of results per page (default varies by endpoint) |

## Time Periods

Many endpoints support time-based statistics. Available periods:

| Period | Description |
| ------ | ----------- |
| `5m`   | 5 minutes   |
| `15m`  | 15 minutes  |
| `30m`  | 30 minutes  |
| `1h`   | 1 hour      |
| `2h`   | 2 hours     |
| `4h`   | 4 hours     |
| `8h`   | 8 hours     |
| `24h`  | 24 hours    |
| `7d`   | 7 days      |
| `30d`  | 30 days     |

## Error Responses

| Status Code | Description                |
| ----------- | -------------------------- |
| `200`       | Success                    |
| `400`       | Invalid request parameters |
| `404`       | Resource not found         |
| `429`       | Rate limit exceeded        |
| `500`       | Internal server error      |

## Quick Examples

<CodeGroup>
  ```bash cURL theme={"system"}
  # Get all pools on Solana
  curl "https://api.orca.so/v2/solana/pools"

  # Search for SOL pools
  curl "https://api.orca.so/v2/solana/pools/search?q=SOL"

  # Get protocol TVL
  curl "https://api.orca.so/v2/solana/protocol"
  ```

  ```typescript TypeScript theme={"system"}
  // Fetch pools with minimum TVL
  const response = await fetch(
    "https://api.orca.so/v2/solana/pools?minTvl=100000&sortBy=tvl&sortDirection=desc"
  );
  const { data, meta } = await response.json();
  ```

  ```python Python theme={"system"}
  import requests

  # Get token information
  response = requests.get("https://api.orca.so/v2/solana/tokens/search", params={"q": "USDC"})
  data = response.json()
  ```
</CodeGroup>

<CardGroup cols={2}>
  <Card title="Whirlpools" icon="water" href="/https/docs.orca.so/api-reference/whirlpools">
    Query pool data, search pools, and get liquidity information
  </Card>

  <Card title="Protocol" icon="chart-line" href="/https/docs.orca.so/api-reference/protocol">
    Access TVL, volume, fees, and ORCA token statistics
  </Card>

  <Card title="Tokens" icon="coins" href="/https/docs.orca.so/api-reference/tokens">
    Search and retrieve token metadata and pricing
  </Card>

  <Card title="Schemas" icon="database" href="/https/docs.orca.so/api-reference/schemas">
    Complete data model reference
  </Card>
</CardGroup>
