Skip to content
REST API

Programmatic access to all flow data

The BTC FlowWatch API delivers netflows, category and provider matrices, prices, and correlations as JSON — for dashboards, trading bots, alert systems, and academic research.

Platinum only

The API is reserved for Platinum subscribers. Both key generation and API usage require an active Platinum subscription — if your subscription expires, the key is deactivated. Create the key on Account → API key, ready to use immediately.

Get Platinum →

Authentication

Each Platinum user gets exactly one API key in the form fw_<32-hex>. Send it in the X-API-Key header with every request.

curl -H "X-API-Key: fw_your_key" \
  "https://flowwatch.coinator.eu/api/flows/..."

Generate or rotate the key: in the app under Account → API key.

Base URL

https://flowwatch.coinator.eu

Rate limits

A limit of 100 requests per minute applies per API key. Exceeding it returns HTTP 429 with a Retry-After header.

Endpoints

All endpoints are GET requests and return JSON. Click an endpoint to see parameters, example request, and example response.

GET /api/flows/netflow-blocks

Netflow pro Block und Kategorie. Liefert Inflow, Outflow, Net-Flow (in Satoshi) und TX-Count je Kategorie und Block — in Echtzeit ab aktuellstem Block.

Parameters

Name Type Description Default
limit int Anzahl Blöcke / block count 144
start int Start-Zeitstempel (Unix) / start timestamp
end int End-Zeitstempel (Unix) / end timestamp
bucket int Zeit-Bucket in Sekunden (z. B. 3600 für stündlich)

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/netflow-blocks?limit=2"

Response

{
  "blocks": [
    {
      "block_height": 944320,
      "timestamp": 1775725000,
      "categories": [
        { "category": "Börse", "inflow_sat": 523400000, "outflow_sat": 612300000, "net_sat": -88900000, "tx_count": 42 },
        { "category": "Mining", "inflow_sat": 312500000, "outflow_sat": 0, "net_sat": 312500000, "tx_count": 1 }
      ]
    }
  ],
  "tier": "platinum",
  "delayed": false
}
GET /api/flows/category-matrix

Kategorie-zu-Kategorie-Flow-Matrix. Zeigt aggregiertes Volumen in BTC zwischen jedem Kategorie-Paar (alle Kategorien, Echtzeit).

Parameters

Name Type Description Default
limit int Anzahl aggregierter Blöcke 144
topn int Nur Top-N Kategorien all
start int Start-Zeitstempel
end int End-Zeitstempel

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/category-matrix?limit=10&topn=5"

Response

{
  "categories": ["Börse", "Mining", "Neobroker", "..."],
  "matrix": {
    "Börse":  { "Börse": 12.45, "Mining": 0.83 },
    "Mining": { "Börse": 5.21 }
  }
}
GET /api/flows/provider-matrix

Provider-Level: Inflow/Outflow mit Kategorie. Top-N Provider nach Volumen.

Parameters

Name Type Description Default
limit int Anzahl Blöcke 144
topn int Top-N Provider 10
start int Start-Zeitstempel
end int End-Zeitstempel

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/provider-matrix?limit=10&topn=5"

Response

{
  "providers": [
    { "provider": "Coinbase Prime", "category": "Börse", "inflow_btc": 353.90, "outflow_btc": 818.63, "net_btc": -464.73 },
    { "provider": "Binance.com",    "category": "Börse", "inflow_btc": 278.72, "outflow_btc": 316.46, "net_btc":  -37.73 }
  ]
}
GET /api/flows/provider-pair-matrix

Provider-zu-Provider-Flow-Matrix. Zeigt BTC-Volumen zwischen Provider-Paaren.

Parameters

Name Type Description Default
limit int Anzahl Blöcke 144
topn int Top-N Provider 10
start int Start-Zeitstempel
end int End-Zeitstempel

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/provider-pair-matrix?limit=10&topn=5"

Response

{
  "providers": ["Coinbase Prime", "Binance.com", "..."],
  "matrix": {
    "Coinbase Prime": { "Binance.com": 1.234 }
  }
}
GET /api/flows/prices

BTC-Preis-Historie (USD + EUR) in Echtzeit, mit optionaler Zeit-Bucket-Aggregation.

Parameters

Name Type Description Default
limit int Anzahl Preispunkte 1000
start int Start-Zeitstempel
end int End-Zeitstempel
interval int Bucket-Größe in Sekunden (z. B. 3600 für stündlich)

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/prices?limit=3"

Response

{
  "prices": [
    { "timestamp": 1775725000, "price_usd": "71234.50", "price_eur": "61100.00", "volume_24h": "37262037666.58" }
  ],
  "tier": "platinum",
  "delayed": false
}
GET /api/flows/correlation

Preis-Flow-Korrelations-Matrix. Pearson-Korrelation zwischen Kategorie-Flows und Preisänderungen, mit konfigurierbarem zeitlichen Versatz.

Parameters

Name Type Description Default
blocks int Anzahl analysierter Blöcke 48
lag int Preis-Lag in Minuten 10
start int Start-Zeitstempel
end int End-Zeitstempel

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/correlation?blocks=24&lag=10"

Response

{
  "categories": ["Börse", "Mining", "..."],
  "matrix":  { "Börse": { "Mining": 0.4231 } },
  "nMatrix": { "Börse": { "Mining": 18 } },
  "lag_minutes": 10,
  "blocks_used": 24
}
GET /api/flows/observations

Flow-Observations — Cross-Kategorie-Signale pro Block.

Parameters

Name Type Description Default
limit int Anzahl Observations 100
from_category string Nach Quell-Kategorie filtern
to_category string Nach Ziel-Kategorie filtern

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/observations?limit=5"

Response

{
  "observations": [
    { "block_height": 944320, "timestamp": 1775725000, "from_category": "Börse", "to_category": "Mining", "net_btc": "2.45" }
  ]
}
GET /api/flows/categories

Liste aller verfügbaren Kategorien (sortiert nach Anzeige-Reihenfolge).

Parameters

No parameters.

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/categories"

Response

{
  "categories": [
    { "name": "Börse",  "display_order": 1 },
    { "name": "Mining", "display_order": 2 }
  ]
}
GET /api/flows/providers

Liste aller bekannten Provider-Namen (nützlich für Autocomplete und Parameter-Validierung).

Parameters

No parameters.

Example

curl -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/providers"

Response

{
  "providers": ["Binance.com", "Bitfinex", "Coinbase Prime", "Kraken", "Luxor Mining", "..."]
}

Error codes

Code Meaning
401 Ungültiger oder fehlender API-Key
403 Endpunkt erfordert höheren Tier (z. B. Platinum)
429 Rate-Limit überschritten (100 req/min pro Key)
500 Interner Server-Fehler

Code examples

Three common languages to get started — replace YOUR_KEY with your actual API key.

curl
curl -s -H "X-API-Key: YOUR_KEY" \
  "https://flowwatch.coinator.eu/api/flows/netflow-blocks?limit=24" | jq
Python
import requests

r = requests.get(
    "https://flowwatch.coinator.eu/api/flows/netflow-blocks",
    params={"limit": 24},
    headers={"X-API-Key": "YOUR_KEY"},
    timeout=15,
)
r.raise_for_status()
data = r.json()
for blk in data["blocks"]:
    print(blk["block_height"], blk["categories"])
JavaScript (Node 20+)
const res = await fetch(
  "https://flowwatch.coinator.eu/api/flows/netflow-blocks?limit=24",
  { headers: { "X-API-Key": "YOUR_KEY" } }
);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
for (const blk of data.blocks) {
  console.log(blk.block_height, blk.categories);
}

Unlock API access

Upgrade to Platinum and immediately build your own analysis, dashboard, or trading signal.

See pricing →