Financial Modeling Prep is the fundamentals library of the indie-quant world — income statements, balance sheets and prices for tens of thousands of companies, dataset by dataset, endpoint by endpoint. Tickerbot is a different shape for the same job: every ticker × every signal as one computed SQL table — query it live, as of any past moment, or as a webhook subscription. Complete on its own, data included — there’s no feed to bring.
Free plan. Every ticker, every signal, real-time data, all-time history.
head to head
FMP organizes the market as datasets you fetch and join — statements here, quotes there, one endpoint each. Tickerbot organizes it as answers: the joins and the indicator math have already run, and the whole market is one table your code queries in SQL.
| FMP | Tickerbot | |
|---|---|---|
| Market data | Per-dataset REST endpoints | One computed table, every ticker |
| Technical indicators & signals | Compute from statements & price series | 419+ named signals, precomputed + custom |
| Stock screener | Screener endpoint over fundamentals | SQL across the whole market |
| Backtest-ready history | Deep statement & price archives | As-of queries — any past moment |
| Stock alerts | Poll or stream, compare yourself | Webhook when your condition matches |
| AI agents | Raw datasets in — context spent assembling | Answers in — context spent on decisions |
in practice
On a raw feed, market state is something you assemble — endpoint by endpoint, symbol by symbol, indicator by indicator. On Tickerbot, the assembly has already run — everything is a read:
| The question | With a raw feed | With Tickerbot |
|---|---|---|
| Everything about one ticker | Assemble it — quote, profile, fundamentals, plus each indicator, per symbol | GET /v2/tickers/AAPL — one row, every signal |
| Every ticker in a state | Poll each symbol, compute the indicator, compare | GET /v2/signals/rsi_oversold — the current list |
| Scan the entire market | Run your universe through your own pipeline | POST /v2/scan {"q": "rsi_14 < 30 AND market_cap > 1e9"} |
Each of the three Tickerbot calls runs in three tenses: live, as of any past moment (add ?asof= — no look-ahead, no survivorship bias), or on push — the same query as a webhook that fires when the answer changes. And every Tickerbot call is a native tool for AI agents via the MCP server: hand a model computed state and its context goes to decisions; hand it raw data and the context goes to doing the math.
None of this makes a raw feed the wrong buy — the layers are different. To act on market state, you either build this layer on a feed like FMP’s, or buy it from Tickerbot as a table — data included; there’s no feed to bring.
the right tool
FMP is the right call when the fundamentals themselves are the product: full financial statements, reported line by line, for a huge universe including markets far beyond US equities. If you’re building models from balance sheets, its archive is the draw. And the two compose naturally: statement-level research on FMP, and the always-current computed state of the market — screens, signals, alerts — as one Tickerbot table.
questions
For the market-state half of the job, yes. FMP hands you datasets — statements, quotes, series — that your code fetches and joins. Tickerbot hands you the joined result: every ticker × 419+ computed signals as one SQL table, screened in one call, live, as-of any past moment, or pushed as a webhook. If your app needs reported financial statements line by line, that’s FMP’s home turf.
Because every action it takes — an alert, a screen result, an order — is a condition over derived values: RSI below 30, price above the 200-day average, volume three times normal. Raw data doesn’t contain those. Something has to compute and refresh them for every symbol, continuously, and keep the history so past answers are reproducible. That’s a data pipeline, not a feature — you either build and operate it, or query one that already runs.
Naturally. Deep fundamental research against FMP’s statement archive; the running state of the market — what matches right now, what changed, what to act on — as Tickerbot queries and webhooks.
Every call here is also a native tool call: install the MCP server and Claude, ChatGPT, Cursor, or any MCP runtime queries the market directly. Computed state is what makes that work well: hand a model raw data and its context window fills with math to do; hand it computed answers and the context goes to decisions. A scan returns the tickers matching your condition: a list, not a workload.
The Free plan needs no card and carries the full data side: every ticker, every signal, real-time data, all-time history and as-of queries, at 10,000 calls a month and 60 a minute. Paid plans start at $29/mo, remove the monthly cap, and raise the rate limit; webhooks and streaming come with them. Data depth is never a tier lever: every plan sees the same table.
in the wild
What people are saying.
“dude. whoah.”
“Tickerbot is insane. It turns Claude into a quant.”
“Best value for hobbyists and advanced traders alike.”
get started
Free plan. Every ticker, every signal, real-time data, all-time history.