<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Roic AI</title>
    <description>The latest articles on DEV Community by Roic AI (roic).</description>
    <link>https://dev.to/roic</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15551%2F3a8d04e3-a917-4a8f-be35-ebf72160ea98.jpg</url>
      <title>DEV Community: Roic AI</title>
      <link>https://dev.to/roic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/roic"/>
    <language>en</language>
    <item>
      <title>Best Finance Data APIS</title>
      <dc:creator>TheBitForge</dc:creator>
      <pubDate>Sun, 25 Oct 2026 20:40:26 +0000</pubDate>
      <link>https://dev.to/roic/best-finance-data-apis-39da</link>
      <guid>https://dev.to/roic/best-finance-data-apis-39da</guid>
      <description>&lt;p&gt;If you are building anything around company fundamentals, start with ROIC.ai. It is a financial data API with prices, statements, ratios and earnings call transcripts for more than 68,000 tickers on over 70 exchanges, a free plan that needs no credit card, and a hosted MCP server so your AI tools can query the same data. It tops this list, and the first big section below explains why.&lt;/p&gt;

&lt;p&gt;The rest of the post compares ROIC.ai with eight other providers, so you can see where it wins and where it does not. I looked at what actually decides a project: what data you get, how far back it goes, how fast you can pull it, what the free tier really allows, and whether you may ship the data inside a product.&lt;/p&gt;

&lt;p&gt;A few honest notes first. I compared published documentation and pricing pages, last checked in late October 2026, and I did not run my own latency benchmarks. Prices move, so confirm every number on the vendor page. Near the end there is a small script you can use to measure the providers yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;The quick answer&lt;/li&gt;
&lt;li&gt;Why ROIC.ai is my top pick&lt;/li&gt;
&lt;li&gt;How to judge a finance data API&lt;/li&gt;
&lt;li&gt;The comparison at a glance&lt;/li&gt;
&lt;li&gt;The other best finance data APIs&lt;/li&gt;
&lt;li&gt;Measure them yourself&lt;/li&gt;
&lt;li&gt;Mistakes that cost real money&lt;/li&gt;
&lt;li&gt;Frequently asked questions&lt;/li&gt;
&lt;li&gt;Final thoughts&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The quick answer
&lt;/h2&gt;

&lt;p&gt;There is no single best finance data API for every job, and anyone who names one without asking what you are building is selling something. For fundamentals, ratios and transcripts across many markets, though, ROIC.ai is the one I would try first. For other jobs, here is where I would start.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;If you need&lt;/th&gt;
&lt;th&gt;Start with&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Company fundamentals, ratios and transcripts across many countries&lt;/td&gt;
&lt;td&gt;ROIC.ai&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Statements and screening, US focused&lt;/td&gt;
&lt;td&gt;Financial Modeling Prep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Live and streaming US market data&lt;/td&gt;
&lt;td&gt;Massive, formerly Polygon.io&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A free key to prototype with&lt;/td&gt;
&lt;td&gt;Finnhub or Twelve Data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decades of end of day history worldwide&lt;/td&gt;
&lt;td&gt;EODHD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clean adjusted prices for backtests&lt;/td&gt;
&lt;td&gt;Tiingo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Official filings and raw XBRL facts at no cost&lt;/td&gt;
&lt;td&gt;SEC EDGAR&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A first project with plenty of tutorials&lt;/td&gt;
&lt;td&gt;Alpha Vantage&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Why ROIC.ai is my top pick
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.roic.ai/" rel="noopener noreferrer"&gt;ROIC.ai&lt;/a&gt; is a financial data API covering stock prices, financial statements, earnings call transcripts, ratios and company data. Its published scale is more than 68,000 tickers across more than 70 global exchanges, with financial statement history going back over 40 years. Fundamentals come from SEC filings and prices from Nasdaq, refreshed daily, according to a third party review of the service.&lt;/p&gt;

&lt;p&gt;Here is what makes it stand out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Depth where it matters.&lt;/strong&gt; Beyond income statements, balance sheets and cash flow, it exposes profitability ratios (including return on invested capital, the name on the door), credit and debt ratios, liquidity ratios with an Altman Z-Score, working capital ratios, yield analysis, enterprise value and valuation multiples. Most providers make you calculate those yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A free plan you can really develop on.&lt;/strong&gt; Worldwide coverage, a 5 requests per minute limit and the MCP server are all included at no cost. ROIC.ai's own comparison with Alpha Vantage points out that Alpha Vantage's free key stops at 25 requests per day, which is a very different experience for a developer testing an idea.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Real throughput on a small plan.&lt;/strong&gt; The Individual plan is 29 dollars a month for 300 requests per minute, and Professional at 89 dollars a month has no request cap.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Earnings coverage.&lt;/strong&gt; Earnings calendars with estimates and surprises, plus call transcripts in raw and edited versions, with audio and slide decks where available.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built for AI tools.&lt;/strong&gt; The hosted MCP server exposes 36 read only tools and works on every plan, including free. There is also an open source version you can run locally.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More than prices.&lt;/strong&gt; Forex for more than 4,000 pairs, stock splits, company profiles, logos, and sector and industry reference data, plus bulk downloads on paid plans. Official clients exist for Python, JavaScript, Ruby and Go.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pricing and limits
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Free&lt;/th&gt;
&lt;th&gt;Individual&lt;/th&gt;
&lt;th&gt;Professional&lt;/th&gt;
&lt;th&gt;Enterprise&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price per month&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;29 dollars&lt;/td&gt;
&lt;td&gt;89 dollars&lt;/td&gt;
&lt;td&gt;Custom&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requests per minute&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price and financial history&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;40 plus years&lt;/td&gt;
&lt;td&gt;40 plus years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quarterly financials&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;td&gt;20 quarters&lt;/td&gt;
&lt;td&gt;160 plus quarters&lt;/td&gt;
&lt;td&gt;160 plus quarters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earnings transcripts&lt;/td&gt;
&lt;td&gt;2 quarters&lt;/td&gt;
&lt;td&gt;2 quarters&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earnings calendar and bulk downloads&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP server access&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Commercial license&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Annual billing includes two free months. Free and Individual both cap transcripts at two quarters, so the 17 plus year transcript archive needs Professional.&lt;/p&gt;

&lt;h3&gt;
  
  
  The honest limits
&lt;/h3&gt;

&lt;p&gt;It does not fit every job. Prices are daily only, so there is no intraday or tick data. There is no options or crypto data. And if you plan to redistribute the data inside a product, you need Enterprise, because the lower plans carry no commercial license. If any of those are your main need, look at the providers further down.&lt;/p&gt;

&lt;h3&gt;
  
  
  A first request
&lt;/h3&gt;

&lt;p&gt;Authentication takes one header. Every v3 path starts with the version, and tickers use an exchange prefix such as NASDAQ:AAPL.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;BASE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.roic.ai/v3.0.0&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;HEADERS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ROIC_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;BASE&lt;/span&gt;&lt;span class="si"&gt;}{&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;429&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Retry-After&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;)))&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;path&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;latest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/stock-prices/latest/NASDAQ:AAPL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;income&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/fundamental/income-statement/NASDAQ:AAPL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;period_type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;annual&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;fiscal_year.gte&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2025&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;latest&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;income&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Two details from the docs are worth knowing. Send either the query parameter key or the bearer header, never both, because supplying both returns a 401. And a request counts against your limit before validation runs, so even a malformed call costs you one.&lt;/p&gt;
&lt;h3&gt;
  
  
  Connecting an AI assistant
&lt;/h3&gt;

&lt;p&gt;The hosted MCP server lives at &lt;a href="https://mcp.roic.ai/mcp" rel="noopener noreferrer"&gt;https://mcp.roic.ai/mcp&lt;/a&gt;. In Claude Code, one command adds it:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http roicai https://mcp.roic.ai/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;For CI jobs or clients without hosted login support, there is also an open source server you can run locally with an API key. Review its license and recent commits on GitHub before adopting it, as you would with any third party package.&lt;/p&gt;

&lt;p&gt;Once connected, you can ask for things like profitability ratios for two companies over three years, and the assistant routes the request to the right tool. Plan limits apply exactly as they do over REST.&lt;/p&gt;

&lt;p&gt;For every endpoint, error code and the full MCP tool list, ROIC.ai has its own detailed guide:&lt;/p&gt;


&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl" class="crayons-story__hidden-navigation-link"&gt;ROIC.ai Complete Guide - Financial Data API, Pricing, Endpoints, and the 36-Tool MCP Server&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;
          &lt;a class="crayons-logo crayons-logo--l" href="/roic"&gt;
            &lt;img alt="Roic AI logo" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15551%2F3a8d04e3-a917-4a8f-be35-ebf72160ea98.jpg" class="crayons-logo__image" width="576" height="576"&gt;
          &lt;/a&gt;

          &lt;a href="/thebitforge" class="crayons-avatar  crayons-avatar--s absolute -right-2 -bottom-2 border-solid border-2 border-base-inverted  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3581035%2F7a4e3e11-052c-4b61-9f45-e3f421e69147.png" alt="thebitforge profile" class="crayons-avatar__image" width="768" height="1344"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/thebitforge" class="crayons-story__secondary fw-medium m:hidden"&gt;
              TheBitForge
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                TheBitForge
                
                
              
              &lt;div id="story-author-preview-content-4908918" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/thebitforge" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3581035%2F7a4e3e11-052c-4b61-9f45-e3f421e69147.png" class="crayons-avatar__image" alt="" width="768" height="1344"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;TheBitForge&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;span&gt;
              &lt;span class="crayons-story__tertiary fw-normal"&gt; for &lt;/span&gt;&lt;a href="/roic" class="crayons-story__secondary fw-medium"&gt;Roic AI&lt;/a&gt;
            &lt;/span&gt;
          &lt;/div&gt;
          &lt;a href="https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Oct 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl" id="article-link-4908918"&gt;
          ROIC.ai Complete Guide - Financial Data API, Pricing, Endpoints, and the 36-Tool MCP Server
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/api"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;api&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/programming"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;programming&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;44&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            13 min read
          &lt;/small&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;/div&gt;
&lt;br&gt;


&lt;p&gt;You can start free at &lt;a href="https://www.roic.ai/signup" rel="noopener noreferrer"&gt;roic.ai/signup&lt;/a&gt; with no credit card, and the interactive docs live at &lt;a href="https://www.roic.ai/api/docs" rel="noopener noreferrer"&gt;roic.ai/api/docs&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to judge a finance data API
&lt;/h2&gt;

&lt;p&gt;Most comparison posts rank by feature count. That is the wrong lens. A longer endpoint list does not help if the one endpoint you need is locked behind a plan you cannot afford. These are the questions I would ask, in this order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What kind of data do I need?&lt;/strong&gt; Prices, fundamentals, filings, news and transcripts are different products. Many providers are strong at one and thin at the rest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Where are my companies listed?&lt;/strong&gt; Several providers cover US stocks well and treat everything else as an upgrade.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How much history do I need?&lt;/strong&gt; Free and entry plans often cap history at two to five years. That is fine for a dashboard and useless for a long backtest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What will my call budget look like?&lt;/strong&gt; Do this math before you pick a plan, not after.&lt;/p&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="katex-element"&gt;
  &lt;span class="katex-display"&gt;&lt;span class="katex"&gt;&lt;span class="katex-mathml"&gt;&lt;/span&gt;&lt;span class="katex-html"&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord text"&gt;&lt;span class="mord"&gt;calls&amp;nbsp;per&amp;nbsp;day&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mrel"&gt;=&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;N&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord text mtight"&gt;&lt;span class="mord mtight"&gt;symbols&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;×&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;R&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord text mtight"&gt;&lt;span class="mord mtight"&gt;refreshes&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;span class="mbin"&gt;×&lt;/span&gt;&lt;span class="mspace"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="base"&gt;&lt;span class="strut"&gt;&lt;/span&gt;&lt;span class="mord"&gt;&lt;span class="mord mathnormal"&gt;E&lt;/span&gt;&lt;span class="msupsub"&gt;&lt;span class="vlist-t vlist-t2"&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;span class="pstrut"&gt;&lt;/span&gt;&lt;span class="sizing reset-size6 size3 mtight"&gt;&lt;span class="mord mtight"&gt;&lt;span class="mord text mtight"&gt;&lt;span class="mord mtight"&gt;endpoints&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-s"&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class="vlist-r"&gt;&lt;span class="vlist"&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;


&lt;p&gt;Say you track 500 tickers, refresh twice a day, and hit three endpoints for each. That is 3,000 calls a day. On a free tier capped at 25 requests per day, that job would take 120 days to finish once. And some vendors weight calls differently. EODHD, for example, charges 1 call for an end of day request but 10 for fundamentals, so the same job costs far more than the raw count suggests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Am I allowed to ship this data?&lt;/strong&gt; Personal use and commercial redistribution are different licenses. This is the one people skip, and it is the one that can end a product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can an AI agent use it?&lt;/strong&gt; More providers now run MCP servers so assistants can query data directly. If you build with agents, that is worth checking.&lt;/p&gt;

&lt;h2&gt;
  
  
  The comparison at a glance
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Best for&lt;/th&gt;
&lt;th&gt;Free tier&lt;/th&gt;
&lt;th&gt;Paid entry point&lt;/th&gt;
&lt;th&gt;Standout limit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ROIC.ai&lt;/td&gt;
&lt;td&gt;Fundamentals, ratios, transcripts&lt;/td&gt;
&lt;td&gt;5 requests per minute, 2 years, MCP included&lt;/td&gt;
&lt;td&gt;29 dollars a month for 300 per minute&lt;/td&gt;
&lt;td&gt;Daily prices only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alpha Vantage&lt;/td&gt;
&lt;td&gt;Learning, scheduled jobs&lt;/td&gt;
&lt;td&gt;25 requests per day, 5 per minute&lt;/td&gt;
&lt;td&gt;49.99 dollars a month for 75 per minute&lt;/td&gt;
&lt;td&gt;Free tier is tiny&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Financial Modeling Prep&lt;/td&gt;
&lt;td&gt;Statements and screening&lt;/td&gt;
&lt;td&gt;250 calls per day, end of day&lt;/td&gt;
&lt;td&gt;Starter, US only&lt;/td&gt;
&lt;td&gt;Global data sits in the top plan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Massive (Polygon.io)&lt;/td&gt;
&lt;td&gt;Live US trading data&lt;/td&gt;
&lt;td&gt;5 calls per minute, 2 years end of day&lt;/td&gt;
&lt;td&gt;29 dollars a month, 15 minute delay&lt;/td&gt;
&lt;td&gt;US focus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Twelve Data&lt;/td&gt;
&lt;td&gt;Multi asset time series&lt;/td&gt;
&lt;td&gt;800 credits per day&lt;/td&gt;
&lt;td&gt;29 dollars a month&lt;/td&gt;
&lt;td&gt;Credit weights vary by endpoint&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finnhub&lt;/td&gt;
&lt;td&gt;Fast prototypes&lt;/td&gt;
&lt;td&gt;60 calls per minute, personal use&lt;/td&gt;
&lt;td&gt;Priced per market&lt;/td&gt;
&lt;td&gt;Free tier is non commercial&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;EODHD&lt;/td&gt;
&lt;td&gt;Global history&lt;/td&gt;
&lt;td&gt;20 calls per day&lt;/td&gt;
&lt;td&gt;19.99 dollars a month&lt;/td&gt;
&lt;td&gt;Fundamentals cost 10 calls each&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tiingo&lt;/td&gt;
&lt;td&gt;Adjusted history&lt;/td&gt;
&lt;td&gt;Free Starter plan&lt;/td&gt;
&lt;td&gt;30 dollars a month&lt;/td&gt;
&lt;td&gt;Fundamentals sold separately&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SEC EDGAR&lt;/td&gt;
&lt;td&gt;Filings and XBRL&lt;/td&gt;
&lt;td&gt;Free, no key&lt;/td&gt;
&lt;td&gt;Not applicable&lt;/td&gt;
&lt;td&gt;10 requests per second, you normalize the data&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The other best finance data APIs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Alpha Vantage
&lt;/h3&gt;

&lt;p&gt;Alpha Vantage is where a lot of developers start, and there is a good reason. It has a huge tutorial base, a broad endpoint list that includes technical indicators, and a key you can get in seconds.&lt;/p&gt;

&lt;p&gt;The free tier is the catch. You get 25 requests per day and 5 per minute, and the vendor's own community has noted that the daily number used to be 500, then 100, and is now 25. Paid plans run from 49.99 dollars a month for 75 requests per minute up to 249.99 for 1,200 per minute, and paid plans have no daily cap.&lt;/p&gt;

&lt;p&gt;Use it for learning and for small scheduled jobs. Do not build anything that refreshes often on the free key.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://www.alphavantage.co/query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;params&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;function&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;GLOBAL_QUOTE&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;symbol&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;IBM&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;apikey&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ALPHAVANTAGE_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Financial Modeling Prep
&lt;/h3&gt;

&lt;p&gt;Financial Modeling Prep, usually called FMP, leans toward statements, ratios and screening. The free Basic plan gives 250 calls per day with end of day data and a sample of tickers.&lt;/p&gt;

&lt;p&gt;The paid ladder matters more than the free tier. Starter allows 300 calls per minute but covers US companies only. Premium raises that to 750 per minute and adds UK and Canadian coverage plus up to 30 years of history. Global coverage, earnings transcripts and 13F filings sit in Ultimate at 3,000 calls per minute.&lt;/p&gt;

&lt;p&gt;One detail most reviews miss: FMP also enforces a trailing 30 day bandwidth cap, 500 MB on free, 20 GB on Starter, 50 GB on Premium and 150 GB on Ultimate. If you pull bulk statements, you can hit that before you hit the call limit.&lt;/p&gt;

&lt;p&gt;Starter pricing shows up in the twenties on annual billing and a little higher month to month, so check the live page.&lt;/p&gt;

&lt;h3&gt;
  
  
  Massive, formerly Polygon.io
&lt;/h3&gt;

&lt;p&gt;Polygon.io became Massive on October 30, 2025. The two API hostnames ran in parallel during the transition, and the plan prices I found match what Polygon charged under its old name.&lt;/p&gt;

&lt;p&gt;Massive is the pick when you care about live US market data. It covers stocks, options, indices, forex and crypto, with WebSocket streaming and flat file downloads. Individual stock plans run from a free Basic tier (5 calls per minute, two years of end of day data) to Starter at 29 dollars a month, Developer at 79 and Advanced at 199. Starter data is delayed 15 minutes, so true real time costs more.&lt;/p&gt;

&lt;p&gt;The tradeoff is scope. It is excellent at market data and less central for fundamentals, and it is US focused.&lt;/p&gt;

&lt;h3&gt;
  
  
  Twelve Data
&lt;/h3&gt;

&lt;p&gt;Twelve Data offers one consistent interface across equities, ETFs, forex, crypto and indices, with server side technical indicators and WebSockets. The free plan gives 800 API credits per day, and paid plans start at 29 dollars a month.&lt;/p&gt;

&lt;p&gt;The word to watch is credits. Different endpoints consume different amounts, so a naive call count will mislead you. Read their data weight explanation before you size a plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Finnhub
&lt;/h3&gt;

&lt;p&gt;Finnhub has one of the most generous free tiers in the category: about 60 calls per minute, real time US quotes, company news, basic fundamentals, forex and crypto, and a WebSocket stream, all without a credit card.&lt;/p&gt;

&lt;p&gt;The catch is the license. The free key is meant for personal, non commercial projects. Paid plans are priced per market and not as simple to read as a flat table, so expect to spend some time on the pricing page.&lt;/p&gt;

&lt;p&gt;It is a great prototyping key. Confirm the terms before it goes near a product.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://finnhub.io/api/v1/quote&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;symbol&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AAPL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;token&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;FINNHUB_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]},&lt;/span&gt;
    &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  EODHD
&lt;/h3&gt;

&lt;p&gt;EODHD, short for EOD Historical Data, is the long history specialist. The free plan gives only 20 calls per day, but the paid End of Day plan is 19.99 dollars a month and the End of Day plus Intraday plan is 29.99. Paid plans allow 100,000 calls per day and 1,000 per minute.&lt;/p&gt;

&lt;p&gt;Remember the call weights. One call for end of day or live data, five for intraday and news, ten for fundamentals, and 100 or more for bulk. Commercial use goes through a separate startup and enterprise plan, so do not assume a 29.99 dollar plan covers a product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tiingo
&lt;/h3&gt;

&lt;p&gt;Tiingo is the one I would reach for when the quality of adjusted price history and corporate actions matters most, such as backtesting. Its free Starter plan is limited to about 50 requests per hour and 500 unique symbols per month. The Power plan for individuals is 30 dollars a month, or 300 on annual billing, and a Business plan for internal company use is priced higher.&lt;/p&gt;

&lt;p&gt;Fundamentals and news have historically sat behind paid access or add ons, so check what your plan includes before you plan around them.&lt;/p&gt;

&lt;h3&gt;
  
  
  SEC EDGAR
&lt;/h3&gt;

&lt;p&gt;EDGAR is not a vendor. It is the primary source, and it is free. The SEC exposes company submissions and extracted XBRL facts through JSON endpoints on data.sec.gov, with no API key.&lt;/p&gt;

&lt;p&gt;The rules are strict. The fair access guidance caps you at 10 requests per second across all your machines, and you must send a User-Agent that identifies you with contact details. Skip that header and you get a 403 quickly, and repeat offenders can be blocked.&lt;/p&gt;

&lt;p&gt;You also do the normalizing yourself. Facts can appear under several taxonomies, and companies tag things differently. That is the price of free, as filed data, and it is the work a service like ROIC.ai does for you.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="n"&gt;HEADERS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User-Agent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Your Name your.email@example.com&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;facts&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://data.sec.gov/api/xbrl/companyfacts/CIK0000320193.json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;HEADERS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;revenues&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;facts&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;facts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-gaap&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Revenues&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{})&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;revenues&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;units&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{}).&lt;/span&gt;&lt;span class="nf"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;()))&lt;/span&gt;
&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;0.2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# stay far below 10 requests per second
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A note on yfinance. It is a popular open source Python wrapper around Yahoo Finance data. It is great in a notebook, but it is not an official API with an agreement behind it, so I would not build a paid product on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Measure them yourself
&lt;/h2&gt;

&lt;p&gt;Documentation tells you what a vendor promises. A ten minute test tells you what you will actually get from your own server. Here is a small harness that times a list of endpoints and prints the median and the slowest runs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;os&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;statistics&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;bench&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;runs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;times&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;runs&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;perf_counter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeout&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;raise_for_status&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;times&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;perf_counter&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sleep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# respect free tier limits
&lt;/span&gt;    &lt;span class="n"&gt;times&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: median &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;statistics&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;median&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;times&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; ms, slowest &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;times&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; ms&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;bench&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;roic.ai&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;https://api.roic.ai/v3.0.0/stock-prices/latest/NASDAQ:AAPL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Bearer &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;os&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environ&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ROIC_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# Add one line per provider, with your own keys
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run it from the region where your app will live. A fast result from your laptop in one country can look very different from a cloud server in another.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mistakes that cost real money
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Using unadjusted prices for returns.&lt;/strong&gt; After a split or dividend, raw closes lie. Check whether an endpoint returns adjusted or unadjusted data before you compute anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Treating the free tier as a license.&lt;/strong&gt; A key that works is not permission to redistribute. Read the terms for commercial use every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Counting calls without weights.&lt;/strong&gt; The 3,000 calls you planned can turn into 30,000 on a provider that weights fundamentals.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Putting keys in query strings.&lt;/strong&gt; URLs get logged by servers, proxies and browsers. Prefer an authorization header where the provider supports one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Skipping the cache.&lt;/strong&gt; Fundamentals change a few times a year. Fetch them once, store them, and stop paying for the same answer twice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ignoring symbol formats.&lt;/strong&gt; Some providers want a bare ticker, others want an exchange prefix. A mismatch looks like missing data when it is really a wrong identifier.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;p&gt;&lt;/p&gt;
  What is the best finance data API?
  &lt;br&gt;
For company fundamentals, ratios and earnings transcripts across many markets, ROIC.ai is the one I would start with. For live US trading data it is Massive, and for a free prototype key it is Finnhub. The right answer depends on the data you need, so use the quick answer table near the top.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  What is the best free finance data API?
  &lt;br&gt;
For raw call volume, Finnhub's 60 calls per minute is the most generous, though it is for personal use. For fundamentals on a free key, ROIC.ai offers worldwide coverage, 5 requests per minute and MCP access, with two years of history. Alpha Vantage's 25 requests per day is the tightest of the group.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Which finance data API works best with AI agents?
  &lt;br&gt;
Look for a native MCP server. ROIC.ai runs a hosted one with 36 read only tools on every plan, including free, and an open source version for local use. Several other providers have community built servers. Plan limits still apply to every tool call.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Which finance data API has real time stock data?
  &lt;br&gt;
Massive, Finnhub and Twelve Data all offer real time or streaming options, with limits that depend on the plan. Several entry plans deliver data delayed by 15 minutes, so check the delay before you build anything that trades. ROIC.ai serves daily prices only.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Is there an official free source for company financials?
  &lt;br&gt;
Yes. SEC EDGAR provides filings and XBRL facts for free with no key, within a limit of 10 requests per second and a required User-Agent header. You normalize the data yourself.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Can I use these APIs in a commercial product?
  &lt;br&gt;
Often only on higher tiers. ROIC.ai reserves commercial redistribution for Enterprise, Finnhub's free key is non commercial, and EODHD routes commercial use to a separate plan. Always read the license, not just the pricing table.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;Choose by the job, not by the brand. For live US trading data, Massive is the natural fit. For a free prototype key, Finnhub and Twelve Data are hard to beat. For decades of global end of day history, look at EODHD. For clean adjusted prices, Tiingo. For official filings at no cost, go to EDGAR directly.&lt;/p&gt;

&lt;p&gt;And for fundamentals, ratios and transcripts across many markets, with an MCP server for your AI tools and a free plan to test on, ROIC.ai is the one I would open first. Create a free key at &lt;a href="https://www.roic.ai/signup" rel="noopener noreferrer"&gt;roic.ai/signup&lt;/a&gt;, run the first request from this post, and see whether the data matches what you need.&lt;/p&gt;

&lt;p&gt;Whatever you pick, run the call budget math first, read the license second, and test with your own script third. That order saves you from the expensive kind of surprise.&lt;/p&gt;

&lt;p&gt;What are you building, and which API ended up in your stack? Tell me in the comments.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>ROIC.ai Complete Guide - Financial Data API, Pricing, Endpoints, and the 36-Tool MCP Server</title>
      <dc:creator>TheBitForge</dc:creator>
      <pubDate>Sat, 24 Oct 2026 06:13:05 +0000</pubDate>
      <link>https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl</link>
      <guid>https://dev.to/roic/roicai-complete-guide-financial-data-api-pricing-endpoints-and-the-36-tool-mcp-server-6fl</guid>
      <description>&lt;p&gt;&lt;a href="https://www.roic.ai/" rel="noopener noreferrer"&gt;ROIC.ai&lt;/a&gt; is a financial data API covering stock prices, financial statements, earnings call transcripts, financial ratios, and company data across 68,000+ tickers and 70+ global exchanges. This guide documents the full product: authentication, response formats, every endpoint category, exact pricing across all four tiers, and the complete 36-tool MCP server with setup steps for every supported client.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Overview&lt;/li&gt;
&lt;li&gt;Data Coverage&lt;/li&gt;
&lt;li&gt;Account Setup and API Keys&lt;/li&gt;
&lt;li&gt;Authentication&lt;/li&gt;
&lt;li&gt;Base URL and First Request&lt;/li&gt;
&lt;li&gt;Response Format&lt;/li&gt;
&lt;li&gt;Pagination&lt;/li&gt;
&lt;li&gt;Error Codes&lt;/li&gt;
&lt;li&gt;Rate Limits&lt;/li&gt;
&lt;li&gt;Full Endpoint Reference&lt;/li&gt;
&lt;li&gt;Pricing — All Four Plans&lt;/li&gt;
&lt;li&gt;MCP Server&lt;/li&gt;
&lt;li&gt;MCP Tool Reference (36 Tools)&lt;/li&gt;
&lt;li&gt;MCP Setup by Client&lt;/li&gt;
&lt;li&gt;Self-Hosting the MCP Server&lt;/li&gt;
&lt;li&gt;SDKs&lt;/li&gt;
&lt;li&gt;Known Limitations&lt;/li&gt;
&lt;li&gt;Reference Links&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;ROIC.ai ( &lt;a class="mentioned-user" href="https://dev.to/vladcx"&gt;@vladcx&lt;/a&gt; ) operates as a REST API (&lt;code&gt;api.roic.ai&lt;/code&gt;) with a parallel MCP server (&lt;code&gt;mcp.roic.ai&lt;/code&gt;) that exposes the same data to AI assistants as callable tools. Both interfaces draw from the same underlying dataset and the same per-plan limits.&lt;/p&gt;

&lt;p&gt;Published scale figures:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Financial statement history&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tickers covered&lt;/td&gt;
&lt;td&gt;68,000+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quarters of data per company&lt;/td&gt;
&lt;td&gt;120+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earnings call transcript history&lt;/td&gt;
&lt;td&gt;17+ years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global exchanges&lt;/td&gt;
&lt;td&gt;70+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Advertised uptime&lt;/td&gt;
&lt;td&gt;99.9%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Advertised response time&lt;/td&gt;
&lt;td&gt;Sub-200ms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Commercial redistribution rights (shipping the data inside a product you sell) are available only on the Enterprise plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Coverage
&lt;/h2&gt;

&lt;p&gt;The API is organized into four data groups.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fundamentals
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Income statement (annual + quarterly revenue, net income, EPS, EBITDA)&lt;/li&gt;
&lt;li&gt;Balance sheet (assets, liabilities, equity, debt, cash positions)&lt;/li&gt;
&lt;li&gt;Cash flow statement (operating, investing, financing, CapEx, free cash flow)&lt;/li&gt;
&lt;li&gt;Pre-computed financial ratios and valuation metrics&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Earnings
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Earnings calendar (scheduled + reported, filterable by ticker/date)&lt;/li&gt;
&lt;li&gt;Consensus estimates vs. reported actuals&lt;/li&gt;
&lt;li&gt;EPS surprise history (beat/miss with calculated surprise size)&lt;/li&gt;
&lt;li&gt;Full call transcripts — raw and edited versions, organized by fiscal quarter&lt;/li&gt;
&lt;li&gt;Call audio and slide decks (where available)&lt;/li&gt;
&lt;li&gt;SEC filings tied to earnings events&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Market Data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Historical daily OHLCV and VWAP, adjusted or unadjusted for splits/dividends&lt;/li&gt;
&lt;li&gt;Latest daily price (single ticker or market-wide snapshot)&lt;/li&gt;
&lt;li&gt;Stock splits (forward and reverse, with ratios and execution dates)&lt;/li&gt;
&lt;li&gt;Forex rates for 4,000+ currency pairs, historical and latest&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Company Data
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Company profiles (identity, classification, market cap, CEO, exchange listings)&lt;/li&gt;
&lt;li&gt;Company logos (WebP or PNG, sized on request)&lt;/li&gt;
&lt;li&gt;Sector and industry classification with ticker counts per category&lt;/li&gt;
&lt;li&gt;SEC-sourced fiscal-year employee headcount history&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Account Setup and API Keys
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;a href="https://www.roic.ai/signup" rel="noopener noreferrer"&gt;roic.ai/signup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Create an account — no credit card required for the Free plan&lt;/li&gt;
&lt;li&gt;Open your dashboard and copy your API key&lt;/li&gt;
&lt;li&gt;The same key authenticates both API v2 and v3 requests&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Authentication
&lt;/h2&gt;

&lt;p&gt;Every request uses &lt;strong&gt;exactly one&lt;/strong&gt; of two authentication methods. Supplying both on the same request returns &lt;code&gt;401 Unauthorized&lt;/code&gt;, even when both values are the correct key.&lt;/p&gt;

&lt;h3&gt;
  
  
  Method 1: Query parameter
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v3.0.0/company/profile/NASDAQ:AAPL?apikey=YOUR_API_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Suitable for quick testing in a browser or terminal. Not recommended for production, since query parameters are commonly logged by servers, proxies, and browser history.&lt;/p&gt;
&lt;h3&gt;
  
  
  Method 2: Bearer token (recommended)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v3.0.0/company/profile/NASDAQ:AAPL"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$ROIC_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This is the documented method for production applications, server-side code, and scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key storage rules per the docs:&lt;/strong&gt; store the key in an environment variable or secrets manager; never commit it to source control; never expose it in client-side browser code.&lt;/p&gt;
&lt;h2&gt;
  
  
  Base URL and First Request
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.roic.ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Every v3 endpoint path begins with &lt;code&gt;/v3.0.0&lt;/code&gt;. Example — company profile for Apple:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v3.0.0/company/profile/NASDAQ:AAPL?apikey=YOUR_API_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;A successful call returns &lt;code&gt;200 OK&lt;/code&gt;, a &lt;code&gt;Request-Id&lt;/code&gt; response header (used for support/debugging), and the resource object directly.&lt;/p&gt;
&lt;h2&gt;
  
  
  Response Format
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Single-resource responses
&lt;/h3&gt;

&lt;p&gt;Returned as an unwrapped object — not nested under a &lt;code&gt;data&lt;/code&gt; key:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tkr_cO46h8pgSu9Qqy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"object"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"v3.reference.ticker"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"symbol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"NASDAQ:AAPL"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"ticker"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"AAPL"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Nullable fields are present with a &lt;code&gt;null&lt;/code&gt; value when no data is available, rather than being omitted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Exception:&lt;/strong&gt; stock prices, forex prices, and forex pairs do not include &lt;code&gt;id&lt;/code&gt; or &lt;code&gt;object&lt;/code&gt; fields. A per-row ID would duplicate data already present in the request, so these resources are addressed by &lt;code&gt;symbol&lt;/code&gt; and &lt;code&gt;date&lt;/code&gt; instead:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"symbol"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"NASDAQ:AAPL"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"date"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2026-07-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"close"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;212.41&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  List responses
&lt;/h3&gt;

&lt;p&gt;Returned as a &lt;code&gt;data&lt;/code&gt; array with pagination URLs:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"next_page_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/v3.0.0/tickers?limit=50&amp;amp;page=page_v1_opaque_token"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"previous_page_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;First page: &lt;code&gt;previous_page_url&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Last page: &lt;code&gt;next_page_url&lt;/code&gt; is &lt;code&gt;null&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Price-history list endpoints put the shared &lt;code&gt;symbol&lt;/code&gt; and &lt;code&gt;currency&lt;/code&gt; once on the envelope rather than repeating them on every row; these fields remain present even when &lt;code&gt;data&lt;/code&gt; is empty&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Binary response (one exception)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;GET /v3.0.0/company/logo/{identifier}&lt;/code&gt; returns raw WebP or PNG bytes instead of JSON, with &lt;code&gt;Content-Type&lt;/code&gt;, &lt;code&gt;ETag&lt;/code&gt;, and &lt;code&gt;Cache-Control&lt;/code&gt; headers. Conditional requests can return &lt;code&gt;304 Not Modified&lt;/code&gt; with an empty body. Logo failures still return the standard JSON error envelope.&lt;/p&gt;
&lt;h2&gt;
  
  
  Pagination
&lt;/h2&gt;

&lt;p&gt;Most list endpoints use cursor-based pagination.&lt;/p&gt;

&lt;p&gt;Request the first page without a &lt;code&gt;page&lt;/code&gt; parameter:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v3.0.0/tickers?limit=50"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$ROIC_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Follow the returned &lt;code&gt;next_page_url&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v3.0.0/tickers?limit=50&amp;amp;page=page_v1_opaque_token"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$ROIC_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Page tokens are &lt;strong&gt;opaque&lt;/strong&gt; — never decode, edit, or construct one manually. Each token is bound to the specific endpoint, filters, sort order, and &lt;code&gt;limit&lt;/code&gt; that generated it.&lt;/li&gt;
&lt;li&gt;Tokens &lt;strong&gt;expire after one hour&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Changing a filter, sort order, or page size requires starting a new request without a &lt;code&gt;page&lt;/code&gt; parameter.&lt;/li&gt;
&lt;li&gt;Query-authenticated clients must re-append &lt;code&gt;?apikey=&lt;/code&gt; on every followed page URL — returned page URLs never carry credentials.&lt;/li&gt;
&lt;li&gt;The API uses stable keyset ordering, but underlying data can change between requests; store results locally if a reproducible dataset is required.&lt;/li&gt;
&lt;li&gt;A small number of endpoints (e.g., the metric-definition list) are &lt;strong&gt;unpaginated&lt;/strong&gt; — they return every matching record in one response and don't accept &lt;code&gt;limit&lt;/code&gt;, &lt;code&gt;page&lt;/code&gt;, or &lt;code&gt;order&lt;/code&gt;; both page URLs are always &lt;code&gt;null&lt;/code&gt; on these.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Error Codes
&lt;/h2&gt;

&lt;p&gt;All errors use one consistent envelope:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"invalid_request_error"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"resource_missing"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"The requested resource does not exist."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"request_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"req_0af7651916cd43dd8448eb211c80319c"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Application logic should branch on &lt;code&gt;type&lt;/code&gt; and &lt;code&gt;code&lt;/code&gt; — not the human-readable &lt;code&gt;message&lt;/code&gt;, which is not guaranteed to stay stable in wording. The optional &lt;code&gt;param&lt;/code&gt; field, when present, identifies which request value needs to change.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;HTTP Status&lt;/th&gt;
&lt;th&gt;&lt;code&gt;type&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;&lt;code&gt;invalid_request_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Invalid parameter, body, or page token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;401&lt;/td&gt;
&lt;td&gt;&lt;code&gt;authentication_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Missing, conflicting, malformed, or unknown credentials&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;402&lt;/td&gt;
&lt;td&gt;&lt;code&gt;payment_required_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current plan does not include access to this resource&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;404&lt;/td&gt;
&lt;td&gt;&lt;code&gt;invalid_request_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Resource or v3 route does not exist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;409&lt;/td&gt;
&lt;td&gt;&lt;code&gt;conflict_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Request conflicts with existing state&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;429&lt;/td&gt;
&lt;td&gt;&lt;code&gt;rate_limit_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Request limit exceeded&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;&lt;code&gt;api_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Unexpected server-side failure&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;503&lt;/td&gt;
&lt;td&gt;&lt;code&gt;api_error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;A required dependency is unavailable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Error responses carry &lt;code&gt;Cache-Control: no-store&lt;/code&gt; and must not be cached. Every response — success or failure — includes a &lt;code&gt;Request-Id&lt;/code&gt; header.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documented retry policy:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;429&lt;/code&gt; → wait for the duration in &lt;code&gt;Retry-After&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;500&lt;/code&gt; / &lt;code&gt;503&lt;/code&gt; → capped exponential backoff with jitter&lt;/li&gt;
&lt;li&gt;Validation or authentication errors → correct the request before retrying; retrying unmodified requests will not succeed&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Rate Limits
&lt;/h2&gt;

&lt;p&gt;v2 and v3 requests draw from the &lt;strong&gt;same quota&lt;/strong&gt; per API key, enforced on a sliding 60-second window. An authenticated request is counted against the quota before parameter validation runs, so even an invalid request consumes one call if the limit has not been reached.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Requests/minute&lt;/th&gt;
&lt;th&gt;History available&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Individual&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Professional&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;All available (40+ years)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;All available (40+ years)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Rate-limit response headers
&lt;/h3&gt;

&lt;p&gt;Present on most metered responses, but not guaranteed on every call:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Header&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;X-RateLimit-Limit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Enforced limit for the current window&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;X-RateLimit-Remaining&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Requests remaining after this one&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;X-RateLimit-Reset&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Unix timestamp when the oldest request exits the window&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  429 response example
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"error"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"rate_limit_error"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"code"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"rate_limit_exceeded"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Rate limit exceeded for the free plan. Retry in 42 seconds or update your plan."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"request_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"req_0af7651916cd43dd8448eb211c80319c"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Full Endpoint Reference
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Tickers
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List all tickers&lt;/td&gt;
&lt;td&gt;Paginated catalog of all tickers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieve a ticker&lt;/td&gt;
&lt;td&gt;Single ticker resource&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search tickers&lt;/td&gt;
&lt;td&gt;Resolve company name/symbol to ticker resources&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Company
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Company profile&lt;/td&gt;
&lt;td&gt;CEO, sector, industry, market cap, exchange listings, description&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Company employees&lt;/td&gt;
&lt;td&gt;Fiscal-year headcount history (SEC-sourced)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Company logo&lt;/td&gt;
&lt;td&gt;Binary WebP/PNG, supports conditional requests&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Earnings Calls
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List earnings calls&lt;/td&gt;
&lt;td&gt;All available calls by year/quarter/date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Raw transcript&lt;/td&gt;
&lt;td&gt;Unedited call transcript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edited transcript&lt;/td&gt;
&lt;td&gt;Cleaned/formatted transcript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Call audio&lt;/td&gt;
&lt;td&gt;Audio file for the call&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Slide decks&lt;/td&gt;
&lt;td&gt;Presentation materials from the call&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Filings&lt;/td&gt;
&lt;td&gt;SEC filings tied to the earnings event&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Calendar
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Earnings calendar&lt;/td&gt;
&lt;td&gt;Scheduled and reported earnings with estimates/actuals/surprises&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Stock Prices
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Historical prices&lt;/td&gt;
&lt;td&gt;Daily OHLCV with date-range filtering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latest price&lt;/td&gt;
&lt;td&gt;Most recent quote, single ticker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;List all latest stock prices&lt;/td&gt;
&lt;td&gt;Market-wide latest-price snapshot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Stock Splits
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List stock splits&lt;/td&gt;
&lt;td&gt;Market-wide or per-ticker split events&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Financial Statements
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Income statement&lt;/td&gt;
&lt;td&gt;Revenue, net income, EPS, EBITDA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Balance sheet&lt;/td&gt;
&lt;td&gt;Assets, liabilities, equity, debt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cash flow statement&lt;/td&gt;
&lt;td&gt;Operating/investing/financing cash flow, CapEx, FCF&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Financial Ratios
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Profitability ratios&lt;/td&gt;
&lt;td&gt;ROE, ROA, ROIC, margins&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Credit &amp;amp; debt ratios&lt;/td&gt;
&lt;td&gt;Debt/EBITDA, debt/equity, interest coverage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquidity ratios&lt;/td&gt;
&lt;td&gt;Current, quick, cash ratio, Altman Z-Score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Working capital ratios&lt;/td&gt;
&lt;td&gt;Turnover ratios, cash conversion cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Yield analysis&lt;/td&gt;
&lt;td&gt;FCF yield, shareholder yield, capital yield&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Valuation
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise value&lt;/td&gt;
&lt;td&gt;Market cap, EV, EV/Sales, EV/EBITDA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Valuation multiples&lt;/td&gt;
&lt;td&gt;P/E, P/B, P/S, P/CF, EV multiples&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Per-share data&lt;/td&gt;
&lt;td&gt;EPS, revenue, book value, cash flow per share&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Forex
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;List forex pairs&lt;/td&gt;
&lt;td&gt;Currency-pair catalog&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Historical forex prices&lt;/td&gt;
&lt;td&gt;Daily OHLC history for one pair&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latest forex price&lt;/td&gt;
&lt;td&gt;Latest rate for one pair&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;List all latest forex prices&lt;/td&gt;
&lt;td&gt;Latest rate, every pair&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Bulk Downloads (paid plans only)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Bulk fundamentals&lt;/td&gt;
&lt;td&gt;Mass financial-statement export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bulk earnings calls&lt;/td&gt;
&lt;td&gt;Mass transcript export&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bulk stock prices&lt;/td&gt;
&lt;td&gt;Mass price-history export&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Reference Data
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Exchanges&lt;/td&gt;
&lt;td&gt;All exchanges with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange trading hours&lt;/td&gt;
&lt;td&gt;Full trading-session history per exchange&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange holidays&lt;/td&gt;
&lt;td&gt;Holiday calendar per exchange&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Markets&lt;/td&gt;
&lt;td&gt;Markets with country codes and symbol counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sectors&lt;/td&gt;
&lt;td&gt;All sectors with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Industries&lt;/td&gt;
&lt;td&gt;All industries with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Countries&lt;/td&gt;
&lt;td&gt;All countries with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Full interactive documentation and the OpenAPI spec: &lt;a href="https://www.roic.ai/api/docs" rel="noopener noreferrer"&gt;roic.ai/api/docs&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Pricing — All Four Plans
&lt;/h2&gt;

&lt;p&gt;Billed monthly or annually; annual billing includes 2 free months.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Free&lt;/th&gt;
&lt;th&gt;Individual&lt;/th&gt;
&lt;th&gt;Professional&lt;/th&gt;
&lt;th&gt;Enterprise&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Price/month&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;$29&lt;/td&gt;
&lt;td&gt;$89&lt;/td&gt;
&lt;td&gt;Custom&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requests/minute&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Historical data&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;All available (40+ yrs)&lt;/td&gt;
&lt;td&gt;All available (40+ yrs)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Market coverage&lt;/td&gt;
&lt;td&gt;Worldwide&lt;/td&gt;
&lt;td&gt;Worldwide&lt;/td&gt;
&lt;td&gt;Worldwide&lt;/td&gt;
&lt;td&gt;Worldwide&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Annual financials&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Quarterly financials&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;20 quarters&lt;/td&gt;
&lt;td&gt;160+ quarters&lt;/td&gt;
&lt;td&gt;160+ quarters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Financial ratios&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Valuation metrics&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;td&gt;40+ years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stock prices&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch stock prices&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Stock splits&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Forex&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earnings call transcripts&lt;/td&gt;
&lt;td&gt;2 quarters&lt;/td&gt;
&lt;td&gt;2 quarters&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Earnings calendar&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bulk downloads&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange calendars&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP server access&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Commercial-use license&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Invoicing / multi-user access&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Dedicated support&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All four tiers include company profile data, ticker search, and reference data (sectors, industries, countries, exchanges) at no additional cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note on earnings transcripts:&lt;/strong&gt; both Free and Individual are capped at 2 quarters of call transcripts. Full transcript history (17+ years) is only unlocked on Professional and Enterprise, alongside the 40-year financial history.&lt;/p&gt;
&lt;h2&gt;
  
  
  MCP Server
&lt;/h2&gt;

&lt;p&gt;ROIC.ai runs a hosted MCP (Model Context Protocol) server exposing &lt;strong&gt;36 read-only tools&lt;/strong&gt; to AI assistants. An assistant connected to the server selects the appropriate tool(s) based on a natural-language request, subject to the connected account's plan limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Server URL:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://mcp.roic.ai/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;MCP server access is included on every plan, including Free. Plan limits (requests/minute, history depth) apply identically whether data is requested through the REST API or through MCP tool calls. Some calendar, exchange-schedule, and bulk-feed tools require a paid plan regardless of access method.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Requests/minute&lt;/th&gt;
&lt;th&gt;History via MCP&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;2 years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Individual&lt;/td&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;5 years&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Professional&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;All available&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  MCP Tool Reference (36 Tools)
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Tickers &amp;amp; Discovery
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;search_tickers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Search by ticker symbol or company name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_tickers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List tickers with listing status, filterable by &lt;code&gt;listed&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;search_ticker_by_identifier&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Look up a ticker by CIK, CUSIP, or ISIN&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Company Information
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_company_profile&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;CEO, employees, sector, industry, description&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_employee_counts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Historical fiscal-year employee counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_company_news&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Recent news articles, paginated and date-filterable&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Earnings Calls and Calendar
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_earnings_calendar&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Scheduled/reported earnings with estimates, actuals, surprises&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_latest_earnings_call&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Most recent call transcript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_earnings_calls&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;List all available calls by year, quarter, date&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_earnings_call_transcript&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specific transcript by year and quarter&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Stock Prices and Splits
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_stock_prices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Historical OHLCV with date-range filtering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_latest_stock_price&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Most recent price for one ticker&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_latest_stock_prices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Latest quote for every ticker, filterable by exchange&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_stock_splits&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Market-wide or per-ticker split events&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Financial Statements
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_income_statement&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Revenue, gross profit, operating income, net income, EPS, EBITDA, margins&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_balance_sheet&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Assets, liabilities, equity, shares outstanding, debt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_cash_flow&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Operating/investing/financing cash flows, CapEx, free cash flow&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Financial Ratios
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_profitability_ratios&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;ROE, ROA, ROIC, margins, effective tax rate, payout ratio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_credit_ratios&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Debt/EBITDA, debt/equity, interest coverage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_liquidity_ratios&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Current ratio, quick ratio, cash ratio, Altman Z-Score&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_working_capital_ratios&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Receivable/inventory/payable turnover, cash conversion cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_yield_analysis&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FCF yield, shareholder yield, capital yield&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Valuation &amp;amp; Metrics
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_enterprise_value&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Market cap, enterprise value, EV/Sales, EV/EBITDA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_valuation_multiples&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;P/E, P/B, P/S, P/CF, EV multiples (last/avg/high/low)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_per_share_data&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;EPS, revenue, EBITDA, book value, cash flow per share&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Reference Data
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_exchanges&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All exchanges with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_exchange_trading_hours&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Full trading-session history for one exchange&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_exchange_holidays&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Holiday calendar for one exchange&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_markets&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Markets with country codes, exchanges, symbol counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_sectors&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All sectors with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_industries&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All industries with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_countries&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;All countries with ticker counts&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Forex
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_forex_pairs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Currency-pair catalog with base, quote, synthetic status&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_forex_prices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Historical daily OHLC rates, one pair&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;get_latest_forex_price&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Latest daily rate, one pair&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;list_latest_forex_prices&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Latest rate for every pair, filterable by currency&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Example natural-language queries
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Tell me about Apple's business. What do they do, who's the CEO,
and how many employees do they have?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;get_company_profile&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Compare Microsoft and Google's profitability over the last 3 years.
Show me their margins and ROE.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;get_profitability_ratios&lt;/code&gt;, called once per ticker.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;What did Apple's management say about AI in their latest earnings call?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;get_latest_earnings_call&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Is Tesla overvalued? Show me its P/E ratio, EV/EBITDA, and
price-to-sales compared to the last 5 years.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;get_valuation_multiples&lt;/code&gt; with a historical range.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show me Amazon's stock price performance for January 2025.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;get_stock_prices&lt;/code&gt; with date filters.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Which sectors have the most publicly traded companies?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Routes to &lt;code&gt;list_sectors&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  MCP Setup by Client
&lt;/h2&gt;
&lt;h3&gt;
  
  
  ChatGPT
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;strong&gt;Settings → Apps → Advanced settings&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Toggle &lt;strong&gt;Developer mode&lt;/strong&gt; on&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create&lt;/strong&gt; to open the New App configuration window&lt;/li&gt;
&lt;li&gt;Fill in: Name &lt;code&gt;Roic AI&lt;/code&gt;, Connection type &lt;strong&gt;Server URL&lt;/strong&gt;, URL &lt;code&gt;https://mcp.roic.ai/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Check &lt;strong&gt;"I understand and want to continue"&lt;/strong&gt;, click &lt;strong&gt;Create&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Sign in with Roic AI&lt;/strong&gt; and authorize in the browser tab that opens&lt;/li&gt;
&lt;li&gt;In a new chat, click &lt;strong&gt;+ → More → Roic AI&lt;/strong&gt; to attach the tool&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Claude Code (CLI)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http roicai https://mcp.roic.ai/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Verify the connection:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Claude (desktop/web)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Profile icon (bottom-left) → &lt;strong&gt;Customize&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connectors&lt;/strong&gt; → &lt;strong&gt;Add custom connector&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Name: &lt;code&gt;Roic AI&lt;/code&gt;; Remote MCP server URL: &lt;code&gt;https://mcp.roic.ai/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt;, wait for the connection check, then click &lt;strong&gt;Connect&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Authorize in the browser window that opens&lt;/li&gt;
&lt;li&gt;Review &lt;strong&gt;Tool permissions&lt;/strong&gt; (default may be "Needs approval"; can be changed to "Always allow")&lt;/li&gt;
&lt;li&gt;Start a new chat and confirm the connector is active via the &lt;code&gt;+&lt;/code&gt; icon&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  VS Code
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open Command Palette (&lt;code&gt;Cmd+Shift+P&lt;/code&gt; / &lt;code&gt;Ctrl+Shift+P&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Search for and select &lt;strong&gt;MCP: Add Server&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;HTTP&lt;/strong&gt; as the transport type&lt;/li&gt;
&lt;li&gt;Enter URL: &lt;code&gt;https://mcp.roic.ai/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Name the server (e.g., &lt;code&gt;roicai&lt;/code&gt;) and press Enter&lt;/li&gt;
&lt;li&gt;Authorize in the browser window that opens&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  OpenAI Codex
&lt;/h3&gt;

&lt;p&gt;CLI:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;codex mcp add roicai &lt;span class="nt"&gt;--url&lt;/span&gt; https://mcp.roic.ai/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Or in &lt;code&gt;~/.codex/config.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="k"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mcp_servers&lt;/span&gt;&lt;span class="k"&gt;.&lt;/span&gt;&lt;span class="n"&gt;roicai&lt;/span&gt;&lt;span class="k"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"https://mcp.roic.ai/mcp"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Manual JSON configuration (any compatible MCP client)
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"roicai"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.roic.ai/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"transport"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"http"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Self-Hosting the MCP Server
&lt;/h2&gt;

&lt;p&gt;The MCP server is open source, published at &lt;a href="https://github.com/roicai/mcp-server" rel="noopener noreferrer"&gt;github.com/roicai/mcp-server&lt;/a&gt;. It runs locally with one command:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;ROIC_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;your_key npx @roicai/mcp-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This runs over &lt;strong&gt;stdio&lt;/strong&gt; and authenticates with a standard REST API key instead of OAuth — relevant for CI pipelines, automation scripts, or any MCP client that doesn't support hosted OAuth flows.&lt;/p&gt;

&lt;p&gt;Configuration for Claude Desktop, Cursor, or any command-based MCP client:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"roicai"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@roicai/mcp-server"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"ROIC_API_KEY"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"your_key"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Review the repository's license and recent commit history directly on GitHub before adopting it as a dependency, as with any third-party package.&lt;/p&gt;
&lt;h2&gt;
  
  
  SDKs
&lt;/h2&gt;

&lt;p&gt;Official SDKs/clients: Python, JavaScript/Node.js, Ruby, Go, plus raw cURL examples throughout the docs.&lt;/p&gt;

&lt;p&gt;Python install and basic usage:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;roicai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;roicai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Roicai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Roicai&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;api_key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;YOUR_API_KEY&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;prices&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stock_prices&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;list&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;NASDAQ:AAPL&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;day&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;prices&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;day&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;date&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;day&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  Known Limitations
&lt;/h2&gt;

&lt;p&gt;Based on the publicly available documentation at the time of writing, the API does &lt;strong&gt;not&lt;/strong&gt; currently include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intraday or tick-level price data — historical and latest prices are daily OHLCV only&lt;/li&gt;
&lt;li&gt;Options chain or derivatives data&lt;/li&gt;
&lt;li&gt;Cryptocurrency data&lt;/li&gt;
&lt;li&gt;Full earnings call transcript history on Free or Individual plans — both are capped at 2 quarters; full history requires Professional or Enterprise&lt;/li&gt;
&lt;li&gt;Earnings calendar or bulk downloads on Free or Individual plans — both require Professional or above&lt;/li&gt;
&lt;li&gt;Commercial redistribution rights outside the Enterprise plan&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Reference Links
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Resource&lt;/th&gt;
&lt;th&gt;Link&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Homepage&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/" rel="noopener noreferrer"&gt;roic.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sign up&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/signup" rel="noopener noreferrer"&gt;roic.ai/signup&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API docs (full)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/docs" rel="noopener noreferrer"&gt;roic.ai/api/docs&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Getting started&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/docs/getting-started" rel="noopener noreferrer"&gt;roic.ai/api/docs/getting-started&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authentication docs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/docs/authentication" rel="noopener noreferrer"&gt;roic.ai/api/docs/authentication&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Response format docs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/docs/response-format" rel="noopener noreferrer"&gt;roic.ai/api/docs/response-format&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenAPI spec&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/docs/openapi" rel="noopener noreferrer"&gt;roic.ai/api/docs/openapi&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP docs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/api/mcp" rel="noopener noreferrer"&gt;roic.ai/api/mcp&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Self-hosted MCP (GitHub)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/roicai/mcp-server" rel="noopener noreferrer"&gt;github.com/roicai/mcp-server&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pricing&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.roic.ai/pricing" rel="noopener noreferrer"&gt;roic.ai/pricing&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Status page&lt;/td&gt;
&lt;td&gt;&lt;a href="https://status.roic.ai" rel="noopener noreferrer"&gt;status.roic.ai&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Base API URL&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://api.roic.ai&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MCP server URL&lt;/td&gt;
&lt;td&gt;&lt;code&gt;https://mcp.roic.ai/mcp&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;



&lt;p&gt;&lt;em&gt;All pricing, rate limits, and endpoint details in this guide reflect the public documentation at the time of writing. APIs and pricing change over time — verify current details at &lt;a href="https://www.roic.ai/pricing" rel="noopener noreferrer"&gt;roic.ai/pricing&lt;/a&gt; and &lt;a href="https://www.roic.ai/api/docs" rel="noopener noreferrer"&gt;roic.ai/api/docs&lt;/a&gt; before making integration decisions based on this reference.&lt;/em&gt;&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__3581035"&gt;
    &lt;a href="/thebitforge" class="ltag__user__link profile-image-link"&gt;
      &lt;div class="ltag__user__pic"&gt;
        &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3581035%2F7a4e3e11-052c-4b61-9f45-e3f421e69147.png" alt="thebitforge image"&gt;
      &lt;/div&gt;
    &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
&lt;a class="ltag__user__link" href="/thebitforge"&gt;TheBitForge&lt;/a&gt;Follow
&lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a class="ltag__user__link" href="/thebitforge"&gt;Founder @thebitforge.dev • Software &amp;amp; AI Product Agency • 181K+ readers &amp;amp; 7K+ followers • We turn ideas into digital products people 💙 to use | visit us also on insta @thebitforge.dev&lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



&lt;div class="ltag__user ltag__user__id__15551"&gt;
  &lt;a href="/roic" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=150,height=150,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15551%2F3a8d04e3-a917-4a8f-be35-ebf72160ea98.jpg" alt="roic image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/roic" class="ltag__user__link"&gt;Roic AI&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/roic" class="ltag__user__link"&gt;
        ROIC AI empowers developers, investors, and analysts with financial data APIs, company fundamentals, valuation metrics, Python tutorials, and AI-powered research to build smarter applications and uncover actionable insights.
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;



</description>
      <category>ai</category>
      <category>api</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>101 Best Financial Data APIs in 2026</title>
      <dc:creator>TheBitForge</dc:creator>
      <pubDate>Fri, 23 Oct 2026 11:17:44 +0000</pubDate>
      <link>https://dev.to/roic/101-best-financial-data-apis-in-2026-bb0</link>
      <guid>https://dev.to/roic/101-best-financial-data-apis-in-2026-bb0</guid>
      <description>&lt;p&gt;You find the perfect side project idea, open the docs of the first finance API Google gives you, and twenty minutes later you're staring at a rate-limit error, a pricing page full of "Contact sales" buttons, or data that quietly stops at 2019.&lt;/p&gt;

&lt;p&gt;So we went through a long list of financial data APIs, dropped the ones that shut down, got renamed or were never real APIs, and sorted the rest by what you're actually building. Each section below is a table you can scan in seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;If you need...&lt;/th&gt;
&lt;th&gt;Start with&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Clean fundamentals and ready-made ratios&lt;/td&gt;
&lt;td&gt;roic.ai, Financial Modeling Prep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;A free key to prototype with&lt;/td&gt;
&lt;td&gt;Alpha Vantage, Finnhub, Twelve Data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tick-level and options data&lt;/td&gt;
&lt;td&gt;Massive (ex-Polygon.io), Databento&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SEC filings&lt;/td&gt;
&lt;td&gt;SEC EDGAR, SEC-API.io&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global macro data&lt;/td&gt;
&lt;td&gt;FRED, World Bank, Trading Economics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Crypto prices&lt;/td&gt;
&lt;td&gt;CoinGecko, CoinMarketCap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Currency conversion&lt;/td&gt;
&lt;td&gt;Open Exchange Rates, Frankfurter&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bank account data&lt;/td&gt;
&lt;td&gt;Plaid, TrueLayer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise-grade coverage&lt;/td&gt;
&lt;td&gt;Bloomberg, LSEG, FactSet, S&amp;amp;P Capital IQ&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What's inside
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
Featured Pick: A Fundamentals-First Financial Data API (1-1)&lt;/li&gt;
&lt;li&gt;
Stock Market Data and Fundamentals APIs (2-28)&lt;/li&gt;
&lt;li&gt;
SEC Filings, Company and Research APIs (29-36)&lt;/li&gt;
&lt;li&gt;
Government and Central Bank Data APIs (37-48)&lt;/li&gt;
&lt;li&gt;
Crypto Data APIs (49-62)&lt;/li&gt;
&lt;li&gt;
Forex and Currency APIs (63-72)&lt;/li&gt;
&lt;li&gt;
Fixed Income, Derivatives and Exchange Data (73-79)&lt;/li&gt;
&lt;li&gt;
News, Sentiment and Alternative Data APIs (80-88)&lt;/li&gt;
&lt;li&gt;
Banking, Open Banking and Payments APIs (89-101)&lt;/li&gt;
&lt;li&gt;Platforms we left out&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to pick one without regret
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;Why it matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;What data do you actually need?&lt;/td&gt;
&lt;td&gt;Prices, fundamentals, filings, macro, crypto and FX each have different leaders&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How fresh must it be?&lt;/td&gt;
&lt;td&gt;End-of-day is cheap and everywhere, real-time and tick data cost real money&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where do your tickers trade?&lt;/td&gt;
&lt;td&gt;Many free APIs are great for US stocks and thin everywhere else&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What do the licensing terms say?&lt;/td&gt;
&lt;td&gt;Public display or redistribution often needs a different plan than internal use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What if the provider vanishes?&lt;/td&gt;
&lt;td&gt;IEX Cloud shut down on August 31, 2024, so keep your integration layer thin&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What are the rate limits?&lt;/td&gt;
&lt;td&gt;A free tier that throttles at 5 calls a minute is a demo, not a product&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Tip:&lt;/strong&gt; test with the ten tickers you really care about, including awkward ones like recent IPOs, ADRs and delisted names. It tells you more than any comparison table.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Featured Pick: A Fundamentals-First Financial Data API
&lt;/h2&gt;

&lt;p&gt;If you're building anything that depends on clean company financials, start here.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. roic.ai ( &lt;a class="mentioned-user" href="https://dev.to/vladcx"&gt;@vladcx&lt;/a&gt; )
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The write-up below sticks to what its public docs say.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.roic.ai/api" rel="noopener noreferrer"&gt;roic.ai&lt;/a&gt; is a fundamentals-first API. Instead of handing you raw statements and leaving the math to you, it returns standardized financial statements next to pre-calculated ratios like ROIC, ROE, debt-to-EBITDA and Altman Z-score, plus valuation multiples and per-share data.&lt;/p&gt;

&lt;p&gt;What stands out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Wide coverage:&lt;/strong&gt; public companies across 70+ global exchanges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible identifiers:&lt;/strong&gt; API v2 accepts ticker, CIK, CUSIP and ISIN, so you skip a lot of symbol mapping.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Earnings call transcripts:&lt;/strong&gt; a dedicated transcripts API sits beside statements and ratios.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-ready:&lt;/strong&gt; an official MCP server connects Claude, ChatGPT, Cursor, VS Code and Codex to the data, with OAuth sign-in or an API key.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spreadsheet friendly:&lt;/strong&gt; a Google Sheets integration pulls the same fundamentals into your sheets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy start:&lt;/strong&gt; the docs describe a free tier with no credit card, and paid plans raise limits and history depth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's the whole "hello world" from their getting-started docs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://api.roic.ai/v2/company/profile/AAPL?apikey=YOUR_API_KEY"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Best for:&lt;/strong&gt; fundamental investors, equity research tools, AI assistants that need reliable numbers, and devs who'd rather not compute ratios themselves.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Heads-up:&lt;/strong&gt; it's fundamentals-first. If you need tick-level data or order books, pair it with something like Databento or Massive. Check the pricing page for current limits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.roic.ai/api" rel="noopener noreferrer"&gt;Explore the roic.ai API →&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://www.roic.ai/dashboard" rel="noopener noreferrer"&gt;Get a free roic.ai API key →&lt;/a&gt;&lt;/strong&gt; and run it on a few tickers you already know.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Stock Market Data and Fundamentals APIs
&lt;/h2&gt;

&lt;p&gt;This is the busiest corner of the market, and the one most developers care about first. Prices, financial statements, ratios, filings, and technical indicators all live here.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;a href="https://site.financialmodelingprep.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Financial Modeling Prep (FMP)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FMP is a go-to for statements, ratios, and market prices in one REST API.&lt;/td&gt;
&lt;td&gt;It also covers ETFs, forex, crypto, and news. Developers like that the endpoints are predictable and the free tier lets you test before paying. It also marketed itself as an alternative after IEX Cloud closed.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.alphavantage.co/" rel="noopener noreferrer"&gt;&lt;strong&gt;Alpha Vantage&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;One of the most recognizable names for hobbyists and startups.&lt;/td&gt;
&lt;td&gt;You get stocks, ETFs, FX, crypto, commodities, fundamentals, and a long list of built-in technical indicators over simple JSON or CSV calls. It has a free key, and it has added MCP support for AI agents. The free tier is rate-limited, so plan for that.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;a href="https://eodhd.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;EOD Historical Data (EODHD)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;EODHD focuses on broad global coverage at a lower price than the enterprise vendors.&lt;/td&gt;
&lt;td&gt;It offers end-of-day, intraday, fundamentals, options, and forex data across a large number of exchanges. A solid choice when you need international tickers without an enterprise contract.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;a href="https://massive.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Massive (formerly Polygon.io)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Polygon.io rebranded as Massive on October 30, 2025.&lt;/td&gt;
&lt;td&gt;The old api.polygon.io base is still supported, with a parallel api.massive.com base. It is best known for deep tick-level and options data across stocks, options, forex, and crypto, and it is priced per asset class.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;&lt;a href="https://databento.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Databento&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Databento delivers raw, normalized market data straight from exchange feeds, with historical and live access.&lt;/td&gt;
&lt;td&gt;It suits quant teams, backtesting, and anyone who cares about tick-level accuracy and clean symbology more than a friendly spreadsheet export.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.tiingo.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tiingo&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Tiingo pairs clean end-of-day price history with news and a developer-friendly API.&lt;/td&gt;
&lt;td&gt;It has a long-standing reputation for data quality among retail quants and Python users, with a free tier for experimenting.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;&lt;a href="https://finnhub.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Finnhub&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Finnhub covers real-time US quotes, fundamentals, company news, alternative datasets, and forex and crypto.&lt;/td&gt;
&lt;td&gt;Its free tier is generous enough for side projects, which is why it shows up in so many tutorials.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;&lt;a href="https://twelvedata.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Twelve Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Twelve Data offers time series, technical indicators, fundamentals, and WebSocket streaming across stocks, forex, and crypto.&lt;/td&gt;
&lt;td&gt;The documentation is tidy and the client libraries are easy to get running quickly.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;a href="https://intrinio.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Intrinio&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Intrinio sells standardized fundamentals, real-time and historical prices, options, and other datasets with clear licensing options.&lt;/td&gt;
&lt;td&gt;It was the provider IEX named when it told customers about its closure, and it is aimed at fintechs that need compliant redistribution.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;td&gt;&lt;a href="https://financialdata.net/" rel="noopener noreferrer"&gt;&lt;strong&gt;FinancialData.net&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A newer entrant covering stock prices, fundamentals, insider transactions, and more through a simple API.&lt;/td&gt;
&lt;td&gt;Worth a look if you want one provider for several datasets and clear flat-rate pricing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;&lt;a href="https://marketstack.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Marketstack&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Part of the APILayer family, Marketstack provides real-time, intraday, and end-of-day stock data from many global exchanges.&lt;/td&gt;
&lt;td&gt;It is simple, low-cost, and a comfortable pick for dashboards and basic apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.nasdaq.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Nasdaq Data Link (formerly Quandl)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The home of the datasets that made Quandl famous, now under Nasdaq.&lt;/td&gt;
&lt;td&gt;You can browse a large catalog of free and premium datasets covering markets, economics, and alternative data, accessed through one consistent API.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.xignite.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Xignite&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A cloud market-data provider used by banks, brokerages, and fintechs.&lt;/td&gt;
&lt;td&gt;Morningstar acquired Xignite in 2019, so it sits in the same family as Morningstar's data products. Expect a sales-led process rather than a self-serve signup.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.barchart.com/ondemand" rel="noopener noreferrer"&gt;&lt;strong&gt;Barchart OnDemand&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Barchart's APIs cover equities, futures, options, and forex, with a particularly strong reputation for futures and commodities data.&lt;/td&gt;
&lt;td&gt;They are usually bought by firms that want licensed exchange data with support.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tradier.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tradier&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Tradier is a brokerage with an API that exposes quotes, options chains, and trading.&lt;/td&gt;
&lt;td&gt;It is a handy choice if you want market data and order execution from the same developer platform.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;&lt;a href="https://alpaca.markets/" rel="noopener noreferrer"&gt;&lt;strong&gt;Alpaca Market Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Alpaca is an API-first broker that also sells market data for US stocks, options, and crypto.&lt;/td&gt;
&lt;td&gt;It is popular with algo traders who want data and paper trading in the same ecosystem.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18&lt;/td&gt;
&lt;td&gt;&lt;a href="https://finance.yahoo.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Yahoo Finance (unofficial, via yfinance)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yahoo no longer offers a supported public API, but the open-source yfinance library scrapes its pages and is everywhere in tutorials.&lt;/td&gt;
&lt;td&gt;Great for learning and quick experiments. We would not build a paid product on it, because there is no SLA and it can break without notice.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.morningstar.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Morningstar&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Morningstar's developer portal sells fund, equity, ESG, and ratings data.&lt;/td&gt;
&lt;td&gt;If your product revolves around mutual funds and ETFs, Morningstar's research depth is hard to beat, though it comes with enterprise pricing.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.factset.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;FactSet&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FactSet offers a wide set of APIs for fundamentals, estimates, ownership, and market data, mostly used by institutions.&lt;/td&gt;
&lt;td&gt;Expect enterprise contracts and strong support.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.spglobal.com/market-intelligence/" rel="noopener noreferrer"&gt;&lt;strong&gt;S&amp;amp;P Capital IQ&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;S&amp;amp;P Global Market Intelligence provides company financials, estimates, and credit data through Capital IQ products and APIs.&lt;/td&gt;
&lt;td&gt;It is an institutional standard for corporate research.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;22&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developers.lseg.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;LSEG Data &amp;amp; Analytics (formerly Refinitiv)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Refinitiv is now part of the London Stock Exchange Group.&lt;/td&gt;
&lt;td&gt;The developer portal exposes real-time and historical data, fundamentals, news, and Datastream content. It is built for large firms with licensing needs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;23&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bloomberg.com/professional/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bloomberg (B-PIPE and Data License)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The heavyweight of the industry.&lt;/td&gt;
&lt;td&gt;Bloomberg offers real-time feeds and reference data for firms that already live in its ecosystem. It is rarely the right call for a small team, but it is the benchmark everyone else is measured against.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.ice.com/market-data" rel="noopener noreferrer"&gt;&lt;strong&gt;ICE Data Services&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;ICE sells exchange data, reference data, and pricing for equities, fixed income, and derivatives.&lt;/td&gt;
&lt;td&gt;It is part of the company that owns the New York Stock Exchange.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.zacks.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Zacks&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Zacks is known for earnings estimates, rankings, and stock research.&lt;/td&gt;
&lt;td&gt;It has data products for institutions and developers who want its estimate-driven view of stocks.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;26&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.tradestation.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;TradeStation API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;TradeStation exposes market data and trading through its brokerage API, covering equities, options, and futures.&lt;/td&gt;
&lt;td&gt;It is a practical option for traders building automated strategies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.schwab.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Charles Schwab Trader API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Schwab's developer portal offers market data and trading APIs for clients, including quotes and order management.&lt;/td&gt;
&lt;td&gt;Access requires an approved developer app and a brokerage relationship, so budget time for onboarding.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;28&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.interactivebrokers.com/campus/ibkr-api-page/ibkr-api-home/" rel="noopener noreferrer"&gt;&lt;strong&gt;Interactive Brokers API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Interactive Brokers provides APIs for market data and order execution across global markets, but you need a brokerage account.&lt;/td&gt;
&lt;td&gt;It is powerful and a bit old-school to set up.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  SEC Filings, Company and Research APIs
&lt;/h2&gt;

&lt;p&gt;Filings and research data are where fundamental investors and AI builders spend a lot of time. Some of the best sources here cost nothing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.sec.gov/search-filings/edgar-application-programming-interfaces" rel="noopener noreferrer"&gt;&lt;strong&gt;SEC EDGAR APIs&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The SEC's own APIs deliver filing metadata and structured XBRL data for US public companies, free of charge.&lt;/td&gt;
&lt;td&gt;Raw EDGAR is the ground truth for 10-Ks and 8-Ks, though you will do some parsing work yourself. Respect the SEC's fair-access limits.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;&lt;a href="https://sec-api.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;SEC-API.io&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A commercial layer on top of EDGAR that offers search, real-time filing streams, and parsed sections of filings.&lt;/td&gt;
&lt;td&gt;It saves a lot of engineering time if you need filings turned into usable JSON.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.alpha-sense.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;AlphaSense&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;AlphaSense is a market-intelligence platform for filings, transcripts, broker research, and news, with enterprise APIs.&lt;/td&gt;
&lt;td&gt;It absorbed Sentieo, the older research platform some lists still mention.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.crunchbase.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Crunchbase&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Crunchbase's API covers private companies, funding rounds, investors, and acquisitions.&lt;/td&gt;
&lt;td&gt;It is the usual starting point for startup and venture data.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;33&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.cbinsights.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;CB Insights&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CB Insights offers tech and startup intelligence, deals, and market maps, with enterprise data access.&lt;/td&gt;
&lt;td&gt;It suits corporate strategy and VC teams more than individual developers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.msci.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;MSCI&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;MSCI is a major provider of indexes, risk analytics, and ESG ratings.&lt;/td&gt;
&lt;td&gt;Its data is typically licensed by asset managers and large platforms.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.reprisk.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;RepRisk&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;RepRisk specializes in ESG and business-conduct risk data built from media and public sources.&lt;/td&gt;
&lt;td&gt;It is a common choice for compliance and sustainable-investing workflows.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tradingeconomics.com/api/" rel="noopener noreferrer"&gt;&lt;strong&gt;Trading Economics&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Trading Economics serves macro indicators, forecasts, and market data for a large number of countries.&lt;/td&gt;
&lt;td&gt;It is a convenient single source when you need global economic series in one place.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Government and Central Bank Data APIs
&lt;/h2&gt;

&lt;p&gt;These are official sources. They are free, authoritative, and often more stable than commercial vendors, although the formats can be quirky.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fred.stlouisfed.org/docs/api/fred/" rel="noopener noreferrer"&gt;&lt;strong&gt;FRED (St. Louis Fed)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FRED hosts hundreds of thousands of economic time series, from interest rates to inflation, through a free API key.&lt;/td&gt;
&lt;td&gt;It is the first stop for anyone building an economics dashboard.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;&lt;a href="https://datahelpdesk.worldbank.org/knowledgebase/topics/125589" rel="noopener noreferrer"&gt;&lt;strong&gt;World Bank Open Data API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Free, well-documented access to development indicators for most of the world's economies.&lt;/td&gt;
&lt;td&gt;Good for long-term, cross-country analysis.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;39&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.imf.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;IMF Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The International Monetary Fund publishes international financial statistics and macro data through its data portal and web services.&lt;/td&gt;
&lt;td&gt;It's useful for balance-of-payments, exchange rates, and country-level economics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.oecd.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;OECD Data API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The OECD provides statistics for its member economies through an SDMX-based API.&lt;/td&gt;
&lt;td&gt;It is excellent for comparing developed economies on labor, trade, and prices.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;41&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.bis.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;BIS Data Portal&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The Bank for International Settlements shares banking, credit, and exchange-rate statistics, including data via its bulk download and API tools.&lt;/td&gt;
&lt;td&gt;It is niche but valuable for systemic-risk research.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;42&lt;/td&gt;
&lt;td&gt;&lt;a href="https://data.ecb.europa.eu/" rel="noopener noreferrer"&gt;&lt;strong&gt;ECB Data Portal&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The European Central Bank's data portal exposes euro-area statistics and official euro foreign exchange reference rates.&lt;/td&gt;
&lt;td&gt;It replaced the older Statistical Data Warehouse interface.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ec.europa.eu/eurostat/web/main/data/web-services" rel="noopener noreferrer"&gt;&lt;strong&gt;Eurostat API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Eurostat offers EU-wide economic and social statistics through web services.&lt;/td&gt;
&lt;td&gt;Handy for anything tied to European macro trends.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;44&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bankofengland.co.uk/boeapps/database/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bank of England Database&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The Bank of England publishes UK interest rates, gilt yields, and monetary statistics in its Statistical Interactive Database, with CSV and XML access.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bankofcanada.ca/valet/docs" rel="noopener noreferrer"&gt;&lt;strong&gt;Bank of Canada Valet API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Valet is the Bank of Canada's free API for exchange rates, interest rates, and other time series.&lt;/td&gt;
&lt;td&gt;It is simple and refreshingly easy to use.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.stat-search.boj.or.jp/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bank of Japan Time-Series Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The Bank of Japan's statistics portal provides time-series data on rates, money supply, and prices.&lt;/td&gt;
&lt;td&gt;Check the current documentation for programmatic access options.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;47&lt;/td&gt;
&lt;td&gt;&lt;a href="https://webstat.banque-france.fr/" rel="noopener noreferrer"&gt;&lt;strong&gt;Banque de France Webstat&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Banque de France publishes French and euro-area statistics through Webstat, including an API for series access.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fiscaldata.treasury.gov/api-documentation/" rel="noopener noreferrer"&gt;&lt;strong&gt;U.S. Treasury FiscalData API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;The US Treasury's free API covers debt, interest rates, exchange rates, and federal finance data.&lt;/td&gt;
&lt;td&gt;No signup required for most endpoints.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Crypto Data APIs
&lt;/h2&gt;

&lt;p&gt;Crypto data is its own universe, with thousands of assets, hundreds of exchanges, and lots of ways for the numbers to disagree.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;49&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.coingecko.com/en/api" rel="noopener noreferrer"&gt;&lt;strong&gt;CoinGecko API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CoinGecko describes itself as an independent crypto data aggregator, and its API covers prices, market caps, exchange data, NFTs, and DeFi metrics for a huge range of coins.&lt;/td&gt;
&lt;td&gt;A free tier exists, with paid plans for higher limits.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;&lt;a href="https://coinmarketcap.com/api/" rel="noopener noreferrer"&gt;&lt;strong&gt;CoinMarketCap API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CoinMarketCap offers rankings, quotes, and metadata for crypto assets and exchanges.&lt;/td&gt;
&lt;td&gt;It's the other big name next to CoinGecko, with a free basic plan.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;51&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developers.coindesk.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;CoinDesk Data (formerly CryptoCompare)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CryptoCompare's data business now operates under the CoinDesk Data brand.&lt;/td&gt;
&lt;td&gt;It provides real-time and historical prices, order books, and indices aimed at both developers and institutions.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;52&lt;/td&gt;
&lt;td&gt;&lt;a href="https://messari.io/api" rel="noopener noreferrer"&gt;&lt;strong&gt;Messari&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Messari combines market data with research, asset profiles, and on-chain fundamentals.&lt;/td&gt;
&lt;td&gt;A good fit for analysts who want context along with prices.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;53&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.kaiko.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Kaiko&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Kaiko provides institutional-grade tick data, order books, and reference rates across many exchanges.&lt;/td&gt;
&lt;td&gt;It is targeted at funds, banks, and index providers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;54&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.coinapi.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;CoinAPI&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CoinAPI normalizes trades, quotes, and order books from a large number of crypto exchanges into one API, with REST, WebSocket, and FIX access.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;55&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.coincap.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;CoinCap API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CoinCap offers simple, real-time crypto prices and market data via REST and WebSocket.&lt;/td&gt;
&lt;td&gt;A friendly pick for demos and lightweight apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;56&lt;/td&gt;
&lt;td&gt;&lt;a href="https://glassnode.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Glassnode&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Glassnode is known for on-chain analytics such as active addresses, supply metrics, and market indicators.&lt;/td&gt;
&lt;td&gt;Its API is popular with analysts who trade on fundamentals of the chain itself.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.cdp.coinbase.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Coinbase Exchange and Advanced Trade API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Coinbase exposes market data and trading endpoints for its exchange.&lt;/td&gt;
&lt;td&gt;Useful when you only need prices and execution for assets listed there.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.kraken.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Kraken API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Kraken provides public market data and authenticated trading through REST and WebSocket APIs.&lt;/td&gt;
&lt;td&gt;Public endpoints work without an account.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;59&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developers.binance.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Binance API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Binance's public APIs cover spot and derivatives market data with very high liquidity coverage.&lt;/td&gt;
&lt;td&gt;Availability and rules vary by region, so check where your users are.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;&lt;a href="https://docs.gemini.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Gemini API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Gemini offers market data and trading APIs for its US-regulated exchange, with public endpoints for prices and order books.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;61&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bitmex.com/app/apiOverview" rel="noopener noreferrer"&gt;&lt;strong&gt;BitMEX API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;BitMEX provides market data and trading for crypto derivatives like perpetual swaps.&lt;/td&gt;
&lt;td&gt;It suits derivatives-focused traders and researchers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;62&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bitstamp.net/api/" rel="noopener noreferrer"&gt;&lt;strong&gt;Bitstamp API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;One of the longest-running exchanges, Bitstamp provides a clean public API for spot prices and order books.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Forex and Currency APIs
&lt;/h2&gt;

&lt;p&gt;Currency conversion looks easy until you need history, reliability, and a sensible rate limit. These APIs cover the spectrum from free to broker-grade.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;63&lt;/td&gt;
&lt;td&gt;&lt;a href="https://openexchangerates.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;Open Exchange Rates&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A long-running JSON API for exchange rates with a free plan and paid tiers for higher volume, more frequent updates, and more features.&lt;/td&gt;
&lt;td&gt;It is widely used in e-commerce and finance apps.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;td&gt;&lt;a href="https://fixer.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Fixer&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Another APILayer product, Fixer returns live and historical rates for a wide set of currencies, with a free plan to start.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;&lt;a href="https://currencylayer.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Currencylayer&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Also from APILayer, Currencylayer provides real-time and historical rates for many currencies with a free tier and paid upgrades.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;66&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.xe.com/xecurrencydata/" rel="noopener noreferrer"&gt;&lt;strong&gt;XE Currency Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;XE is a household name in currency conversion, and its data API serves commercial users.&lt;/td&gt;
&lt;td&gt;Pricing is paid.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;67&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.oanda.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;OANDA Exchange Rates API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;OANDA offers exchange-rate data and, for account holders, trading APIs.&lt;/td&gt;
&lt;td&gt;It is a regulated broker with a long history in FX.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;68&lt;/td&gt;
&lt;td&gt;&lt;a href="https://1forge.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;1Forge&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;1Forge focuses on real-time forex quotes with a free tier and paid plans.&lt;/td&gt;
&lt;td&gt;Check current availability and plans before committing, as smaller vendors change often.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;69&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.truefx.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;TrueFX&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;TrueFX provides free tick-level interbank forex data after registration, which is handy for backtesting.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.exchangerate-api.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;ExchangeRate-API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A straightforward currency API with a free plan and simple pricing.&lt;/td&gt;
&lt;td&gt;Very quick to integrate.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;71&lt;/td&gt;
&lt;td&gt;&lt;a href="https://frankfurter.dev/" rel="noopener noreferrer"&gt;&lt;strong&gt;Frankfurter&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A free, open-source exchange-rate API built on reference rates published by central banks, mainly the European Central Bank.&lt;/td&gt;
&lt;td&gt;No key required.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;72&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.currencycloud.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Currencycloud&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Currencycloud, now part of Visa, offers cross-border payments and FX APIs.&lt;/td&gt;
&lt;td&gt;It suits fintechs that need to move money internationally.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Fixed Income, Derivatives and Exchange Data
&lt;/h2&gt;

&lt;p&gt;Bond and derivatives data tends to be more fragmented and more expensive. These are the exchanges, utilities, and platforms behind many feeds.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;73&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.cmegroup.com/market-data.html" rel="noopener noreferrer"&gt;&lt;strong&gt;CME Group Market Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;CME Group offers real-time and historical futures and options data, including its DataMine historical archive.&lt;/td&gt;
&lt;td&gt;It is the primary source for CME-listed products.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;74&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.cboe.com/market_data_services/" rel="noopener noreferrer"&gt;&lt;strong&gt;Cboe Market Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Cboe provides options, equities, and volatility index data through its market data services.&lt;/td&gt;
&lt;td&gt;The go-to source for VIX-related products.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;75&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.marketaxess.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;MarketAxess&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;MarketAxess runs an electronic bond-trading platform and provides credit market data and analytics to subscribers.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.tradeweb.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tradeweb&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Tradeweb operates electronic markets for rates, credit, and derivatives, and provides market data to clients.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;77&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dtcc.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;DTCC Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;DTCC runs core clearing and settlement infrastructure and publishes data products, including public trade repository reports.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;78&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.finra.org/filing-reporting/trace" rel="noopener noreferrer"&gt;&lt;strong&gt;FINRA TRACE&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;FINRA's TRACE system collects US corporate bond trade reports and distributes the data through licensed feeds and public statistics.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;79&lt;/td&gt;
&lt;td&gt;&lt;a href="https://emma.msrb.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;MSRB EMMA&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;EMMA is the official source for US municipal bond disclosures and trade data, offered by the Municipal Securities Rulemaking Board.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  News, Sentiment and Alternative Data APIs
&lt;/h2&gt;

&lt;p&gt;Headlines and sentiment are noisy by nature. The providers below range from free community sources to quant-grade feeds.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;&lt;a href="https://newsapi.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;NewsAPI.org&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;A simple API for headlines and articles from many publishers.&lt;/td&gt;
&lt;td&gt;Good for prototypes, with limitations on free use.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;81&lt;/td&gt;
&lt;td&gt;&lt;a href="https://webz.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Webz.io (formerly Webhose)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Webz.io delivers structured news, blog, and forum data from across the open and dark web, aimed at monitoring and analytics teams.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;82&lt;/td&gt;
&lt;td&gt;&lt;a href="https://aylien.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Aylien (now part of Quantexa)&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Aylien built news-intelligence and NLP APIs for entity extraction and sentiment, and is now part of Quantexa.&lt;/td&gt;
&lt;td&gt;Confirm current product availability before building on it.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;83&lt;/td&gt;
&lt;td&gt;&lt;a href="https://api.stocktwits.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;StockTwits API&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;StockTwits offers social sentiment from a community of retail traders.&lt;/td&gt;
&lt;td&gt;Useful as a signal, as long as you remember it reflects crowd mood rather than facts.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;84&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.gdeltproject.org/" rel="noopener noreferrer"&gt;&lt;strong&gt;GDELT Project&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;GDELT monitors global news and publishes free datasets and APIs for events, tone, and themes.&lt;/td&gt;
&lt;td&gt;A favorite of researchers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;85&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.ravenpack.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;RavenPack&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;RavenPack turns news and text into structured analytics and sentiment for quant funds and risk teams.&lt;/td&gt;
&lt;td&gt;Enterprise pricing applies.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;86&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.meltwater.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Meltwater&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Meltwater provides media monitoring and social listening with API access, mostly for marketing and communications teams.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;87&lt;/td&gt;
&lt;td&gt;&lt;a href="https://professional.dowjones.com/factiva/" rel="noopener noreferrer"&gt;&lt;strong&gt;Dow Jones Factiva&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Factiva is a deep archive of global news and business content with enterprise APIs.&lt;/td&gt;
&lt;td&gt;Built for corporate and institutional research.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.benzinga.com/apis/" rel="noopener noreferrer"&gt;&lt;strong&gt;Benzinga APIs&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Benzinga provides real-time news, calendars, and market-moving headlines to traders and fintech apps.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Banking, Open Banking and Payments APIs
&lt;/h2&gt;

&lt;p&gt;Not exactly market data, but if your product touches users' money, you will meet these names quickly.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;#&lt;/th&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;What it is&lt;/th&gt;
&lt;th&gt;Good to know&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;td&gt;&lt;a href="https://plaid.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Plaid&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Plaid connects apps to users' bank accounts for balances, transactions, identity, and payments.&lt;/td&gt;
&lt;td&gt;It is the most recognized account-aggregation API in North America and also operates in parts of Europe.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;td&gt;&lt;a href="https://truelayer.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;TrueLayer&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;TrueLayer offers open banking data and payment initiation across the UK and Europe.&lt;/td&gt;
&lt;td&gt;It is a staple for European fintechs.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;91&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.yodlee.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Yodlee&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Yodlee, from Envestnet, has long provided account aggregation and financial data enrichment at scale.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;92&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tink.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Tink&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Tink is a European open banking platform, now owned by Visa, covering account data, payments, and money-management tools.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;93&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.finicity.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Finicity&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Finicity, part of Mastercard, provides account verification and financial data for lending and personal finance use cases in the US.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;94&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.mx.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;MX&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;MX provides data aggregation and enrichment to banks and fintechs, with a focus on cleaner transaction data.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;95&lt;/td&gt;
&lt;td&gt;&lt;a href="https://stripe.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Stripe&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Stripe is primarily a payments platform, but its APIs for payments, billing, and financial connections make it part of many fintech stacks.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;96&lt;/td&gt;
&lt;td&gt;&lt;a href="https://developer.squareup.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Square Developer&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Square's APIs power payments, payouts, and commerce for businesses of all sizes.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;97&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.dwolla.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;Dwolla&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Dwolla offers an API for ACH bank-to-bank payments in the US, aimed at platforms that move money between accounts.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;98&lt;/td&gt;
&lt;td&gt;&lt;a href="https://gocardless.com/bank-account-data/" rel="noopener noreferrer"&gt;&lt;strong&gt;GoCardless Bank Account Data&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;GoCardless provides open banking account data across Europe and the UK through a developer-friendly API.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;99&lt;/td&gt;
&lt;td&gt;&lt;a href="https://wise.com/platform" rel="noopener noreferrer"&gt;&lt;strong&gt;Wise Platform&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Wise Platform lets businesses embed international transfers and multi-currency accounts through its APIs.&lt;/td&gt;
&lt;td&gt;A practical option when your product needs cross-border payouts with transparent FX.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.bbvaapimarket.com/" rel="noopener noreferrer"&gt;&lt;strong&gt;BBVA API Market&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;BBVA's API marketplace exposes banking services such as accounts and payments to partners.&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.openbanking.org.uk/" rel="noopener noreferrer"&gt;&lt;strong&gt;Open Banking UK&lt;/strong&gt;&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;Not a data vendor itself, but the standards body behind UK open banking.&lt;/td&gt;
&lt;td&gt;Its directory and specifications are essential reading if you build there.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Platforms we left out (and why)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Why it's not here&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;IEX Cloud&lt;/td&gt;
&lt;td&gt;Retired all products on August 31, 2024&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Polygon.io (old name)&lt;/td&gt;
&lt;td&gt;Still alive, now called Massive, so it's listed that way&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nomics&lt;/td&gt;
&lt;td&gt;We couldn't confirm it still serves a public API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Finance&lt;/td&gt;
&lt;td&gt;No official public API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sentieo&lt;/td&gt;
&lt;td&gt;Folded into AlphaSense, which has its own entry&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Venmo / Cash App&lt;/td&gt;
&lt;td&gt;No public financial-data APIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Made-up providers&lt;/td&gt;
&lt;td&gt;If a vendor can't be found on the real web, it doesn't belong here&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Before you commit
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Do this&lt;/th&gt;
&lt;th&gt;Because&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Compare two vendors&lt;/td&gt;
&lt;td&gt;Small differences in standardizing fundamentals can change a ratio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read the terms&lt;/td&gt;
&lt;td&gt;Personal use, internal use and public display are priced differently&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache what you can&lt;/td&gt;
&lt;td&gt;Lower bill and fewer outages&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Check the live pricing page&lt;/td&gt;
&lt;td&gt;Plans change, and no guide can replace the real page&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;p&gt;&lt;/p&gt;
  What's the best free financial data API?
  &lt;br&gt;
For prototypes, Alpha Vantage, Finnhub and Twelve Data are common starting points, and roic.ai documents a free tier with no credit card. Free plans are rate-limited, so check the limits against your use case.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Which API is best for fundamentals?
  &lt;br&gt;
Look for standardized statements and pre-computed ratios. roic.ai, Financial Modeling Prep, Intrinio and FactSet are all built around fundamentals, at very different price points.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  What's the best API for real-time stock data?
  &lt;br&gt;
Massive (formerly Polygon.io), Databento, Alpaca and Finnhub are popular for real-time US data. Confirm whether you're getting consolidated, exchange-licensed or delayed data.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Is there an official Yahoo Finance API?
  &lt;br&gt;
No. The popular yfinance library scrapes Yahoo pages, which is fine for learning but risky in production.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Where can I get SEC filings through an API?
  &lt;br&gt;
SEC EDGAR has free APIs. SEC-API.io and AlphaSense add search and parsing on top.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Which API is best for crypto data?
  &lt;br&gt;
CoinGecko and CoinMarketCap cover broad market data, Kaiko and CoinAPI suit institutional needs, and Glassnode specializes in on-chain metrics.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Can AI assistants use financial data APIs?
  &lt;br&gt;
Yes. Several providers now offer Model Context Protocol (MCP) servers so tools like Claude, ChatGPT and Cursor can query data directly. roic.ai and Alpha Vantage both document MCP support.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
  Can I make investment decisions from this data?
  &lt;br&gt;
A data API only delivers data. It isn't advice, and data can be wrong or delayed. Verify important figures against primary sources.&lt;br&gt;


&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Where we'd start
&lt;/h2&gt;

&lt;p&gt;There's no single winner, because "best" depends on what you're building. Prototype with a free key, use official sources for macro data, and pay for exchange-grade feeds only when your product truly needs them.&lt;/p&gt;

&lt;p&gt;If your project is built on company fundamentals, we'd begin with &lt;a href="https://www.roic.ai/api" rel="noopener noreferrer"&gt;roic.ai&lt;/a&gt;. It returns standardized statements, ready-made ratios, valuation multiples and earnings transcripts through one REST API, and plugs into AI assistants through MCP.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://www.roic.ai/dashboard" rel="noopener noreferrer"&gt;Get a free roic.ai API key →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  Found this useful?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;❤️ &lt;strong&gt;Drop a reaction&lt;/strong&gt; so more devs find it&lt;/li&gt;
&lt;li&gt;🔖 &lt;strong&gt;Save it&lt;/strong&gt; for your next project&lt;/li&gt;
&lt;li&gt;💬 &lt;strong&gt;Tell us in the comments:&lt;/strong&gt; which financial data API are you using right now, and why did you pick it?&lt;/li&gt;
&lt;li&gt;➕ &lt;strong&gt;Follow&lt;/strong&gt; for more developer guides&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>api</category>
      <category>programming</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
