Your own worldwide stock database
StockQL builds and maintains a coherent, error-checked end-of-day equities database — 70+ exchanges, indices, and commodities — in PostgreSQL, on your machine, filled from your own data-provider keys. Query it with plain SQL — or just point your AI coding agent at it. Keep it forever.
Every backtest starts with a data-cleaning detour
If you've done systematic research on retail-grade data, you already know the failure modes — because you've lost weeks to them:
Survivorship bias
Symbols vanish from vendor feeds when they delist. Your backtest quietly becomes a study of companies that happened to survive.
Partial snapshots
Bulk end-of-day files fetched too early are silently incomplete — hundreds of symbols missing, no completeness flag, filled in hours later.
Calendar chaos
Zero-volume placeholder rows on market holidays, exchanges mislabeled by the vendor's own metadata, venues that don't trade Monday–Friday.
Rented access
API-only vendors meter every query. Your research iterates at the speed of a rate limit, and your history disappears when you stop paying.
What StockQL gives you instead
- A real database, not an API. Plain PostgreSQL, documented schema, unlimited local queries. Join prices against fundamentals at 2am without watching a quota.
- Worldwide coverage. End-of-day prices for 70+ exchanges plus indices and commodities, with corporate-action-coherent adjusted series.
- Delisted symbols stay. Symbols that die remain in your database with their full history. Backtests see the market as it was, not as it ended up.
- Continuously error-checked. Automated coherence machinery — trading-calendar validation, completeness re-passes, cross-provider liveness checks — runs with every ingest. See how it works →
- Yours to keep. One-time license, runs in Docker on your hardware with your own EODHD and FMP keys. No lock-in — it's your Postgres instance; take the data anywhere.
Up and running in an afternoon
- Run the container.
docker compose upon any Linux, macOS, or Windows machine with Docker. - Add your keys. Bring your own EODHD and FMP API keys — you pay the data providers directly, at their prices, with no markup from us.
- Backfill. StockQL pulls full history for the exchanges you choose, validating as it goes.
- Stay current. The built-in scheduler ingests each trading day after the close, re-checks recent days for late data, and flags anything incoherent instead of silently storing it.
Built for the agent era
Claude Code, Codex, and every other coding agent already speak fluent SQL — what they can't do is untangle a vendor SDK, a notebook platform, and a deployment matrix standing between them and the data. StockQL removes the middle entirely:
A schema is the best prompt
Hand your agent the documented schema and a Postgres connection string, ask your question in English, and let it write the SQL. No API wrapper for it to hallucinate.
No platform in the middle
No bundled Jupyter, no add-on catalog, no proprietary research environment to learn — or to teach your agent. A database, and whatever tools you already use on top.
stockql-connect
Prefer handholding? An optional connector gives agents guided, schema-aware access with common research queries built in. Coming alongside launch.
Built by people who run it every day
StockQL isn't a data product designed on a whiteboard. It's the production system behind our own research database — tens of thousands of symbols ingested daily across 72 exchange calendars — packaged so you can run it too. Every validator in the product exists because the raw feeds burned us without it. More about us →
Common questions
Is StockQL a data provider?
No — and that's the point. The data comes from providers you contract with directly, under their retail terms. StockQL is the machinery that turns their feeds into one coherent, validated, queryable database. We never touch, resell, or redistribute market data.
Why bring my own API keys?
Redistribution licensing is what makes market data expensive. By fetching with your own keys, you pay providers their retail price and pay us once for the machinery — instead of paying a reseller's marked-up subscription forever.
What does the data cost me, roughly?
An EODHD "EOD Historical Data — All World" plan runs about $20/month; FMP has a free tier that covers the cross-checks. StockQL itself is a one-time purchase.
Is my data locked into StockQL?
No. It's a standard PostgreSQL database with a documented schema. pg_dump works. Every tool that speaks SQL works.
What about intraday data?
StockQL is end-of-day by design — the right resolution for portfolio-level systematic research. Intraday may come later; it isn't in the launch scope.
When does it launch?
We're finishing the packaging now. Join the waitlist and you'll get one email on launch day, with launch pricing that won't be repeated.