# Pyth Network API
> Live cross-asset prices from Pyth, the largest decentralised first-party oracle, which aggregates prices contributed by exchanges, market makers and trading firms and serves them across 90+ blockchains. Pyth covers far more than crypto: around 3,000 feeds spanning crypto, US and global equities, FX pairs, commodities and precious metals. The feeds endpoint searches the feed registry by symbol or asset type; the price endpoint returns one feed's latest aggregate price with its confidence interval, exponent, EMA price and publish time; the prices endpoint returns many feeds at once. Each price carries a confidence band — Pyth's signature measure of how tightly publishers agree. Read live from Pyth, nothing stored. This is Pyth's own multi-asset first-party oracle layer — distinct from single-DEX oracles and single-asset-class price feeds.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/pyth-api/..."
```

## Pricing
- **Free** (Free) — 2,500 calls/Mo, 3 req/s
- **Starter** ($10/Mo) — 65,000 calls/Mo, 15 req/s
- **Pro** ($29/Mo) — 350,000 calls/Mo, 40 req/s
- **Scale** ($66/Mo) — 2,100,000 calls/Mo, 120 req/s

## Endpoints

### Price

#### `GET /v1/price` — One feed's latest aggregate price

**Parameters:**
- `symbol` (query, required, string) — Feed symbol or id Example: `BTC/USD`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pyth-api/v1/price?symbol=BTC%2FUSD"
```

**Response:**
```json
{
    "data": {
        "id": "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
        "base": "BTC",
        "expo": -8,
        "price": 61369.9,
        "quote": "USD",
        "source": "Pyth Network",
        "symbol": "BTC/USD",
        "ema_price": 61432.82,
        "asset_type": "Crypto",
        "confidence": 21.27,
        "publish_time": "2026-06-10T22:57:06.000Z"
    },
    "meta": {
        "timestamp": "2026-06-10T22:57:09.557Z",
        "request_id": "d7d7a561-0e13-49cf-b5a8-9b12573d332d"
    },
    "status": "ok",
    "message": "Price retrieved successfully",
    "success": true
}
```

### Prices

#### `GET /v1/prices` — Many feeds at once

**Parameters:**
- `symbols` (query, required, string) — Comma-separated symbols Example: `BTC/USD,ETH/USD,EUR/USD,XAU/USD`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pyth-api/v1/prices?symbols=BTC%2FUSD%2CETH%2FUSD%2CEUR%2FUSD%2CXAU%2FUSD"
```

**Response:**
```json
{
    "data": {
        "count": 4,
        "prices": [
            {
                "id": "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
                "base": "BTC",
                "expo": -8,
                "price": 61364.06,
                "quote": "USD",
                "symbol": "BTC/USD",
                "ema_price": 61432.82,
                "asset_type": "Crypto",
                "confidence": 20.32,
                "publish_time": "2026-06-10T22:57:06.000Z"
            },
            {
                "id": "ff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace",
                "base": "ETH",
                "expo": -8,
                "price": 1616.79,
                "quote": "USD",
                "symbol": "ETH/USD",
                "ema_price": 1616.52,
                "asset_type": "Crypto",
                "confidence": 0.8,
                "publish_time": "2026-06-10T22:57:06.000Z"
            },
            {
                "id": "a995d00bb36a63cef7fd2c287dc105fc8f3d93779f062f09551b0af3e81ec30b",
                "base": "EUR",
                "expo": -5,
                "price": 1.1533,
                "quote": "USD",
                "symbol": "EUR/USD",
                "ema_price": 1.1535,
                "asset_type": "FX",
                "confidence": 0.0001,
                "publish_time": "2026-06-10T22:57:06.000Z"
            },
            {
                "id": "765d2ba906dbc32ca17cc11f5310a89e9ee1f6420508c63
…(truncated, see openapi.json for full schema)
```

### Feeds

#### `GET /v1/feeds` — Search the feed registry

**Parameters:**
- `query` (query, optional, string) — Symbol or base search Example: `BTC`
- `asset_type` (query, optional, string) — Crypto, Equity, FX, Commodities, Metal Example: `Crypto`
- `limit` (query, optional, string) — Max results (1-500) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pyth-api/v1/feeds?query=BTC&asset_type=Crypto&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 13,
        "feeds": [
            {
                "id": "8f257aab6e7698bb92b15511915e593d6f8eae914452f781874754b03d0c612b",
                "base": "LBTC",
                "quote": "USD",
                "symbol": "LBTC/USD",
                "asset_type": "Crypto",
                "full_symbol": "Crypto.LBTC/USD"
            },
            {
                "id": "6665073f5bc307b97e68654ff11f3d8875abd6181855814d23ab01b8085c0906",
                "base": "MBTC",
                "quote": "USD",
                "symbol": "MBTC/USD",
                "asset_type": "Crypto",
                "full_symbol": "Crypto.MBTC/USD"
            },
            {
                "id": "e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43",
                "base": "BTC",
                "quote": "USD",
                "symbol": "BTC/USD",
                "asset_type": "Crypto",
                "full_symbol": "Crypto.BTC/USD"
            },
            {
                "id": "be3dd0cf4a168f82e4912952b24420211ad52641b7365d49866d59e20c948288",
                "base": "EBTC",
                "quote": "USD",
                "symbol": "EBTC/USD",
                "asset_type": "Crypto",
                "full_symbol": "Crypto.EBTC/USD"
            },
            {
                "id": "c96458d393fe9deb7a7d63a0ac41e2898a67a7750dbd166673279e06c868df0a",
                "base": "ETH",
                "quote": "BTC",
                "symbol": "ETH/BTC",
   
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pyth-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "source": "Pyth Hermes API (hermes.pyth.network, live)",
        "service": "pyth-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/feeds": "Search the feed registry by symbol or asset type (query=BTC, asset_type=Crypto, limit=50).",
            "GET /v1/price": "One feed's latest aggregate price with confidence, EMA and publish time (symbol=BTC/USD).",
            "GET /v1/prices": "Many feeds at once (symbols=BTC/USD,ETH/USD,EUR/USD,XAU/USD)."
        },
        "feed_count": 3055,
        "asset_types": [
            "Crypto",
            "Equity",
            "FX",
            "Commodities",
            "Metal",
            "Rates"
        ],
        "description": "Live cross-asset prices from Pyth, the largest decentralised first-party oracle, which aggregates prices contributed by exchanges, market makers and trading firms and serves them across 90+ blockchains. Pyth covers far more than crypto: ~3,000 feeds spanning crypto, US and global equities, FX pairs, commodities and precious metals. The feeds endpoint searches the feed registry by symbol or asset type; the price endpoint returns one feed's latest aggregate price with its confidence interval, exponent, EMA price and publish time; the prices endpoint returns many feeds at once. Each price carries a confidence band — Pyth's signature measure of how tightly publishers agree. Live, no key, nothing stored. Distinct from single-DEX oracles and sin
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/pyth-api
OpenAPI spec: https://www.oanor.com/api/pyth-api/openapi.json
