Data & API

Datasets & API

MarketPD is a data product first. Free samples are public; the full datasets are fetched through a gated API by active subscribers. No scraping required.

Structured market datasets

Posture datasets: 8Quant datasets: 4Gated rows: 10,543Rate limit: 120/hr

The same daily numbers behind the Posture and Quant terminals, exposed as versioned JSON datasets and public sample files.

Public files
5
JSON, CSV and dictionary
Posture catalog
8
8,353 generated rows/counts
Quant catalog
4
2,190 generated rows/counts
Access model
Token
subscriber account gate
Subscriber API

Gated by login and active subscription. Built for scripts, notebooks and internal dashboards.

Base endpointhttps://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset
Legacy endpointhttps://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-data
AuthBearer token + anon key
Rate limit120 requests/hour per account
FormatJSON API, CSV downloads in terminal
Posture tier datasets

Included with the Posture Terminal subscription.

Dataset keyTierSchemaRows / countWhat it isAPI endpoint
posture.delta.cryptoPosture18Day-over-day change feed: trend flips, cross changes, rank moves and metric deltas.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.delta.crypto
posture.history.cryptoPosture14,068Flattened historical posture rows for every tracked crypto asset and every archived day.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.history.crypto
posture.history.indexPosture148Index of available historical snapshots: dates, update times and asset counts per day.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.history.index
posture.latest.cryptoPosture148Full daily snapshot of every crypto asset we track — price, posture, momentum, relative strength, risk metrics and more.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.latest.crypto
posture.leadlag.cryptoPosture14,068Asset returns versus BTC and ETH as a raw return gap (no beta adjustment) — descriptive benchmark gap analysis.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.leadlag.crypto
posture.narratives.cryptoPosture19Category-level breadth, momentum and leadership for every MarketPD crypto narrative.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.narratives.crypto
posture.regime.cryptoPostureposture.regime.crypto.v192Daily market-structure regime label plus the breadth, correlation and dispersion inputs behind it.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.regime.crypto
posture.scanners.cryptoPosture112Descriptive market-structure screens (trend leaders, laggards, pullbacks, volatility, relative strength, etc.).GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.scanners.crypto
Quant tier datasets

Included with the Quant Terminal subscription.

Dataset keyTierSchemaRows / countWhat it isAPI endpoint
quant.pair-history.cryptoQuantquant.pair-history.crypto.v139Historical spread, z-score, correlation and half-life series for the top crypto pairs.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=quant.pair-history.crypto
quant.pair-history.equitiesQuantquant.pair-history.equities.v133Historical pair relationship series for stocks and ETFs.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=quant.pair-history.equities
quant.screener.cryptoQuantquant.screener.crypto.v11,128Full pair screener for crypto: every tested pair, pass/fail gates, score and spread statistics.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=quant.screener.crypto
quant.screener.equitiesQuantquant.screener.equities.v1990Full pair screener for stocks and ETFs.GET https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=quant.screener.equities
Authentication, rate limits & watermarking

What every request needs to know before it's made.

AuthenticationAuthorization: Bearer <your access token> + apikey: <anon key>. The token comes from your logged-in session; the anon key is public and safe to ship in client code.
Rate limit120 requests/hour per account, on a rolling window. Over the limit returns HTTP 429; back off and retry after a few minutes.
Watermark tokenEvery JSON response carries a `_token` field — a short per-account hash, not a secret or identifier you need to send back. It lets us trace a leaked export to the account it came from, so don’t strip it before sharing data internally.
◆ Example request

Replace <your-token> with the access token from your logged-in session. The anon key is public and safe to include.

curl -H "Authorization: Bearer <your-token>" \
     -H "apikey: <anon-key>" \
     "https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset?dataset=posture.latest.crypto"

Python:

import requests

resp = requests.get(
    "https://sblylnjygehnqtqlkvxm.supabase.co/functions/v1/get-dataset",
    params={"dataset": "posture.latest.crypto"},
    headers={
        "Authorization": "Bearer <your-token>",
        "apikey": "<anon-key>",
    },
)
data = resp.json()
Changelog

Notable changes to the dataset API. Schema changes bump the dataset's schema_version.

Pull the data into your own tools

Spreadsheets, Python notebooks, bots, dashboards — the same daily numbers that power the terminals, delivered as structured JSON.

See plans