542 lines
10 KiB
Markdown
542 lines
10 KiB
Markdown
# Databento API Parameters Reference
|
|
|
|
Complete parameter reference for all Databento MCP tools with accepted values, formats, and requirements.
|
|
|
|
## Date and Time Formats
|
|
|
|
### Date Format
|
|
**Accepted formats:**
|
|
- `YYYY-MM-DD` (e.g., "2024-01-15")
|
|
- ISO 8601 with time (e.g., "2024-01-15T14:30:00Z")
|
|
|
|
**Important:**
|
|
- Dates are in UTC timezone
|
|
- Inclusive for `start`, exclusive for `end`
|
|
- Time portion is optional
|
|
|
|
### Timestamp Format
|
|
**Accepted formats:**
|
|
- ISO 8601 string: "2024-01-15T14:30:00Z"
|
|
- Unix timestamp (seconds): 1705329000
|
|
- Unix timestamp (nanoseconds): 1705329000000000000
|
|
|
|
## Schema Parameter
|
|
|
|
Valid schema values for historical data requests.
|
|
|
|
### OHLCV Schemas
|
|
```
|
|
"ohlcv-1s" # 1-second bars
|
|
"ohlcv-1m" # 1-minute bars
|
|
"ohlcv-1h" # 1-hour bars
|
|
"ohlcv-1d" # Daily bars
|
|
"ohlcv-eod" # End-of-day bars
|
|
```
|
|
|
|
### Trade and Quote Schemas
|
|
```
|
|
"trades" # Individual trades
|
|
"mbp-1" # Market by price - level 1 (top of book)
|
|
"mbp-10" # Market by price - 10 levels of depth
|
|
"mbo" # Market by order - level 3 (order-level)
|
|
"tbbo" # Top of book best bid/offer
|
|
```
|
|
|
|
### Metadata Schemas
|
|
```
|
|
"definition" # Instrument definitions and metadata
|
|
"statistics" # Market statistics
|
|
"status" # Trading status changes
|
|
"imbalance" # Order imbalance data
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# timeseries_get_range
|
|
schema="ohlcv-1h"
|
|
|
|
# batch_submit_job
|
|
schema="trades"
|
|
```
|
|
|
|
## Symbology Type (stype) Parameter
|
|
|
|
Used for symbol input and output format specification.
|
|
|
|
### stype_in (Input Symbol Type)
|
|
|
|
```
|
|
"raw_symbol" # Native exchange symbols (ESH5, AAPL)
|
|
"instrument_id" # Databento numeric IDs
|
|
"continuous" # Continuous contracts (ES.c.0)
|
|
"parent" # Parent symbols (ES, NQ)
|
|
"nasdaq" # Nasdaq symbology
|
|
"cms" # CMS symbology
|
|
"bats" # BATS symbology
|
|
"smart" # Smart routing symbols
|
|
```
|
|
|
|
### stype_out (Output Symbol Type)
|
|
|
|
Same values as `stype_in`.
|
|
|
|
**Common Patterns:**
|
|
```python
|
|
# Continuous to instrument_id (most common)
|
|
stype_in="continuous"
|
|
stype_out="instrument_id"
|
|
|
|
# Raw symbol to instrument_id
|
|
stype_in="raw_symbol"
|
|
stype_out="instrument_id"
|
|
|
|
# Continuous to raw symbol (see current contract)
|
|
stype_in="continuous"
|
|
stype_out="raw_symbol"
|
|
```
|
|
|
|
**Important:** Always match stype_in to your actual symbol format:
|
|
- `"ES.c.0"` → stype_in="continuous"
|
|
- `"ESH5"` → stype_in="raw_symbol"
|
|
- `123456` → stype_in="instrument_id"
|
|
|
|
## Dataset Parameter
|
|
|
|
Dataset codes identify the data source and venue.
|
|
|
|
### Common Datasets
|
|
|
|
**Futures (CME):**
|
|
```
|
|
"GLBX.MDP3" # CME Globex - ES, NQ, and other CME futures
|
|
```
|
|
|
|
**Equities:**
|
|
```
|
|
"XNAS.ITCH" # Nasdaq - all Nasdaq-listed stocks
|
|
"XNYS.PILLAR" # NYSE - NYSE-listed stocks
|
|
"XCHI.PILLAR" # Chicago Stock Exchange
|
|
"BATS.PITCH" # BATS exchange
|
|
"IEXG.TOPS" # IEX exchange
|
|
```
|
|
|
|
**Options:**
|
|
```
|
|
"OPRA.PILLAR" # US equity options
|
|
```
|
|
|
|
**Crypto:**
|
|
```
|
|
"DBEQ.BASIC" # Databento equities (subset)
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# ES/NQ futures
|
|
dataset="GLBX.MDP3"
|
|
|
|
# Nasdaq equities
|
|
dataset="XNAS.ITCH"
|
|
```
|
|
|
|
## Symbols Parameter
|
|
|
|
### Format Variations
|
|
|
|
**String (comma-separated):**
|
|
```python
|
|
symbols="ES.c.0,NQ.c.0,GC.c.0"
|
|
```
|
|
|
|
**Array:**
|
|
```python
|
|
symbols=["ES.c.0", "NQ.c.0", "GC.c.0"]
|
|
```
|
|
|
|
**Single symbol:**
|
|
```python
|
|
symbols="ES.c.0"
|
|
# or
|
|
symbols=["ES.c.0"]
|
|
```
|
|
|
|
### Limits
|
|
- Maximum: 2000 symbols per request
|
|
- Must match stype_in format
|
|
|
|
### Symbol Wildcards
|
|
|
|
Some endpoints support wildcards:
|
|
```
|
|
"ES*" # All ES contracts
|
|
"*" # All instruments (use with caution)
|
|
```
|
|
|
|
## Encoding Parameter (Batch Jobs)
|
|
|
|
Output format for batch download jobs.
|
|
|
|
```
|
|
"dbn" # Databento Binary (native format, most efficient)
|
|
"csv" # Comma-separated values
|
|
"json" # JSON format
|
|
```
|
|
|
|
**Recommendations:**
|
|
- `"dbn"` - Best for large datasets, fastest processing
|
|
- `"csv"` - Good for spreadsheet analysis
|
|
- `"json"` - Good for custom parsing, human-readable
|
|
|
|
**Usage:**
|
|
```python
|
|
# batch_submit_job
|
|
encoding="dbn"
|
|
```
|
|
|
|
## Compression Parameter (Batch Jobs)
|
|
|
|
Compression algorithm for batch downloads.
|
|
|
|
```
|
|
"zstd" # Zstandard (default, best compression)
|
|
"gzip" # Gzip (widely supported)
|
|
"none" # No compression
|
|
```
|
|
|
|
**Recommendations:**
|
|
- `"zstd"` - Best compression ratio, fastest
|
|
- `"gzip"` - Good compatibility
|
|
- `"none"` - Only for small datasets or testing
|
|
|
|
**Usage:**
|
|
```python
|
|
# batch_submit_job
|
|
compression="zstd"
|
|
```
|
|
|
|
## Limit Parameter
|
|
|
|
Maximum number of records to return.
|
|
|
|
**Default:** 100 (varies by tool)
|
|
**Maximum:** No hard limit, but consider:
|
|
- Timeseries: practical limit ~10M records
|
|
- Batch jobs: unlimited but affects processing time
|
|
|
|
**Usage:**
|
|
```python
|
|
# timeseries_get_range
|
|
limit=1000 # Return up to 1000 records
|
|
```
|
|
|
|
**Important:** For large datasets, use batch jobs instead of increasing limit.
|
|
|
|
## Timeframe Parameter (get_historical_bars)
|
|
|
|
Specific to the `get_historical_bars` convenience tool.
|
|
|
|
```
|
|
"1h" # 1-hour bars
|
|
"H4" # 4-hour bars (alternative notation)
|
|
"1d" # Daily bars
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# get_historical_bars (ES/NQ only)
|
|
timeframe="1h"
|
|
count=100
|
|
```
|
|
|
|
## Symbol Parameter (get_futures_quote)
|
|
|
|
Specific to the `get_futures_quote` tool.
|
|
|
|
```
|
|
"ES" # E-mini S&P 500
|
|
"NQ" # E-mini Nasdaq-100
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# get_futures_quote
|
|
symbol="ES"
|
|
```
|
|
|
|
**Note:** Uses root symbol only, not full contract code.
|
|
|
|
## Split Parameters (Batch Jobs)
|
|
|
|
Control how batch job output files are split.
|
|
|
|
### split_duration
|
|
```
|
|
"day" # One file per day
|
|
"week" # One file per week
|
|
"month" # One file per month
|
|
"none" # Single file (default)
|
|
```
|
|
|
|
### split_size
|
|
```
|
|
split_size=1000000000 # Split at 1GB
|
|
split_size=5000000000 # Split at 5GB
|
|
```
|
|
|
|
### split_symbols
|
|
```
|
|
split_symbols=True # One file per symbol
|
|
split_symbols=False # All symbols in same file (default)
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# batch_submit_job
|
|
split_duration="day" # Daily files
|
|
split_symbols=True # Separate file per symbol
|
|
```
|
|
|
|
## Filter Parameters
|
|
|
|
### State Filter (list_jobs)
|
|
```
|
|
states=["received", "queued", "processing", "done", "expired"]
|
|
```
|
|
|
|
### Time Filter (list_jobs)
|
|
```
|
|
since="2024-01-01T00:00:00Z" # Jobs since this timestamp
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# batch_list_jobs
|
|
states=["done", "processing"]
|
|
since="2024-01-01"
|
|
```
|
|
|
|
## Mode Parameter (get_cost)
|
|
|
|
Query mode for cost estimation.
|
|
|
|
```
|
|
"historical" # Historical data (default)
|
|
"historical-streaming" # Streaming historical
|
|
"live" # Live data
|
|
```
|
|
|
|
**Usage:**
|
|
```python
|
|
# metadata_get_cost
|
|
mode="historical"
|
|
```
|
|
|
|
## Complete Parameter Examples
|
|
|
|
### timeseries_get_range
|
|
```python
|
|
{
|
|
"dataset": "GLBX.MDP3",
|
|
"symbols": "ES.c.0,NQ.c.0",
|
|
"schema": "ohlcv-1h",
|
|
"start": "2024-01-01",
|
|
"end": "2024-01-31",
|
|
"stype_in": "continuous",
|
|
"stype_out": "instrument_id",
|
|
"limit": 1000
|
|
}
|
|
```
|
|
|
|
### batch_submit_job
|
|
```python
|
|
{
|
|
"dataset": "GLBX.MDP3",
|
|
"symbols": ["ES.c.0", "NQ.c.0"],
|
|
"schema": "trades",
|
|
"start": "2024-01-01",
|
|
"end": "2024-12-31",
|
|
"stype_in": "continuous",
|
|
"stype_out": "instrument_id",
|
|
"encoding": "dbn",
|
|
"compression": "zstd",
|
|
"split_duration": "day",
|
|
"split_symbols": False
|
|
}
|
|
```
|
|
|
|
### symbology_resolve
|
|
```python
|
|
{
|
|
"dataset": "GLBX.MDP3",
|
|
"symbols": ["ES.c.0", "NQ.c.0"],
|
|
"stype_in": "continuous",
|
|
"stype_out": "instrument_id",
|
|
"start_date": "2024-01-01",
|
|
"end_date": "2024-12-31"
|
|
}
|
|
```
|
|
|
|
### metadata_get_cost
|
|
```python
|
|
{
|
|
"dataset": "GLBX.MDP3",
|
|
"start": "2024-01-01",
|
|
"end": "2024-01-31",
|
|
"symbols": "ES.c.0",
|
|
"schema": "ohlcv-1h",
|
|
"stype_in": "continuous",
|
|
"mode": "historical"
|
|
}
|
|
```
|
|
|
|
### get_futures_quote
|
|
```python
|
|
{
|
|
"symbol": "ES" # or "NQ"
|
|
}
|
|
```
|
|
|
|
### get_session_info
|
|
```python
|
|
{
|
|
"timestamp": "2024-01-15T14:30:00Z" # Optional
|
|
}
|
|
```
|
|
|
|
### get_historical_bars
|
|
```python
|
|
{
|
|
"symbol": "ES", # or "NQ"
|
|
"timeframe": "1h",
|
|
"count": 100
|
|
}
|
|
```
|
|
|
|
## Common Parameter Mistakes
|
|
|
|
### 1. Wrong stype_in for Symbol Format
|
|
**Wrong:**
|
|
```python
|
|
symbols="ES.c.0"
|
|
stype_in="raw_symbol" # WRONG!
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
symbols="ES.c.0"
|
|
stype_in="continuous"
|
|
```
|
|
|
|
### 2. Date Format Errors
|
|
**Wrong:**
|
|
```python
|
|
start="01/15/2024" # US date format - WRONG
|
|
start="15-01-2024" # Non-ISO format - WRONG
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
start="2024-01-15" # ISO format - CORRECT
|
|
```
|
|
|
|
### 3. Missing Required Parameters
|
|
**Wrong:**
|
|
```python
|
|
# metadata_get_cost
|
|
dataset="GLBX.MDP3"
|
|
start="2024-01-01"
|
|
# Missing symbols and schema!
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
dataset="GLBX.MDP3"
|
|
start="2024-01-01"
|
|
symbols="ES.c.0"
|
|
schema="ohlcv-1h"
|
|
```
|
|
|
|
### 4. Schema Typos
|
|
**Wrong:**
|
|
```python
|
|
schema="OHLCV-1H" # Wrong case
|
|
schema="ohlcv-1hour" # Wrong format
|
|
schema="ohlcv_1h" # Wrong separator
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
schema="ohlcv-1h" # Lowercase, hyphenated
|
|
```
|
|
|
|
### 5. Symbol Array vs String Confusion
|
|
**Wrong:**
|
|
```python
|
|
# batch_submit_job expects array
|
|
symbols="ES.c.0,NQ.c.0" # WRONG for batch jobs
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
# batch_submit_job
|
|
symbols=["ES.c.0", "NQ.c.0"] # CORRECT
|
|
```
|
|
|
|
### 6. Encoding/Compression Not Strings
|
|
**Wrong:**
|
|
```python
|
|
encoding=dbn # Not a string
|
|
compression=zstd # Not a string
|
|
```
|
|
|
|
**Correct:**
|
|
```python
|
|
encoding="dbn"
|
|
compression="zstd"
|
|
```
|
|
|
|
## Parameter Validation Checklist
|
|
|
|
Before making API calls, verify:
|
|
|
|
- [ ] Date format is YYYY-MM-DD or ISO 8601
|
|
- [ ] Dataset matches your data source (GLBX.MDP3 for ES/NQ)
|
|
- [ ] Schema is valid and lowercase
|
|
- [ ] stype_in matches symbol format
|
|
- [ ] Symbols parameter matches tool expectation (string vs array)
|
|
- [ ] All required parameters are present
|
|
- [ ] Enum values are exact strings (case-sensitive)
|
|
- [ ] start_date <= end_date
|
|
- [ ] limit is reasonable for dataset size
|
|
|
|
## Quick Reference: Required Parameters
|
|
|
|
### timeseries_get_range
|
|
**Required:** dataset, symbols, schema, start
|
|
|
|
**Optional:** end, stype_in, stype_out, limit
|
|
|
|
### batch_submit_job
|
|
**Required:** dataset, symbols, schema, start
|
|
|
|
**Optional:** end, stype_in, stype_out, encoding, compression, split_duration, split_size, split_symbols, limit
|
|
|
|
### symbology_resolve
|
|
**Required:** dataset, symbols, stype_in, stype_out, start_date
|
|
|
|
**Optional:** end_date
|
|
|
|
### metadata_get_cost
|
|
**Required:** dataset, start
|
|
|
|
**Optional:** end, symbols, schema, stype_in, mode
|
|
|
|
### get_futures_quote
|
|
**Required:** symbol
|
|
|
|
### get_session_info
|
|
**Optional:** timestamp
|
|
|
|
### get_historical_bars
|
|
**Required:** symbol, timeframe, count
|