The most stable schema among crypto exchanges. Full spot and futures coverage, complete multilingual docs, and predictable rate-limit headers. The default first integration for any crypto strategy.
Pick the right market data feed for your strategy. Free vs paid, broad vs deep, agent-friendly vs raw. Compared on the dimensions that actually matter for backtests.
Every StratCraft example strategy connects to one of these four data sources. This page is the index. Each card and table row links to a detailed integration guide with code samples, rate-limit notes, and known caveats.
Asset coverage, pricing, API quality, agent-friendliness, docs. Click any row to see what we recommend the source for.
The same four feeds, expanded. Coverage, pricing, and the strategy shape each one is genuinely the right tool for.
The most stable schema among crypto exchanges. Full spot and futures coverage, complete multilingual docs, and predictable rate-limit headers. The default first integration for any crypto strategy.
Good enough to get started, not to ship. Schema drifts occasionally and rate limits are inconsistent. The right tool for a fast feasibility check before you commit to a paid feed.
Clear pricing tiers, an OpenAPI spec, and first-class SDKs. The professional default once you outgrow Yahoo and need reliable intraday data or clean options chains.
Trading and data on the same API. Free for paper trading and market data, with a Python SDK that AI agents can drive end-to-end (generate, backtest, paper-trade) without a feed swap.
Thestratcraft.sourcesnamespace normalizes every feed to the same shape: tz-aware index, OHLCV columns, adjusted close. Swap providers without rewriting the strategy.
123456789101112# 1m klines for BTC/USDT, last 30 days# free public REST, no key required from stratcraft.sources import binance df = binance.klines( symbol="BTCUSDT", interval="1m", lookback="30d",) # → pandas DataFrame, OHLCV columns
12345678910111213# SPY 5-minute bars, year-to-date# requires POLYGON_API_KEY in env from stratcraft.sources import polygon df = polygon.aggs( ticker="SPY", multiplier=5, timespan="minute", range="ytd",) # → adjusted, gap-filled, ready to backtest
The decisions that change which feed you reach for, answered honestly, including when the unofficial free one is the right tool.
New sources are added as example strategies that use them ship. Open an issue on GitHub if you need a specific feed prioritized. Include the asset class and a strategy sketch we can run against it.