Julia client for the Databento market-data APIs:
- Historical — HTTP API for backfills, metadata, batch jobs, symbology.
- Live — TCP API for low-latency real-time feeds with reconnect, multi-schema routing, and crash-safe capture to disk.
All binary DBN decoding is delegated to DatabentoBinaryEncoding.jl.
Full documentation: https://tbeason.github.io/DatabentoAPI.jl
User guides for authentication, historical data, live streaming, capture to file, format conversion, plus an API reference, performance notes, and troubleshooting guide.
using Pkg
Pkg.add("DatabentoAPI")Requires Julia ≥ 1.12.
using DatabentoAPI, Dates
# Historical
client = Historical() # API key from ~/.databento/config.toml or DATABENTO_API_KEY
store = get_range(client;
dataset = "XNAS.ITCH",
schema = Schema.TRADES,
symbols = ["AAPL"],
start_dt = DateTime(2024, 1, 2, 14, 30),
end_dt = DateTime(2024, 1, 2, 14, 31),
stype_in = SType.RAW_SYMBOL)
df = to_dataframe(store)
# Live (do-block guarantees clean close on Ctrl-C)
Live(dataset = "GLBX.MDP3") do live
connect!(live)
subscribe!(live; schema = Schema.TRADES, symbols = ["ES.FUT"], stype_in = SType.PARENT)
start!(live)
for rec in live
println(rec)
end
endSee the Quick Start guide for details.
Current version: 0.2.0. Offline test suite: 1500+ tests, ~30 s.
Live-network smoke tests are gated behind DATABENTO_LIVE_TESTS=1. See
CHANGELOG.md for the full release history.
MIT.