Data & API

Datasets & API

The numbers behind every terminal — as files you can download and a JSON API you can script against. Refreshed every morning.

12datasets
93assets · crypto, stocks, ETFs
129days of history
Dailyrefreshed every morning (UTC)

Free

Free downloads

No account needed. Today’s spotlight assets, plus the data dictionary that defines every field.

Preview · latest-free.csvfirst rows, as downloaded
assetpriceposture_50ddistance_50d_pctposture_200dchange_1d_pctchange_7d_pct
BTC82936.1above1.68above1.33-0.2
ETH2446.73below-4.04above1.72-1.97
SOL106.42below-2.77above1.4-0.29

Subscribers

Subscriber datasets

Every tracked asset, full history included. Copy a key and request it from the API.

Posture Terminal

Crypto market structure: snapshots, full history, daily changes, scans, regime and narratives.

Get Posture · €8/mo

Latest crypto snapshot

Full daily snapshot of every crypto asset we track — price, posture, momentum, relative strength, risk metrics and more.

posture.latest.crypto
48 rows today · schema v1

History index

Index of available historical snapshots: dates, update times and asset counts per day.

posture.history.index
48 rows today · schema v1

Crypto history

Flattened historical posture rows for every tracked crypto asset and every archived day.

posture.history.crypto
5,844 rows today · schema v1

Daily changes

Day-over-day change feed: trend flips, cross changes, rank moves and metric deltas.

posture.delta.crypto
12 rows today · schema v1

Structure scans

Descriptive market-structure screens (trend leaders, laggards, pullbacks, volatility, relative strength, etc.).

posture.scanners.crypto
12 rows today · schema v1

Market regime

Daily market-structure regime label plus the breadth, correlation and dispersion inputs behind it.

posture.regime.crypto
129 rows today · schema v1

Narratives

Category-level breadth, momentum and leadership for every MarketPD crypto narrative.

posture.narratives.crypto
9 rows today · schema v1

Lead–lag vs BTC & ETH

Asset returns versus BTC and ETH as a raw return gap (no beta adjustment) — descriptive benchmark gap analysis.

posture.leadlag.crypto
5,844 rows today · schema v1
Quant Terminal

Pairs and cointegration across crypto, stocks and ETFs.

Get Quant · €19/mo

Pair screener · crypto

Full pair screener for crypto: every tested pair, pass/fail gates, score and spread statistics.

quant.screener.crypto
1,128 rows today · schema v1

Pair screener · stocks & ETFs

Full pair screener for stocks and ETFs.

quant.screener.equities
990 rows today · schema v1

Pair history · crypto

Historical spread, z-score, correlation and half-life series for the top crypto pairs.

quant.pair-history.crypto
34 rows today · schema v1

Pair history · stocks & ETFs

Historical pair relationship series for stocks and ETFs.

quant.pair-history.equities
34 rows today · schema v1

Quickstart

From zero to data in three steps

  1. SubscribePosture for the crypto datasets, Quant for the pair datasets — or both.
  2. Get a tokenSign in from your script with your email and password (below), or copy one from Account → API access. Tokens last about an hour.
  3. Request a datasetPass its key from the catalog above. You get versioned JSON back.
import requests

SUPABASE = "https://sblylnjygehnqtqlkvxm.supabase.co"
ANON_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InNibHlsbmp5Z2VobnF0cWxrdnhtIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODE2MzIzOTYsImV4cCI6MjA5NzIwODM5Nn0.z0wWsg6si1G-qUYyQaM6OtiBckB7atUcr2-fvNS-VCk"  # public key, safe to share

# 1. Sign in with your MarketPD email + password
#    (or paste a token from Account → API access)
token = requests.post(
    f"{SUPABASE}/auth/v1/token?grant_type=password",
    headers={"apikey": ANON_KEY},
    json={"email": "[email protected]", "password": "your-password"},
).json()["access_token"]

# 2. Fetch any dataset by its key
data = requests.get(
    f"{SUPABASE}/functions/v1/get-dataset",
    params={"dataset": "posture.latest.crypto"},
    headers={"Authorization": f"Bearer {token}", "apikey": ANON_KEY},
).json()

Fine print

Limits & guarantees

Rate limit
120 requests per hour per account, rolling. Over it you get HTTP 429 — wait a few minutes.
Freshness
Rebuilt every morning from the latest daily close. Free files update at the same time.
Format
JSON over HTTPS. Each dataset carries its dataset_key and a schema_version that changes on any breaking change.
Watermark token
Each response includes a short _token tied to your account, so a leaked export can be traced. It isn’t a secret and you never send it back.
Legacy endpoint
https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-data still returns the full daily snapshot (same as posture.latest.crypto).
Not advice
Descriptive market data for research and education — no signals, no recommendations.

Changelog

  • 2026-10Datasets page moved to /datasets; quickstart now signs in from code.
  • 2026-06Quant Screener V2 and Pair History V2 (gates, composite score, rolling spread, z-score, correlation, half-life); Regime V2 history.
  • 2026-06Coverage expanded to ~50 crypto and ~45 stocks/ETFs; scanner keys aligned with the published spec.

Pull the data into your own tools

Spreadsheets, notebooks, bots, dashboards — the same daily numbers that power the terminals.

See plans
Educational market data only — not investment advice and not a recommendation to buy or sell any asset. Crypto-asset values are volatile; you can lose money. The operator may hold assets discussed.