Quantura Developer Platform

Forecast Intelligence API

Versioned access to forecasts, quantile datasets, screeners, prediction-market exports, and collaborator-aware workspace resources.

Download OpenAPI JSON

Getting started

  1. Sign in and open Account / Developer.
  2. Create a scoped key and copy it once.
  3. Send it in the Authorization: Bearer header.
  4. Call GET /api/v1/me/access to inspect effective access.

Workspaces & collaborators

API keys identify a user; they do not freeze a workspace role. Quantura checks current membership, role, resource ownership, and plan on every request. Viewer access is GET-only in the shared workspace and does not reduce permissions in the viewer's personal workspace.

cURL

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  https://quantura.studio/api/v1/me/access

Python

import os, requests
r = requests.get(
  "https://quantura.studio/api/v1/workspaces",
  headers={"Authorization": f"Bearer {os.environ['QUANTURA_API_KEY']}"},
)
r.raise_for_status()

JavaScript / TypeScript

const response = await fetch(
  "https://quantura.studio/api/v1/datasets",
  { headers: { Authorization: `Bearer ${process.env.QUANTURA_API_KEY}` } },
);
if (!response.ok) throw new Error(`API ${response.status}`);
Data provenance and licensing: responses identify sources, units, timestamps, derivation, and redistribution status where applicable. A provider marked review_required is not represented as cleared for raw redistribution.
Dataset catalog

Machine-readable data products

Catalog metadata is available through GET /api/v1/datasets with datasets:read.

Quantura Forecast Quantiles

Quantura-created point-in-time P1/P25/P50/P75/P99 distributions for supported assets and contracts.

Type
Derived
API
Available
Redistribution
Quantura outputs only

Prediction Market Canvas Time Series

Provider-qualified contract observations normalized to decimal 0–1 targets and UTC timestamps.

Type
Normalized
Sources
Polymarket US, Kalshi
Redistribution
Terms review required

Historical Market Data

Provider-sourced OHLCV and options observations with explicit source, units, timestamp, and freshness metadata.

Type
Raw/provider-sourced
Sources
Alpaca, Yahoo Finance
Redistribution
Terms review required
Collaborator examples

Workspace-scoped API access

Viewer permissions apply only inside the shared workspace and are re-evaluated on every request.

List accessible workspaces

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  https://quantura.studio/api/v1/workspaces

Read shared forecasts

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  "https://quantura.studio/api/v1/workspaces/$WORKSPACE_ID/forecasts?limit=50"

Read shared CSV analysis

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  "https://quantura.studio/api/v1/workspaces/$WORKSPACE_ID/prediction-analyses"
Viewer policy: GET/read requests to currently shared resources are allowed when the token has the matching read scope. POST, PATCH, and DELETE operations are denied. Removing the collaborator immediately removes access for the same token. The viewer's own workspace still follows their personal plan and permissions.
Durable inference

Five-model ensemble forecasting

Create an immutable asynchronous job, poll its status, then download the final ensemble. Component-model arrays are not included in standard customer responses.

1. Model capabilities

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  https://quantura.studio/api/v1/ensemble-forecasts/models

Availability reflects the caller's plan and runtime licensing. Toto and TimesFM contribute within P10–P90 only.

2. Create a forecast

curl -X POST \
  -H "Authorization: Bearer $QUANTURA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: research-run-001" \
  -d '{
    "source":{"type":"ticker","symbol":"AAPL"},
    "prediction_length":30,
    "horizon_mode":"trading_sessions",
    "quantiles":[0.01,0.1,0.25,0.5,0.75,0.9,0.99],
    "transform":"auto",
    "models":{
      "prophet":{"enabled":true,"weight":0.2},
      "toto":{"enabled":true,"weight":0.2},
      "granite":{"enabled":true,"weight":0.2},
      "chronos":{"enabled":true,"weight":0.2},
      "timesfm":{"enabled":false,"weight":0}
    }
  }' https://quantura.studio/api/v1/ensemble-forecasts

3. Poll and download

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  https://quantura.studio/api/v1/ensemble-forecasts/$FORECAST_ID

curl -H "Authorization: Bearer $QUANTURA_API_KEY" \
  "https://quantura.studio/api/v1/ensemble-forecasts/$FORECAST_ID/download?format=csv" \
  --output forecast.csv

curl -X POST -H "Authorization: Bearer $QUANTURA_API_KEY" \
  https://quantura.studio/api/v1/ensemble-forecasts/$FORECAST_ID/reproduce

A successful create returns HTTP 202 unless an identical immutable result is safely reused. Reproduction uses the original input snapshot and pinned checkpoints while re-evaluating current access and licensing.

Python

import os, time, requests
headers = {"Authorization": f"Bearer {os.environ['QUANTURA_API_KEY']}"}
job = requests.post(
  "https://quantura.studio/api/v1/ensemble-forecasts",
  headers=headers,
  json=request_body,
).json()["data"]
while job["status"] in {"queued", "running"}:
    time.sleep(3)
    job = requests.get(f"https://quantura.studio{job['status_url']}", headers=headers).json()["data"]

JavaScript / TypeScript

const created = await fetch("/api/v1/ensemble-forecasts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.QUANTURA_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(requestBody),
});
const { data: job } = await created.json();

Important behavior

  • Weights are normalized independently for each requested quantile.
  • Unsupported tails are never extrapolated.
  • NYSE trading-session horizons exclude exchange holidays.
  • TimesFM production availability requires a separate commercial-license flag.
  • Workspace datasets are authorized server-side.
OpenAPI 3.1

Interactive API reference

Use synthetic credentials in examples. Never paste production secrets into shared screenshots or support requests.