curl --request POST \
--url https://quantura.studio/api/v1/market-data/history \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"type": "gemini_spot",
"symbol": "BTCUSD",
"frequency": "1h",
"limit": 500
},
"format": "json"
}
'{
"ok": true,
"count": 0,
"rows": []
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}Download market history
One endpoint for stocks (auto/alpaca), Dukascopy instruments, Kalshi perpetuals (kalshi_perps), Kalshi/Polymarket US event contracts, Gemini spot markets and prediction-contract snapshots, Treasury Fiscal Data, World Bank Data360 and BigQuery public time series. For Gemini or economic datasets, pass a structured source object matching the forecast source (type=gemini_spot or economic_series). Inspect economic dimensions with Search describe. BigQuery requires a signed-in identity, a dry run and a 100 MiB billed-byte cap. Economic rows use timestamp/target and native reporting frequency; revised data is not a historical vintage. Gemini supplies a bounded recent candle window. Prediction-contract snapshots use JSON and cannot currently be forecast without a verified historical series. Use source and symbol for instruments; use source, contracts, start and end for events. Perpetual prices are normalized to USD per underlying unit using provider contract scaling. No missing bars are filled. Perpetuals allow at most 5000 rows and 20000 intervals per date range. Follow Dukascopy next_cursor with page_mode=true and identical settings. CSV export requires a completed unpaged range. Provider licensing and available history still apply. Set mode=canvas with format=csv for a SageMaker Canvas import file, or format=json to preview identical columns. Instrument/Gemini spot exports use candle close; economic exports use the selected numeric value. Event exports preserve separate item IDs for each side and use the selected target field. Canvas still validates cadence, sample count and supported model intervals (4-hour observations require resampling in Canvas). Prediction-contract snapshots without history cannot be exported as Canvas time series.
curl --request POST \
--url https://quantura.studio/api/v1/market-data/history \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"source": {
"type": "gemini_spot",
"symbol": "BTCUSD",
"frequency": "1h",
"limit": 500
},
"format": "json"
}
'{
"ok": true,
"count": 0,
"rows": []
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}{
"ok": false,
"error": "event_query_invalid",
"message": "Choose a provider event and a valid continuation cursor."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
- Option 1
- Option 2
- Option 3
auto, alpaca, dukascopy, kalshi_perps bid, ask Dukascopy: retrieve bounded candle file pages; follow next_cursor using the same settings.
1min, 5min, 15min, 30min, 1h, 4h, 1D, 1W-MON, 1MS, 1Min, 5Min, 15Min, 30Min, 1Hour, 4Hour, 1Day, 1Week, 1Month, 1m, 5m, 15m, 30m, 1w Kalshi perpetuals: 1–5000; stocks/Dukascopy: 500, 1000, 1500, 2000, 50000 (default 2000).
1 <= x <= 50000raw, split, all regular, extended json, csv canvas returns item_id, timestamp (UTC), and numeric target columns for SageMaker Canvas. Candle close is the target; economic series retain their selected value. Raw provider fields are available only for event contracts. Missing observations are not filled.
normalized, raw, canvas Alias for timeframe. Perpetuals support the same completed-bar frequencies.
1min, 5min, 15min, 30min, 1h, 4h, 1D, 1W-MON, 1MS, 1Min, 5Min, 15Min, 30Min, 1Hour, 4Hour, 1Day, 1Week, 1Month, 1m, 5m, 15m, 30m, 1w Response
Successful response (illustrative example)
The response is of type object.