SoftSignal Research
Data API
REST / JSON · 36 endpoints · derived signals only · freshness on every payload
Data status →

The data is free; keeping it current, correct, and integration-ready is the product. The SoftSignal Data API exposes the same derived signals as our MCP server over plain REST/JSON — COT positioning, WASDE balance sheets, agro-climatic stress, EIA energy, and supply-chain risk — with one defining feature: every payload carries its own freshness contract. You always know the through-date and whether a series is on-time, behind, or stale, without leaving your tool.

Base URL

https://chat.getsoftsignal.com/api/v1

Authentication

Pass your subscriber API key as a bearer token — Authorization: Bearer ss_your_key — or as a ?key= query parameter. It's the same key as the MCP server: one subscription covers both surfaces, no separate API tier. The /api/v1 catalog and /api/v1/status are public so you can assess the API before subscribing.

Get your key: sign in to your hub at chat.getsoftsignal.com/hub and click API key — you can view, copy, and rotate it there. The same key works in Claude Desktop / ChatGPT over MCP and on this API.

The freshness contract

Every successful response includes a freshness block — { as_of, status, cadence, age_days, source } — for that endpoint's primary series, drawn from our live data-freshness monitor. status is cadence-aware: a weekly series reflecting its source's normal one-week publish lag reads current, not stale. See the full picture on the data status page or fetch /api/v1/status.

Conventions

Derived signals only — raw prices are never returned. Responses are { "status": "success", ... } on 200; an unknown identifier or unavailable series returns 404 with { "status": "error", "error": "..." }.

$ curl -s https://chat.getsoftsignal.com/api/v1/cot/corn \
    -H "Authorization: Bearer ss_your_key_here"

{
  "status": "success",
  "as_of": "2026-06-02T00:00:00Z",
  "context": { "market": "corn" },
  "data": { "mm_net_pct": 59, "signal": "neutral — no positioning edge", ... },
  "freshness": {
    "as_of": "2026-06-02", "status": "current", "cadence": "weekly",
    "age_days": 4, "source": "CFTC Disaggregated COT"
  },
  "source": "CFTC Disaggregated COT"
}

Endpoints

Discovery & status
EndpointParametersAuth
GET/api/v1 API catalog — every endpoint, params, and a sample. public
GET/api/v1/status Freshness status for every public series (the status page, as JSON). public
GET/api/v1/markets All markets, regions, and commodities covered, with identifiers. key
GET/api/v1/freshness Through-date + cadence-aware status for every pipeline series. key
COT positioning
EndpointParametersAuth
GET/api/v1/cot/{market} COT positioning snapshot for a market. market — path — identifier from /markets key
GET/api/v1/cot/{market}/percentile Managed-money positioning percentile + signal. market — path key
GET/api/v1/cot/{market}/change Week-over-week change in managed-money net. market — path key
GET/api/v1/cot/{market}/history Weekly COT time series (default 52, max 200 weeks). market — pathweeks — query int, default 52 key
GET/api/v1/cot Multi-market COT snapshot. ?markets=corn,natgas,hogs_lean markets — query CSV of identifiers key
Weather
EndpointParametersAuth
GET/api/v1/weather/{region} Agro-climatic snapshot for a coffee growing region. region — path — e.g. arabica_brazil key
GET/api/v1/weather/{region}/history Dekadal weather series (default 36, max 108 dekads). region — pathdekads — query int, default 36 key
GET/api/v1/weather/{region}/seasonal Current CWSI vs. same dekad in prior years. region — path key
GET/api/v1/cwsi/{region} Crop Water Stress Index deviation + seasonal rank. region — path key
GET/api/v1/weather-forecast 14-day forecast for a region (omit region for all). region — query, optional key
Energy
EndpointParametersAuth
GET/api/v1/eia/storage Current EIA natural-gas storage report + percentile. key
GET/api/v1/eia/storage/history Weekly NG storage series (default 52, max 260 weeks). weeks — query int, default 52 key
GET/api/v1/eia/petroleum-demand US gasoline + distillate demand (4-wk avg, YoY). key
GET/api/v1/eia/crack-spread 3-2-1 crack spread (refiner margin) + percentile. key
Climate
EndpointParametersAuth
GET/api/v1/enso ENSO phase with ONI, RONI, Rnino34 + commodity implications. key
WASDE supply & demand
EndpointParametersAuth
GET/api/v1/wasde/{commodity} WASDE balance sheet for a commodity (corn/soybeans/wheat/cotton). commodity — path key
GET/api/v1/wasde/{commodity}/stocks-to-use World stocks-to-use ratio + percentile rank. commodity — path key
GET/api/v1/wasde/{commodity}/revision Month-over-month WASDE revision. commodity — path key
Acreage
EndpointParametersAuth
GET/api/v1/acreage Planted-acre snapshot for all five crops. key
GET/api/v1/acreage/{crop} Planted-acre estimate for a crop + percentile. crop — path — corn/soybeans/cotton/wheat_winter/wheat_spring key
GET/api/v1/acreage/{crop}/history Full planted-acreage history since 1990. crop — path key
Drought
EndpointParametersAuth
GET/api/v1/drought/{region} US Drought Monitor D3+D4 coverage for a region. region — path — e.g. drought_corn_belt key
GET/api/v1/drought/{region}/history Weekly D3+D4 coverage (default 52, max 260 weeks). region — pathweeks — query int, default 52 key
Livestock
EndpointParametersAuth
GET/api/v1/livestock/stress Heat/cold stress for hog + feedlot belts, with 14-day forecast. key
Crop progress
EndpointParametersAuth
GET/api/v1/crop-progress USDA NASS planting progress + condition ratings (US national). key
Coffee
EndpointParametersAuth
GET/api/v1/coffee/fundamentals Coffee PSD balance + BRL/USD context. key
GET/api/v1/coffee/certified-stocks ICE certified (deliverable) coffee stocks — level, YoY, range, history. contract — query, robusta (default) or arabica key
Supply-chain & exports
EndpointParametersAuth
GET/api/v1/deforestation EUDR-aligned deforestation risk index (omit origin for all). origin — query, optional key
GET/api/v1/grain-exports USDA FAS ESR export pace (omit grain for all). grain — query, optional — corn/soybeans/wheat key
GET/api/v1/argentina Argentina production estimates (omit commodity for all). commodity — query, optional key
Backtest & calendar
EndpointParametersAuth
GET/api/v1/regime-backtest Structural-setup backtest (default market kc_coffee). market — query, default kc_coffee key
GET/api/v1/release-schedule Upcoming USDA/EIA/CFTC release calendar. key