API Documentation

Everything you need to integrate AlphaFeed. Already migrating from Birdeye? Just change your base URL and key.

Base URL

All requests are made against the AlphaFeed base URL. The Birdeye-compatible API lives under /public-api/defi and the native enhanced API under /api/v1.

text
https://data.thebloobs.co

Authentication

Authenticate every request with your API key, sent either as an X-API-KEY header or as a Bearer token.

bash
# Header style (recommended)
-H "X-API-KEY: af_live_your_key_here"

# Bearer style
-H "Authorization: Bearer af_live_your_key_here"

Birdeye-compatible endpoints

GET/public-api/defi/priceSingle token price
GET/public-api/defi/multi_priceBatch token prices
GET/public-api/defi/token_overviewToken overview & stats
GET/public-api/defi/ohlcvOHLCV candles
GET/public-api/defi/txs/tokenRecent token trades
GET/public-api/defi/v3/token/meta-data/singleToken metadata
GET/public-api/defi/v2/marketsMarkets for a token

Native endpoints

GET/api/v1/token/{mint}/overviewEnhanced overview
GET/api/v1/token/{mint}/pricePrice + change
GET/api/v1/token/{mint}/ohlcvOHLCV candles
GET/api/v1/token/{mint}/tradesTrade history
GET/api/v1/token/{mint}/riskRisk score
GET/api/v1/token/{mint}/marketsMarkets
GET/api/v1/tokens/latestFreshly discovered tokens
GET/api/v1/tokens/trendingTrending tokens
GET/api/v1/tokens/high-momentumHigh-momentum movers

Quickstart (curl)

One request, no SDK required. Pass your key as x-api-key and the chain as x-chain.

bash
curl "https://data.thebloobs.co/public-api/defi/price?address=So11111111111111111111111111111111111111112" \
  -H "x-api-key: af_live_your_key_here" \
  -H "x-chain: solana"

Python example

python
import requests

API_KEY = "af_live_your_key_here"
BASE_URL = "https://data.thebloobs.co/public-api"

headers = {
    "x-api-key": API_KEY,
    "x-chain": "solana",
}

res = requests.get(
    f"{BASE_URL}/defi/price",
    params={"address": "So11111111111111111111111111111111111111112"},
    headers=headers,
    timeout=10,
)

print(res.json())

JavaScript example

javascript
const res = await fetch(
  "https://data.thebloobs.co/public-api/defi/price?address=So11111111111111111111111111111111111111112",
  { headers: { "X-API-KEY": "af_live_your_key_here", "x-chain": "solana" } }
);
const data = await res.json();
console.log(data);

Migrating a Birdeye bot

AlphaFeed mirrors the Birdeye request and response shapes. To migrate an existing bot, change the base URL only (and your key). Every endpoint, query param, and header keeps working.

python
# Already running a Birdeye-based bot?
# Replace the base URL only — keep every request shape the same.

BIRDEYE_BASE_URL = "https://public-api.birdeye.so"
ALPHAFEED_BASE_URL = "https://data.thebloobs.co/public-api"

# Swap this single line:
BASE_URL = ALPHAFEED_BASE_URL

# Your existing calls keep working unchanged:
#   GET {BASE_URL}/defi/price?address=...
#   headers: { "x-api-key": API_KEY, "x-chain": "solana" }

Trading bot adapter (Python SDK)

Prefer a typed helper? Drop sdk/python/alphafeed_client.py into your project. It wraps the Birdeye-compatible and native endpoints in a small AlphaFeedClient.

python
from alphafeed_client import AlphaFeedClient

client = AlphaFeedClient(
    api_key="af_live_your_key_here",
    base_url="https://data.thebloobs.co/public-api",
)

# Birdeye-compatible surface
price = client.get_price("So11111111111111111111111111111111111111112")
ovv = client.get_token_overview("So11111111111111111111111111111111111111112")
candles = client.get_ohlcv("So111...112", interval="1m")
trades = client.get_token_trades("So111...112", offset=0, limit=50)

# Native enhanced surface
risk = client.get_risk("So111...112")
trending = client.get_trending_tokens(limit=20)

It also ships a BirdeyeCompatibleClient alias for a true drop-in swap:

python
# Drop-in alias for an existing Birdeye client.
from alphafeed_client import BirdeyeCompatibleClient as Client

client = Client(
    api_key="af_live_your_key_here",
    base_url="https://data.thebloobs.co/public-api",
)
print(client.get_price("So11111111111111111111111111111111111111112"))