Platform Data API
Shipped read-only datasets under GET /api/v1/data/*. Each pipeline is one route, one subscription SKU, and the same JSON Torque computes for in-app Home rails. Discover products via GET /api/v1/capabilities → data.catalog (manifest v10). npm 0.1.2 covers funding and earnings; events is HTTP-first until SDK 0.1.3.
Product Model
Each Torque data pipeline is a sellable unit. Torque UI (Home cards, Markets tables, Assistant tools) is an optional consumer of the same pipeline, not the public API product name.
| Concept | Meaning |
|---|---|
| Pipeline | Fetch → normalize → rank → stable JSON |
| Data product | One pipeline exposed as one GET under /api/v1/data/{id} |
| SKU | Same id as the route suffix (events, funding-radar, …) |
| Torque UI | Optional in-app consumer — not the partner product name |
Pipeline lib (single source of truth)
│
├─ /api/home/* or in-app fetch ← Torque UI
├─ /api/v1/data/{pipelineId} ← partner API (canonical)
└─ Assistant / TI tools ← conversational accessSubscriptions & Entitlements
| Offering | Includes | Typical Buyer |
|---|---|---|
| platform-data-pro | All /api/v1/data/* pipelines | Terminals, full-stack dashboards |
| À la carte SKU | One pipeline (e.g. only events) | Macro desks, earnings-only apps |
| opportunities add-on | yield + lending | Treasury / DeFi rate tiles |
| Intelligence add-on | Feed + desk presets | News / carousel products |
| Phase | Mechanism |
|---|---|
| Today | Opt-in env TORQUE_V1_WIDGETS_REQUIRE_PRO=1 + TORQUE_V1_PRO_INTEGRATOR_BUSINESS_IDS (all-or-nothing Pro gate) |
| Roadmap | Convex business API entitlements — data.catalog.products[].id per key; bundle grants all SKUs |
| Response | meta.integratorTier + future meta.entitlements[] / 403 with SKU id when not subscribed |
Three Integrator Lanes
Pick the lane that matches the result, not how Torque displays it.
| Lane | Shape | Example Endpoints |
|---|---|---|
| Intelligence | IntelligenceItemV1[] | /intelligence/feed, /trade-angles |
| Opportunities | Rate rows + actions | /opportunities/yield, /opportunities/lending |
| Platform data | Pipeline-native DTOs | /data/events, /data/funding-radar |
Auth
Authorization: Bearer sk_live_…Response meta.pipelineId is the subscription SKU id. meta.integratorTier is "pro" or "standard".
| Env | Behavior |
|---|---|
| default | All active business keys |
| TORQUE_V1_WIDGETS_REQUIRE_PRO=1 | Only TORQUE_V1_PRO_INTEGRATOR_BUSINESS_IDS |
Data Product Catalog
GET /api/v1/capabilities → data.catalog lists SKUs, routes, and status. Legacy aliases remain for funding and earnings: /api/v1/widgets/funding-radar, /api/v1/widgets/earnings-spotlight.
| SKU | Route | Status | Tier | Torque UI | SDK |
|---|---|---|---|---|---|
| funding-radar | GET /api/v1/data/funding-radar | Shipped | Pro | funding | getFundingRadarWidget() |
| earnings-spotlight | GET /api/v1/data/earnings-spotlight | Shipped | Pro | earnings | getEarningsSpotlightWidget() |
| events | GET /api/v1/data/events | Shipped | Pro | events | HTTP only (SDK 0.1.3+) |
| movers | GET /api/v1/data/movers | Planned | Pro | movers | — |
| flight-radar | GET /api/v1/data/flight-radar | Planned | Pro | flight_radar | — |
| marine-traffic | GET /api/v1/data/marine-traffic | Planned | Pro | — | — |
| allocation | GET /api/v1/data/allocation?walletAddress= | Planned | Pro | allocation_treemap | — |
Sibling Lanes (Not Under /data/)
| SKU | Route | Status | Guide |
|---|---|---|---|
| yield | GET /api/v1/opportunities/yield | Shipped | /api/intelligence#opportunities |
| lending | GET /api/v1/opportunities/lending | Shipped | /api/intelligence#opportunities |
| Intelligence presets | GET /api/v1/intelligence/* | Shipped | /api/intelligence |
GET /api/v1/data/events
SKU: events · FOMC schedule + curated US macro + tracked earnings. Same data as the in-app Events rail and GET /api/economic-calendar (session).
Query: days look-ahead window (default 90, max 365). Response: { meta, from, to, daysAhead, events[] }. Event types: fomc, earnings, macro. Impact: high, medium, low.
curl -sS "https://app.torque.fi/api/v1/data/events?days=30" \
-H "Authorization: Bearer sk_live_…"GET /api/v1/data/funding-radar
SKU: funding-radar · Hyperliquid perp funding long/short bias.
curl -sS "https://app.torque.fi/api/v1/data/funding-radar" \
-H "Authorization: Bearer sk_live_…"SDK: getFundingRadarWidget() · Types: @torquefi/types/widgets
GET /api/v1/data/earnings-spotlight
SKU: earnings-spotlight · Upcoming earnings (~14 days), estimates, perp/spot flags.
curl -sS "https://app.torque.fi/api/v1/data/earnings-spotlight" \
-H "Authorization: Bearer sk_live_…"SDK: getEarningsSpotlightWidget()
Shared Meta
interface PlatformDataMetaV1 {
generatedAtMs: number
pipelineId: string // SKU + route suffix, e.g. "events"
homeWidgetId?: string // Torque UI consumer — optional
integratorTier: 'standard' | 'pro'
}Design rules: one pipeline → one GET → one DTO → one SKU. Do not force pipeline rows into IntelligenceItemV1 when a dedicated shape exists. meta.pipelineId matches the route suffix and subscription SKU. meta.homeWidgetId is optional traceability for Torque UI, not the public product name.
npm
yarn add @torquefi/types@^0.1.2 torque-intelligence@^0.1.2const radar = await ti.getFundingRadarWidget()
const earnings = await ti.getEarningsSpotlightWidget()
// events — call GET /api/v1/data/events until SDK 0.1.3+Unified client: torque-node exposes the same helpers on torque.intelligence.
See Also
- Intelligence API — editorial feed and desk presets
- Opportunities — yield and lending rate tiles (sibling lane)
- API Overview — full endpoint index and OpenAPI
- Authentication — business API keys
- Live capabilities JSON — data.catalog (manifest v10)