WolfMarket APIBase URL: https://wolfmarket.freebranch.com. Every data request needs an API key in the
X-Api-Key header — create one in the portal.
Raw API access is a Data-plan feature — every other plan gets the
dashboard: interactive charts of everything you
track plus the market commons, company filing and financials pages, and futures-positioning views, no code
required. Opt-in email alerts (portal → Account view) notify you within the hour when a tracked
company files with the SEC, and a Monday digest summarizes your tracked entities' week. Per-entity data — companies, commodity series, COT markets — is served for entities on your
tracked list; economy-wide commons (CPI, Treasury yields, policy rates, FX, headline indexes) are
open to every plan.
curl -H "X-Api-Key: wm_..." \
"https://wolfmarket.freebranch.com/api/v1/series/EIA:PET.RWTC.D/observations?from=2020-01-01"
Every data response uses one envelope: { data, meta, attribution }. The
attribution array lists the origin of every source present in the result — see
your obligations below.
rate limit 10 requests/second per key (burst 20). Exceeding it returns 429.
Rather run your own database? The portal generates a personalized kit: name your database, pick SQL Server or PostgreSQL, choose the data domains — and download a ZIP containing the create-database script, the full schema, an automated sync script (initial backfill + re-runnable refresh of everything you're entitled to), and step-by-step instructions.
# SQL Server (nothing to install beyond SQL Server itself)
.\sync.ps1 -ApiKey wm_YOUR_KEY -Init
# PostgreSQL (psql + curl)
./sync.sh --api-key wm_YOUR_KEY --init
Re-running the sync is always safe — every load is an idempotent upsert with incremental
watermarks. Your API key is a runtime parameter, never stored in the kit. Attribution obligations ship
inside the kit as ATTRIBUTION.md and are collected automatically into an attribution_seen table.
| Domain | Data | History | Source |
|---|---|---|---|
| SEC filings | Filing index (10-K/10-Q/8-K/…) for covered companies, with primary-document links | 1994+ | SEC EDGAR |
| Company financials | Raw XBRL facts — every reported figure, all taxonomies, you pick the tags | 1989+ | SEC EDGAR |
| Energy prices | WTI & Brent crude, Henry Hub gas, gasoline/diesel retail, propane, electricity | 1986+ | EIA |
| Agricultural prices | Prices received: corn, soybeans, wheat, cattle, hogs, milk (monthly, national) | 1908+ | USDA NASS |
| Futures positioning | CFTC Commitments of Traders — legacy, disaggregated, and TFF reports, 989 markets | 1986+ | CFTC |
| Rates & debt | Daily Treasury par yield curve (13 tenors), avg interest rates, Debt to the Penny | 1990+ | US Treasury |
| US inflation | CPI-U (headline and core) and PPI index series | 1913+ | BLS |
| US employment | Nonfarm payrolls, unemployment rate, labour-force participation, average hourly earnings | 1939+ | BLS |
| US national accounts | Real and nominal GDP, PCE and core PCE price indexes (the Fed's target measure), personal income | 1947+ | US BEA |
| US demand & housing | Advance retail trade sales; housing starts, building permits and completions | 1959+ | US Census Bureau |
| Global macro | GDP, inflation, population, unemployment for major economies | 1960s+ | World Bank |
| World commodity prices | Monthly dollar prices for ~70 commodities — metals, ores, rubber, rice, palm oil, coffee (Pink Sheet) | 1960+ | World Bank |
| Foreign exchange | Daily EUR reference rates (30+ currencies) and CAD pairs — informational rates, freely available at source | 1999+ | ECB, Bank of Canada |
| Central bank policy rates | Daily policy rates for 49 economies — US, euro area, UK, Japan, China, India, Korea, Indonesia, Malaysia, Thailand, Philippines, Mexico & more | 1945+ | BIS |
| Canada macro | CPI all-items, unemployment, real GDP, Raw Materials Price Index, retail sales (monthly) | 1976+ | Statistics Canada |
| Japan import unit values | LNG (a widely cited Asian benchmark), crude oil and LPG — derived from MOF customs value and quantity; lag spot benchmarks ~1-2 months | 2016+ | e-Stat / Japan Customs |
| Mexico macro | MXN/USD FIX rate (1991+), policy target rate, TIIE 28-day, INPC headline & core CPI (1969+), UDIS | 1969+ | Banco de México |
| Euro area & EU macro | HICP inflation (annual rate) and unemployment — euro area + DE, FR, IT, ES, NL, PL, SE | 1983+ | Eurostat |
| UK company registry | All ~5.75M live UK-registered companies: status, type, incorporation date, SIC codes, registered office | current register | Companies House |
| UK company accounts | Balance-sheet core per filed accounts (equity, assets, creditors, cash, employees; turnover where filed) — ~23k filings/day | 2026-06+ (accumulating) | Companies House |
| Taiwan listed companies | TWSE registry (1,095 companies) + monthly revenue and quarterly EPS/net income per company | 2026-08+ (accumulating) | TWSE |
| Southeast Asia macro | Malaysia CPI/core CPI/IPI/unemployment/GDP · Singapore CPI & unemployment · Philippines CPI · Taiwan CPI | 1961+ | DOSM, SingStat, PSA |
| Philippines farmgate prices | Palay (paddy rice) and yellow corn national farmgate prices, PHP/kg monthly | 2010+ | PSA |
| US import unit values | Hard $/kg for polymers (PE, PP, PS, PVC, ABS) and steel grades — the licence-clean substitute for resin and steel spot assessments; derived from customs value ÷ quantity, lags spot 1-2 months | 2018+ | US Census |
| China-origin import prices | What Chinese-made goods cost at a foreign border: cold-rolled and galvanized steel, silicon steel, polypropylene, polyester yarn, permanent magnets (Japan customs) and sintered NdFeB magnets (US customs). CIF at the importing border, not a Chinese domestic price | 1994+ | Japan MOF, US Census |
| US wholesale dairy | Dry whey, nonfat dry milk, dry whole milk and whey protein concentrate ($/lb), plus butter and cheddar as international export quotations ($/MT) | 1991+ | USDA AMS |
| US cotton | Upland cotton spot quotation, base quality 41-4-34, US cents/lb, by producing region and national total | 2025+ (accumulating) | USDA AMS |
| Sovereign yield curves | US Treasury par curve (13 tenors) and the German Bund curve (9 maturities, 1Y-30Y) — the euro area's risk-free benchmark | 1990+ / 1997+ | US Treasury, Bundesbank |
| US money-market rates | SOFR, EFFR, OBFR, TGCR and BGCR — the rates the Fed's target actually prints at | 2000+ | New York Fed |
| US dollar exchange rates | Monthly USD rates for 12 currencies including VND, PHP and IDR — several with no clean euro-cross alternative | 1945+ | BIS |
| OECD macro | Harmonised CPI, GDP growth and unemployment for the major economies, including China and Indonesia | 1987+ | OECD |
| Global unemployment | Brazil, China and India — ILO modelled estimates (annual econometric imputations, not survey results; projection years are never served) | 1991+ | ILOSTAT |
| EU producer prices | Industrial PPI by product group — pulp, paper, paperboard and more, per member state | 1976+ | Eurostat |
| Japan CPI | Headline and core consumer price indexes from the Statistics Bureau (separate from the customs trade feed) | 1970+ | e-Stat / Statistics Bureau |
| Critical minerals | US and world production quantities for 39 critical minerals — rare earths, lithium, cobalt, gallium. Quantities only: price rows that republish commercial assessments are deliberately excluded | annual | USGS |
No equity prices or exchange market data — every byte served here is verified redistributable (US-government public domain or CC-BY). That verification is the product.
All endpoints are GET unless noted. Dates are YYYY-MM-DD.
Machine-readable spec: /openapi/v1.json.
All data sources with license type, terms URL, and attribution requirements.
Datasets per source. domain ∈ macro | commodities | energy | ag | prices | fx | filings | registry.
Search the time-series catalog by key or title. Each entry carries units, frequency (D/W/M/Q/A), and first/last observation dates.
Observations for one series, oldest first. Series keys are namespaced by source:
| Namespace | Example | Meaning |
|---|---|---|
EIA: | EIA:PET.RWTC.D | WTI crude spot, daily. Any valid EIA series id works — unknown ones are auto-collected on subscription. |
TREAS: | TREAS:YIELD:PAR:10Y | 10-year Treasury par yield. Tenors 1M–30Y; also TREAS:DEBT:*, TREAS:AVGRATE:*. |
BLS: | BLS:CUUR0000SA0 | CPI-U all items, NSA (BLS series ids). |
NASS: | NASS:CORN_GRAIN_PRICE_RECEIVED_MEASURED_IN_BU | US monthly price received. |
WB: | WB:NY.GDP.MKTP.CD:USA | World Bank indicator per country (ISO3). |
WBCMO: | WBCMO:COPPER | World Bank Pink Sheet monthly world commodity price. |
ECB: / BOC: | ECB:EURUSD, BOC:FXUSDCAD | Daily FX reference rates (commons — every plan). |
BIS: | BIS:CBPOL:CN | Daily central bank policy rate per economy, ISO2 code (commons — every plan). |
STATCAN: | STATCAN:CPI_ALLITEMS | Curated Canadian macro indicators (commons — every plan). |
EUROSTAT: | EUROSTAT:HICP_INF_DE | Curated EU macro per geo (commons — every plan). |
TWSE: | TWSE:REV:2330 | Taiwan listed-company fundamentals by stock code: REV monthly revenue, EPS/NETINC quarterly cumulative YTD. Tracked entities. |
DOSM: / SINGSTAT: / PSA: | SINGSTAT:CPI | Curated Malaysia / Singapore / Philippines macro + PH farmgate prices (commons — every plan). |
AMS: | AMS:DAIRY:WHEY_CENTRAL, AMS:COTTON:UPLAND_US | USDA wholesale dairy and cotton quotations. Values are the midpoint of the published low-high range. |
USTRADE: | USTRADE:UV:PVC, USTRADE:CN:NDFEB | US import unit values, $/kg. :UV: is a world total; :CN: is China-origin only. |
ESTAT: | ESTAT:IMP_LNG, ESTAT:CN:GALV | Japan customs import unit values, JPY per unit. :CN: is China-origin only. |
BBK: | BBK:YIELD:10Y | German sovereign yield curve, daily (commons — every plan). |
NYFED: | NYFED:SOFR | US money-market reference rates, daily (commons — every plan). |
OECD: / ILO: | OECD:CPI_CHN, ILO:UNEMP:BRA | OECD harmonised macro; ILO modelled unemployment estimates (commons — every plan). |
JPCPI: / BANXICO: / DGBAS: | JPCPI:HEADLINE, BANXICO:FIX | Japan CPI, Mexico macro, Taiwan CPI (commons — every plan). |
USGS: | USGS:ALUMINUM:WORLD_PROD | Critical-mineral production quantities, annual (commons — every plan). |
Search all ~8,000 SEC registrants by name or ticker. covered=true limits to companies with collected data.
Also /api/v1/companies/{cikOrTicker} for one.
Non-US registries. registry ∈ GB-CH (UK Companies House, ~5.75M live companies)
| TW-TWSE (Taiwan listed companies). q is a name prefix match or an exact
registry number. One company: /api/v1/global/companies/{registry}/{number}
(e.g. /global/companies/GB-CH/00445790, /global/companies/TW-TWSE/2330).
Registry data is commons — any plan with API access.
Filing index, newest first. form e.g. 10-K, 8-K.
Single filing: /api/v1/filings/{accessionNumber}.
Raw XBRL facts. Filter by company and/or tag (e.g. tag=RevenueFromContractWithCustomerExcludingAssessedTax,
tag=NetIncomeLoss, unit=USD). Duration facts carry periodStart; instant facts don't.
COT weekly positions. market = contract code or name search (GOLD, 067651);
variant 1 = futures-only, 2 = combined. Market catalog: /api/v1/cot/markets?q=.
The auto-collect trigger: subscribe to something and the system starts collecting it — including its full history — automatically (typically live within minutes).
curl -X POST -H "X-Api-Key: wm_..." -H "Content-Type: application/json" \
-d '{"targetType":"Company","targetKey":"DE"}' \
https://wolfmarket.freebranch.com/api/v1/subscriptions
# → 202 {"subscriptionId":42,"status":"Requested"}
targetType ∈ Company (ticker or CIK) | Bundle (commodity concept —
corn, crude-oil, steel… one slot covers its prices, futures positioning, and
cost indexes) | Series (series key) | CotMarket (contract code or name). Tracking an
entity is also what entitles your key to query it. Track progress at
/api/v1/subscriptions/{id}: Requested → Backfilling → Active. Requests that can't be
resolved automatically are queued for operator review (NeedsReview) — nothing silently fails.
asOf)Publishers revise. WolfMarket keeps what a value said before it changed, so you can ask what you
would have seen on a past date — essential when testing a rule against history. Add
asOf= (an ISO timestamp) to /series/{seriesKey}/observations or to any
/cot/* endpoint.
curl -H "X-Api-Key: wm_..." \
"https://wolfmarket.freebranch.com/api/v1/series/JPCPI%3AHEADLINE/observations?asOf=2026-09-10T00:00:00Z"
The response meta then carries asOf, the number of values the request actually
changed (restatedPoints, or restatedRows for COT), and
vintagesFromUtc — when revision capture began: 2026-09-06 for series and
2026-09-13 for COT. Before those dates today's values are returned, so you can always tell
"never revised" from "not yet recording".
These obligations are contractual: see section 6 of the Terms of Service.
WolfMarket serves only redistribution-licensed data, and some licenses carry conditions that pass through to you:
attribution entries returned with your data wherever the data is
published.Every response's attribution array gives you the exact strings and terms URLs.
| Status | Meaning |
|---|---|
401 | Missing, invalid, or revoked X-Api-Key (no body). |
404 | Unknown company/series/filing — or data that is not licensed for redistribution (served as if absent). |
403 | Your key is not entitled to that entity — track it (or its bundle) first; the body says so. |
429 | Rate limit exceeded (10/s, burst 20). Back off and retry. |
400 | Bad parameters; body carries an error message. |