API docs · 1,543 data feeds · 24 domains · 14 data-API products

API reference — endpoints, auth, and the full catalog.

This page is documentation, not a storefront: how the catalog is graded, how auth and access modes work, every endpoint and error code, and the full list of metals/macro data feeds the API serves. We sell data, not trading signals — validated trading signals to date: 0 proven, 1 candidate (Monero mean-reversion) in paper-testing.

Pricing → Access & Pricing on the homepage.

386 free right now1,157 locked 🔒14 data-API productsrange modelive mode
Catalog Grading
by rarity

Every data feed is graded by crowdedness at build time — that grade is fixed. Whether an individual feed is currently 🔒 locked is a separate, live flag the catalog pipeline sets as it grows; it skews heavily toward Alpha but isn’t exclusive to it. Access tiers built on this grading are priced on the homepage — see Access & Pricing.

Core

61 feeds

Commodity-grade. Funds already own this data; it’s here for completeness and to build a baseline model.

Edge

455 feeds

Contested. Real edge, but more than a few desks already watch it.

Alpha

1,027 feeds

Uncontested. Small-capacity, non-purchasable, or outside standard vendor coverage — the focus of this catalog. A crowdedness grade on the feed, not a claim of validated alpha.

Category Directory
24 categories

Real per-category counts, computed live from the catalog. “Locked” is how many of that category’s feeds currently carry 🔒 — the rest is already free to browse.

Domain
Feeds
Locked (🔒)
65
49 (16 free)
65
49 (16 free)
60
45 (15 free)
61
46 (15 free)
61
46 (15 free)
66
50 (16 free)
70
52 (18 free)
61
46 (15 free)
62
46 (16 free)
66
50 (16 free)
60
45 (15 free)
66
50 (16 free)
63
47 (16 free)
74
56 (18 free)
70
52 (18 free)
60
45 (15 free)
Data-API Products
14 products (separate from the main data catalog)

A distinct box: 10 metals/macro feeds + 4 derived series, served over REST. 7 standard, 7 flagged premium 🔒. Each product supports one or both access modes below (range and/or live). Pricing for these products lives on the homepage — Access & Pricing.

Product
Kind
Access
Description
🔒 shfe_premium
feed
premium
Shanghai vs LME premium
sge_gold
feed
standard
Shanghai Gold Exchange
🔒 bullion_premiums
feed
premium
Retail Eagle premiums
mcx_settle
feed
standard
MCX settlement prices
lme_stocks
feed
standard
LME warehouse stocks
🔒 usda_cattle
feed
premium
USDA cattle data
etf_flows
feed
standard
Metals ETF flows
lbma_fix
feed
standard
LBMA gold/silver fix
cot_metals
feed
standard
COT report, metals
🔒 cme_curves
feed
premium
CME futures curves
sig_silver_cot
derived series
standard
Silver COT positioning series
🔒 sig_palladium
derived series
premium
Palladium positioning series
🔒 sig_palladium_gated
derived series
premium
Palladium positioning series, gated variant
🔒 sig_livestock
derived series
premium
Livestock positioning series
Access Modes
2

Every product supports one or both modes. Pick the one that matches what you’re building: a backtest wants range, a live model wants live.

range — one-time purchase

Buy a fixed historical window. Your entitlement is {mode:"range", start, end, call_cap}. Queries outside the purchased window return 403 outside_purchased_range.

/latest is not available — range keys are historical-only. Best for backtesting.

live — subscription

Rolling access. Your entitlement is {mode:"live", window_days, rpm, per_day}.

/latest returns current values; /v1/data/{product} returns the trailing window_days. Enforced limits: rpm (per-minute) and per_day (rolling 24h) — both return 429 once exceeded.

Endpoint Reference
7

Auth via Authorization: Bearer <key> header, or ?api_key=<key>.

Method
Path
Returns
GET
/v1/health
Liveness check. No key required.
GET
/v1/catalog
All products — name, description, category, premium flag, supported modes. No key required.
GET
/v1/sample/{product}
Taster/free tier — last 30 days of any feed, delayed 30 days. Capped calls/day. No key required.
GET
/v1/checkout
Returns 501 while self-serve checkout is offline — keys are issued via the request-access form below. No key required.
GET
/v1/data/{product}
History within your entitled window. Optional ?start=YYYY-MM-DD&end=YYYY-MM-DD, clamped to your window. Requires key.
GET
/v1/data/{product}/latest
Most recent values. Live mode only. Requires key.
GET
/v1/usage
Your calls and rows served, per product. Requires key.
Errors: 401 invalid_or_missing_key · 403 key_expired · 403 not_entitled · 403 outside_purchased_range · 403 latest_requires_live_mode · 429 rate_limited · 429 daily_cap_reached · 429 range_call_cap_reached · 404 unknown_product
Example
# latest value, live-mode key curl -H "Authorization: Bearer mp_XXXX" \ "https://api.quant-signals.example/v1/data/shfe_premium/latest" # {"product":"shfe_premium","latest":[{"day":20644,"metal":"copper","premium_pct":14.9,...}]} # historical range, range-mode key curl -H "Authorization: Bearer mp_XXXX" \ "https://api.quant-signals.example/v1/data/sge_gold?start=2018-01-01&end=2018-03-31" # {"product":"sge_gold","mode":"range","rows":118,"data":[...]}

Base URL above is illustrative — the real endpoint and your key are issued when you request access below.

FAQ
4 questions
Q1
Range vs Live — which do I need?

Two independent access modes, matched to two different jobs. Rangeis a one-time purchase of a fixed historical window — you own it, /latest is disabled on that key, and it’s built for backtesting: pull the years you need once, test against them as long as you want. Liveis the subscription — a rolling window plus real-time /latest, rate-limited by rpm and per_day, built for running a strategy that needs today’s value tomorrow morning.

Rule of thumb: buying your first dataset to test an idea → range. Wiring a signal into something that trades on a schedule → live. Nothing stops you from buying both on the same product.

Q2
Where do I see pricing?

This page is documentation only. All plans, packages, and per-product pricing live in one place — Access & Pricing on the homepage. That’s the single source of truth for what things cost.

Q3
Is there a free way to see the data first?

Yes. The catalog itself is free to browse in full — every currently-unlocked signal (386 of 1,543 today), no account needed. On the data-API side, /v1/sample/{product}serves a 30-day-delayed sample of any single feed, no key, capped calls/day — enough to see the actual shape of the data (real columns, real cadence, real gaps if there are any) before you decide what to buy.

Q4
Are these trading signals?

No — they are data feeds. Every feed in the catalog carries a mechanism and a crowdedness grade, but a catalogued feed is a dataset, not a validated trading signal — see /about for the full five-stage validation process.

As of today, zero signals have cleared that process — 0 proven, with 1 candidate (Monero mean-reversion) in paper-testing. A publication-date rerun of the full search produced zero signals above threshold; one lead-lag pairing of 27 passed re-verification, marginally (/leadlag); and one published signal was withdrawn after re-verification identified a scoring error (/signal-live). Candidates flagged as promising are provisional and forward-tracked in the Research Lab, not sold as proven.

None of this has traded with live capital — everything on this site is paper-tracked research, not a track record, and nothing here is investment advice.

Request access

Tell us which domains or data-API products you want and we’ll issue your key directly — access is provisioned by hand while self-serve checkout comes online. First access goes to the waitlist in order. Pricing for what you’re requesting is on the homepage.

Browse full catalog

or email us directly

We’ll follow up by email — this is a request, not a purchase. Nothing here is billed.