Head to head · Market prices · October 2026 research run
Finnhub vs Tiingo
Tiingo scores 46.2 (D) on agent readiness against Finnhub's 45.1 (E), and leads in 2 of 7 scored categories. Finnhub leads on schema & documentation and maintenance & community. Both do market prices.
Best financial market data APIs for AI agents · All 55 markets comparisons
Which one, for what
Finnhub E
Best for Agents that need one key across quotes, fundamentals, estimates, filings and transcripts with official libraries, and a free key for prototypes.
Ahead on
- Schema & documentation, 58 against 39
- Maintenance & community, 60 against 50
Also in its favour
- Free to start without a card
Watch for
The Swagger document declares the key only as a token query parameter, and the examples carry it in the URL
Tiingo D
Best for Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.
Ahead on
- Reliability, 60 against 48
- Transparency & trust, 57 against 27
Watch for
The connecting guide documents the token as ?token= in the URL alongside the header
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Transparency & trust Tiingo +30
Finnhub 27
A closed service whose terms exist at a page that robots.txt disallows, so they were not read; the pricing page says every self-serve plan is personal use, and no legal entity or governing law was found (8 of 30). No privacy policy was found, /privacy redirecting to the home page (0 of 30). No deprecation policy or dated notices found (0 of 20). Stripe and Braintree scripts load on the site, but no processor list or data location is disclosed (0 of 20). 8 + 0 + 0 + 0 = 8.
Tiingo 57
A closed service whose terms sit on app.tiingo.com, which answered 403 to every request, so they were not read; the pricing and documentation pages define internal, commercial and redistribution licences (8 of 30). The privacy policy is on the same host and was not read (0 of 30). The developer programme commits to a year of continued support after a breaking change, with changes posted in the changelog and emailed to registered developers, and the changelog's 9 October 2026 entry describes a changed default for prevClose (16 of 20). Equinix hosting is named on the about page, with no processor list or data location (4 of 20). 8 + 0 + 16 + 4 = 28.
Schema & documentation Finnhub +19
Finnhub 58
A public Swagger 2.0 document covers 116 paths with a description on every operation, declaring the key as a query parameter and a 200 response only; the MCP tools were not read (20 of 25). /llms.txt returns the site's HTML shell and no Markdown docs exist (0 of 10). Each operation states its purpose, a premium marker and, on quote, advice against polling, with little on when not to use it (14 of 20). Required flags and types are set on 248 parameters, but allowed values such as news categories sit in description text and no enum is declared (8 of 15). Every operation has example URLs and sample code in five languages, while the only documented error is the 429 (9 of 15). The path carries v1 and no changelog or dated change notes were found (7 of 15). 20 + 0 + 14 + 8 + 9 + 7 = 58.
Tiingo 39
No OpenAPI document or MCP server was found (0 of 25). llms.txt and llms-full.txt are served, with product routing and licence notes (10). Each documentation page states the endpoint's purpose and timing, such as prices after 5.30 pm ET with corrections to 8 pm, with little on when not to use it (12 of 20). Parameters and response fields are tabled with names and meanings, but types, defaults and allowed values are partly in prose (8 of 15). Examples in Python, Node and PHP on every page; no error responses documented (7 of 15). A changelog dated by entry since 2017 and a one-year support commitment after breaking changes, with no version in the path (12 of 15). 0 + 10 + 12 + 8 + 7 + 12 = 39.
Reliability Tiingo +12
Finnhub 48
Read with the hosted lines. No status page was found on the site, in the docs document or on the MCP page (0), so no incident history could be read (5). Limits are published with numbers, 60 calls a minute on the free key, 150 to 900 a minute by plan, and 30 calls a second on top of every plan (15). The docs say the limit answers 429 and the MCP page says to wait a minute, with no Retry-After or backoff guidance (8 of 15). The home page says 99.99 per cent uptime with an SLA available for enterprise clients (10). The API is generally available (10). 0 + 5 + 15 + 8 + 10 + 10 = 48.
Tiingo 60
Read with the hosted lines. A public status page on Instatus at status.tiingo.com lists 13 components with a notice history (20). The history in the 90 days to 3 November 2026 shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October, a WebSocket issue on 21 September and two maintenance windows, with nothing recorded before 21 September; a long outage of one niche feed rather than the core price API (15). Limits are published with numbers, 50 and 10,000 requests an hour, 1,000 and 100,000 a day and 1 GB and 40 GB a month (15). No 429, Retry-After or backoff guidance was found (0). No SLA found (0). The end-of-day, news, crypto and forex APIs are generally available, while Equity Realtime and BOATS are in beta (10). 20 + 15 + 15 + 0 + 0 + 10 = 60.
Maintenance & community Finnhub +10
Finnhub 60
Read as a closed service. The newest dated change is 2 November 2026, when finnhub-go, finnhub-ruby and finnhub-php gained a price target history endpoint; the MCP page is dated 6 August 2026 (30). Only that one dated change falls in the last 90 days, the previous library commits being 22 June 2026 (5 of 20). Support by email, with no public changelog or community channel found (5 of 15). Six official client libraries, finnhub-python at 2.4.29 of 24 June 2026 (15). The libraries are generated from the API document; no CI run was visible and the Python README names an older version than PyPI (5 of 10). 30 + 5 + 5 + 15 + 5 = 60.
Tiingo 50
Read as a closed service. The changelog's newest entry is 9 October 2026 (30). Entries dated 9 October and 8 September 2026 fall in the last 90 days, with 21 July just outside, and the status page adds a maintenance window on 28 September (12 of 20). A dated changelog, a support address and a blog, with the developer programme promising priority email support (8 of 15). No official SDK (0 of 15). No package to assess (0 of 10). 30 + 12 + 8 + 0 + 0 = 50.
Score by category
| Category | Weight this run | Finnhub | Tiingo | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 48 | 60 | Tiingo +12 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 58 | 39 | Finnhub +19 |
| Agent ergonomics | 13%16.2 | 56 | 56 | even |
| Security & auth | 14%17.5 | 32 | 32 | even |
| Payments & pricing | 10%12.5 | 30 | 30 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 60 | 50 | Finnhub +10 |
| Transparency & trust | 7%8.8 | 27 | 57 | Tiingo +30 |
| Negative events | ≤15 | 0 | 0 | |
| Total | E 45.1/100 | D 46.2/100 |
Facts side by side
| Fact | Finnhub | Tiingo |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Finnhub | Tiingo Inc. |
| Hosted endpoint | https://finnhub.io/api/v1 | https://api.tiingo.com |
| Transports | HTTP, Streamable HTTP, websocket | HTTP, websocket |
| Auth | OAuth or key | API key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Tools exposed | 70 | none |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2026-11-02 | 2026-10-09 |
| Terms last updated | couldn't be read | couldn't be read |
| Privacy policy last updated | no document linked | 2026-02-18 |
| Customer content may train models | couldn't be read | couldn't be read |
| Terms restrict automated access | couldn't be read | couldn't be read |
| Terms restrict benchmarking | couldn't be read | couldn't be read |
| Terms or service can change without notice | couldn't be read | couldn't be read |
| Arbitration or class-action waiver | couldn't be read | couldn't be read |
| Popularity | 1.1k stars | none |
Verdicts
Finnhub
A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.
Tiingo
A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.
Before you call either
Finnhub
- Send the key as the
X-Finnhub-Tokenheader, not astoken=in the URL, and keep under 30 calls a second on top of the plan's per-minute limit - Check the
premiummarker before calling; a free key reaches 29 operations and the rest answer with an error - Poll /quote sparingly; the docs say constant polling is not recommended and point to the websocket for real-time updates
- Expect 401
{"error":"Please use an API key."}without a key and 429 over the limit; wait a minute before retrying, as the MCP page advises - Self-serve plans are personal use; anything commercial needs the enterprise contact route
Tiingo
- Send the token as
Authorization: Token <token>, not as?token=in the URL - Ask for
format=csvon large price pulls; the docs say CSV is 4 to 5 times faster than JSON, and bandwidth counts against the monthly cap - Count requests an hour and a day, not per second; 50 an hour on Starter, 10,000 on Power, reset on the hour and at midnight ET
- Expect 403
{"detail":"Please supply a token"}without a token; other error shapes are undocumented, so log the body - Use dashes in share classes (BRK-A), and fetch supported_tickers.zip rather than guessing symbols
Questions
Which is better for AI agents, Finnhub or Tiingo?
Tiingo scores 46.2 (D) on agent readiness against Finnhub's 45.1 (E), and leads in 2 of 7 scored categories. Finnhub leads on schema & documentation and maintenance & community.
Do Finnhub and Tiingo need an API key?
Finnhub takes an API key or an OAuth sign-in. Tiingo needs an API key.
Can an agent call Finnhub and Tiingo without installing anything?
Yes. Finnhub has a hosted endpoint at https://finnhub.io/api/v1 and Tiingo at https://api.tiingo.com.
Other comparisons with Finnhub or Tiingo
- Alpha Vantage vs Finnhub
- Alpha Vantage vs Tiingo
- Databento vs Finnhub
- Databento vs Tiingo
- Finnhub vs Intrinio
- Finnhub vs Massive (formerly Polygon.io)
- Finnhub vs Twelve Data
- Intrinio vs Tiingo
- Massive (formerly Polygon.io) vs Tiingo
- Tiingo vs Twelve Data
- Financial Datasets vs Finnhub
- Financial Datasets vs Tiingo
- Financial Modeling Prep vs Finnhub
- Financial Modeling Prep vs Tiingo
- EODHD vs Finnhub
- EODHD vs Tiingo
- Benzinga vs Finnhub
- Benzinga vs Tiingo
Machine-readable
- This page as Markdown
/compare/finnhub-vs-tiingo.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/finnhub.json·/api/v1/tools/tiingo.json - From a terminal
anchor compare finnhub tiingo(the CLI) - Over MCP
compare_tools {"a": "finnhub", "b": "tiingo"}at/mcp, no key