{"id":226,"date":"2025-03-10T13:54:00","date_gmt":"2025-03-10T12:54:00","guid":{"rendered":"https:\/\/eodhd.com\/knowledgebase\/?p=226"},"modified":"2026-07-14T17:14:50","modified_gmt":"2026-07-14T15:14:50","slug":"stock-etfs-fundamental-data-feeds","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds","title":{"rendered":"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices"},"content":{"rendered":"\n<p class=\"docs-content__text wp-block-paragraph\">Fundamental data API for stocks, ETFs, mutual funds, and indices from major US, UK, EU, and Asian exchanges. Because the fundamentals response can be large, especially for stocks, you can request a single section or one field with the filter parameter (see Partial Data Retrieval below). We recommend Fundamentals API v1.1 for all new integrations; see the API Versioning section for what changed. The feed is JSON only.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Be sure to check our glossaries that explain the output fields of the Fundamentals API for <a href=\"https:\/\/eodhd.com\/financial-academy\/financial-faq\/fundamentals-glossary-common-stock\/\">common stock<\/a> and <a href=\"https:\/\/eodhd.com\/financial-academy\/financial-faq\/fundamentals-glossary-etf\/\">ETFs<\/a>.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\"><!--TOC--><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-the-endpoint\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">The Endpoint<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">A single endpoint serves fundamentals for every instrument type: stocks and equities, ETFs, mutual funds, and indices. The set of sections returned depends on the instrument type, and the type-specific sections are described further down this page.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code>https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/{ticker}?api_token=YOUR_TOKEN<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The ticker has two parts, CODE.EXCHANGE, for example AAPL.US (NASDAQ), VOD.LSE (London), VTI.US (an ETF), or GSPC.INDX (an index). v1.1 is the recommended version; the original \/api\/fundamentals\/ without the version prefix also works.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/AAPL.US?api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text has-text-align-center wp-block-paragraph\">\n    <div class=\"test-drive\">\n        <div class=\"test-drive__heading\">\n            <svg width=\"24\" height=\"24\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <use xlink:href=\"\/img\/icons\/blueIcon_sprite.svg#lightning\"><\/use>\n            <\/svg>\n            Test Drive with \"DEMO\" Key\n        <\/div>\n        <ol class=\"test-drive__list\">\n            <li class=\"test-drive__item\">\n                You can start with \"<strong>DEMO<\/strong>\" API key to test the data for a few tickers only:\n                <a href=\"\/financial-summary\/AAPL.US\" target=\"_blank\">AAPL.US<\/a>,\n                <a href=\"\/financial-summary\/TSLA.US\" target=\"_blank\">TSLA.US<\/a>,\n                <a href=\"\/financial-summary\/VTI.US\" target=\"_blank\">VTI.US<\/a>,\n                <a href=\"\/financial-summary\/AMZN.US\" target=\"_blank\">AMZN.US<\/a>,\n                <a href=\"\/financial-summary\/BTC-USD.CC\" target=\"_blank\">BTC-USD.CC<\/a>\n                and\n                <a href=\"\/financial-summary\/EURUSD.FOREX\" target=\"_blank\">EURUSD.FOREX<\/a>.\n                For these tickers,\n                <a href=\"\/financial-apis\/\">all of our types of data (APIs)<\/a>,\n                including\n                <a href=\"\/financial-apis\/new-real-time-data-api-websockets\/\" target=\"_blank\">Real-Time Data<\/a>,\n                are available without limitations.\n            <\/li>\n            <li class=\"test-drive__item\">\n                Register <strong>for the free plan<\/strong> to receive your API key (limited to 20 API calls per day) with access to\n                <a href=\"\/financial-apis\/api-for-historical-data-and-volumes\/\" target=\"_blank\">End-Of-Day Historical Stock Market Data API<\/a>\n                for any ticker, but within the past year only. Plus a\n                <a href=\"\/financial-apis\/exchanges-api-list-of-tickers-and-trading-hours\/#Get_List_of_Tickers_Exchange_Symbols\" target=\"_blank\">List of tickers per Exchange<\/a>\n                is available.\n            <\/li>\n            <li class=\"test-drive__item\">\n                We recommend to explore\n                <a href=\"\/pricing\">our plans<\/a>,\n                <strong>starting from $19.99<\/strong>, to access the necessary type of data without limitations.\n            <\/li>\n        <\/ol>\n    <\/div>\n<\/p>\n\n\n\n<h4 id=\"h-parameters\" class=\"docs-content__heading docs-content__heading--h4 wp-block-heading\">Parameters<\/h4>\n\n\n<div class=\"docs-parameters\">\n    \n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">api_token<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--required\">\n            required        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Your EODHD API token<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">filter<\/code>\n        \n                    <span class=\"docs-parameters__type\">string<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Return only one section or a single field instead of the full object. Nest layers with :: and pass several comma-separated filters at once, for example General::Code<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">historical<\/code>\n        \n                    <span class=\"docs-parameters__type\">integer<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Set to 1 to include point-in-time index membership snapshots (HistoricalComponents). Indices only; combine with from and to<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">from<\/code>\n        \n                    <span class=\"docs-parameters__type\">date<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">Start date for historical index snapshots, used with historical=1<\/span>\n            <\/div>\n<\/div>\n\n\n<div class=\"docs-parameters__item\">\n    <div class=\"docs-parameters__name\">\n                    <code class=\"docs-parameters__ident\">to<\/code>\n        \n                    <span class=\"docs-parameters__type\">date<\/span>\n        \n        <span class=\"docs-parameters__badge docs-parameters__badge--optional\">\n            optional        <\/span>\n    <\/div>\n\n    <div class=\"docs-parameters__desc\">\n        <span class=\"docs-parameters__desc-text\">End date for historical index snapshots, used with historical=1<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-which-fundamental-data-is-supported\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Which Fundamental Data is Supported<\/h2>\n\n\n\n<ul class=\"docs-content__list wp-block-list\">\n<li>Major US companies are covered from 1985 (40+ years); non-US symbols from 2000 (25+ years). Around 11,000 tickers from NYSE, NASDAQ, and ARCA have 25+ years of both yearly and quarterly data. Minor companies have the last 6 years and 20 quarters. The dataset keeps growing.<\/li>\n\n\n\n<li>More than 20,000 US funds, including equity, balanced, and bond mutual funds.<\/li>\n\n\n\n<li>More than 10,000 ETFs from exchanges and countries worldwide.<\/li>\n\n\n\n<li>Index constituents (components) for all major indices worldwide.<\/li>\n\n\n\n<li>Not every company reports every data point, so some fields may be empty for a given ticker.<\/li>\n\n\n\n<li>Because of the complex data structure, the fundamentals feed is available in JSON only.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-api-versioning\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">API Versioning<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The Fundamentals API uses versioned endpoints. We recommend v1.1 for new integrations: use \/api\/v1.1\/fundamentals\/ instead of \/api\/fundamentals\/. All parameters work the same way, and the original endpoint stays available for backward compatibility.<\/p>\n\n\n\n<h3 id=\"h-v1-1\" class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\">v1.1<\/h3>\n\n\n\n<ul class=\"docs-content__list wp-block-list\">\n<li>Fixed missing Q4 data in the Earnings Trend. In the original version, quarterly (Q4) and annual estimates sharing the same date could collide and silently drop Q4; in v1.1 all quarters are always present.<\/li>\n\n\n\n<li>The Earnings Trend is now split into Quarterly and Annual sections instead of one flat list keyed by date.<\/li>\n\n\n\n<li>Each quarterly entry includes a human-readable quarter field (Q1, Q2, Q3, Q4).<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-stocks-and-equities-fundamentals\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Stocks and Equities Fundamentals<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The Fundamentals API returns a single JSON object for a stock or equity ticker, covering company profile, valuation, share statistics, technicals, dividends and splits, ownership, insider transactions, outstanding shares, earnings, and full financial statements. It works for US common stocks and for equities on non-US exchanges. The response is organised into top-level sections, and you can request a single section or field with the filter parameter.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Request URL:<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/{ticker}?api_token={your_api_token}&amp;fmt=json<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/AAPL.US?api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Response sections are listed below. Expand each one to see the individual fields it contains.<\/p>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">General \u2014 company profile fields<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Code \u2014 the ticker code of the company<\/li>\n\n\n\n<li>Type \u2014 the instrument type, for example Common Stock<\/li>\n\n\n\n<li>Name \u2014 the company name<\/li>\n\n\n\n<li>Exchange \u2014 the exchange the ticker is listed on<\/li>\n\n\n\n<li>CurrencyCode \u2014 currency code of the listing<\/li>\n\n\n\n<li>CurrencyName \u2014 full name of the listing currency<\/li>\n\n\n\n<li>CurrencySymbol \u2014 symbol of the listing currency<\/li>\n\n\n\n<li>CountryName \u2014 country where the company is registered<\/li>\n\n\n\n<li>CountryISO \u2014 ISO country code<\/li>\n\n\n\n<li>OpenFigi \u2014 the OpenFIGI identifier<\/li>\n\n\n\n<li>ISIN \u2014 International Securities Identification Number<\/li>\n\n\n\n<li>LEI \u2014 Legal Entity Identifier<\/li>\n\n\n\n<li>PrimaryTicker \u2014 the primary ticker for the company<\/li>\n\n\n\n<li>CUSIP \u2014 CUSIP identifier (mainly for US companies)<\/li>\n\n\n\n<li>CIK \u2014 Central Index Key assigned by the SEC (US companies)<\/li>\n\n\n\n<li>EmployerIdNumber \u2014 Employer Identification Number (EIN, US companies)<\/li>\n\n\n\n<li>FiscalYearEnd \u2014 month the fiscal year ends<\/li>\n\n\n\n<li>IPODate \u2014 date of the initial public offering<\/li>\n\n\n\n<li>InternationalDomestic \u2014 international or domestic classification<\/li>\n\n\n\n<li>Sector \u2014 the sector of the company<\/li>\n\n\n\n<li>Industry \u2014 the industry of the company<\/li>\n\n\n\n<li>GicSector \u2014 GICS sector classification<\/li>\n\n\n\n<li>GicGroup \u2014 GICS industry group classification<\/li>\n\n\n\n<li>GicIndustry \u2014 GICS industry classification<\/li>\n\n\n\n<li>GicSubIndustry \u2014 GICS sub-industry classification<\/li>\n\n\n\n<li>HomeCategory \u2014 home category of the ticker, for example Domestic or ADR<\/li>\n\n\n\n<li>IsDelisted \u2014 whether the ticker has been delisted<\/li>\n\n\n\n<li>Description \u2014 a textual description of the company<\/li>\n\n\n\n<li>Address \u2014 the company address as a single string<\/li>\n\n\n\n<li>AddressData \u2014 the address split into Street, City, State, Country, and ZIP<\/li>\n\n\n\n<li>Listings \u2014 other exchange listings for the ticker, each with Code, Exchange, and Name<\/li>\n\n\n\n<li>Officers \u2014 company executives, each with Name, Title, and YearBorn<\/li>\n\n\n\n<li>Phone \u2014 company phone number<\/li>\n\n\n\n<li>WebURL \u2014 company website URL<\/li>\n\n\n\n<li>LogoURL \u2014 path to the company logo image<\/li>\n\n\n\n<li>FullTimeEmployees \u2014 number of full-time employees<\/li>\n\n\n\n<li>UpdatedAt \u2014 date the record was last updated<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Highlights \u2014 key metrics and estimates<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>MarketCapitalization \u2014 market capitalization<\/li>\n\n\n\n<li>MarketCapitalizationMln \u2014 market capitalization in millions<\/li>\n\n\n\n<li>EBITDA \u2014 earnings before interest, taxes, depreciation, and amortization<\/li>\n\n\n\n<li>PERatio \u2014 price-to-earnings ratio<\/li>\n\n\n\n<li>PEGRatio \u2014 price\/earnings-to-growth ratio<\/li>\n\n\n\n<li>WallStreetTargetPrice \u2014 average analyst target price<\/li>\n\n\n\n<li>BookValue \u2014 book value per share<\/li>\n\n\n\n<li>DividendShare \u2014 dividend per share<\/li>\n\n\n\n<li>DividendYield \u2014 dividend yield<\/li>\n\n\n\n<li>EarningsShare \u2014 earnings per share (EPS)<\/li>\n\n\n\n<li>EPSEstimateCurrentYear \u2014 estimated EPS for the current year<\/li>\n\n\n\n<li>EPSEstimateNextYear \u2014 estimated EPS for the next year<\/li>\n\n\n\n<li>EPSEstimateNextQuarter \u2014 estimated EPS for the next quarter<\/li>\n\n\n\n<li>EPSEstimateCurrentQuarter \u2014 estimated EPS for the current quarter<\/li>\n\n\n\n<li>MostRecentQuarter \u2014 date of the most recent reported quarter<\/li>\n\n\n\n<li>ProfitMargin \u2014 profit margin<\/li>\n\n\n\n<li>OperatingMarginTTM \u2014 operating margin over the trailing twelve months<\/li>\n\n\n\n<li>ReturnOnAssetsTTM \u2014 return on assets over the trailing twelve months<\/li>\n\n\n\n<li>ReturnOnEquityTTM \u2014 return on equity over the trailing twelve months<\/li>\n\n\n\n<li>RevenueTTM \u2014 revenue over the trailing twelve months<\/li>\n\n\n\n<li>RevenuePerShareTTM \u2014 revenue per share over the trailing twelve months<\/li>\n\n\n\n<li>QuarterlyRevenueGrowthYOY \u2014 quarterly revenue growth year over year<\/li>\n\n\n\n<li>GrossProfitTTM \u2014 gross profit over the trailing twelve months<\/li>\n\n\n\n<li>DilutedEpsTTM \u2014 diluted EPS over the trailing twelve months<\/li>\n\n\n\n<li>QuarterlyEarningsGrowthYOY \u2014 quarterly earnings growth year over year<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Valuation \u2014 market valuation ratios<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>TrailingPE \u2014 trailing price-to-earnings ratio<\/li>\n\n\n\n<li>ForwardPE \u2014 forward price-to-earnings ratio<\/li>\n\n\n\n<li>PriceSalesTTM \u2014 price-to-sales ratio over the trailing twelve months<\/li>\n\n\n\n<li>PriceBookMRQ \u2014 price-to-book ratio for the most recent quarter<\/li>\n\n\n\n<li>EnterpriseValue \u2014 enterprise value<\/li>\n\n\n\n<li>EnterpriseValueRevenue \u2014 enterprise value to revenue ratio<\/li>\n\n\n\n<li>EnterpriseValueEbitda \u2014 enterprise value to EBITDA ratio<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">SharesStats \u2014 share statistics and ownership<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>SharesOutstanding \u2014 total shares outstanding<\/li>\n\n\n\n<li>SharesFloat \u2014 shares available for public trading<\/li>\n\n\n\n<li>PercentInsiders \u2014 percentage of shares held by insiders<\/li>\n\n\n\n<li>PercentInstitutions \u2014 percentage of shares held by institutions<\/li>\n\n\n\n<li>SharesShort \u2014 number of shares sold short<\/li>\n\n\n\n<li>SharesShortPriorMonth \u2014 shares sold short in the prior month<\/li>\n\n\n\n<li>ShortRatio \u2014 short interest ratio<\/li>\n\n\n\n<li>ShortPercentOutstanding \u2014 short interest as a percentage of shares outstanding<\/li>\n\n\n\n<li>ShortPercentFloat \u2014 short interest as a percentage of the float<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Technicals \u2014 technical performance metrics<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Beta \u2014 measure of stock volatility relative to the market<\/li>\n\n\n\n<li>52WeekHigh \u2014 highest price over the last 52 weeks<\/li>\n\n\n\n<li>52WeekLow \u2014 lowest price over the last 52 weeks<\/li>\n\n\n\n<li>50DayMA \u2014 50-day moving average<\/li>\n\n\n\n<li>200DayMA \u2014 200-day moving average<\/li>\n\n\n\n<li>SharesShort \u2014 number of shares sold short<\/li>\n\n\n\n<li>SharesShortPriorMonth \u2014 shares sold short in the prior month<\/li>\n\n\n\n<li>ShortRatio \u2014 short interest ratio<\/li>\n\n\n\n<li>ShortPercent \u2014 short interest as a percentage<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">SplitsDividends \u2014 dividends and splits<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>ForwardAnnualDividendRate \u2014 forward annual dividend rate<\/li>\n\n\n\n<li>ForwardAnnualDividendYield \u2014 forward annual dividend yield<\/li>\n\n\n\n<li>PayoutRatio \u2014 dividend payout ratio<\/li>\n\n\n\n<li>DividendDate \u2014 the dividend payment date<\/li>\n\n\n\n<li>ExDividendDate \u2014 the ex-dividend date<\/li>\n\n\n\n<li>LastSplitFactor \u2014 the factor of the last stock split<\/li>\n\n\n\n<li>LastSplitDate \u2014 the date of the last stock split<\/li>\n\n\n\n<li>NumberDividendsByYear \u2014 count of dividends paid per year, each entry with Year and Count<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Holders \u2014 institutional and fund ownership<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Institutions \u2014 institutional holders, each with name, date, totalShares, totalAssets, currentShares, change, and change_p<\/li>\n\n\n\n<li>Funds \u2014 fund holders, each with name, date, totalShares, totalAssets, currentShares, change, and change_p<\/li>\n\n\n\n<li>name \u2014 name of the holder (institution or fund)<\/li>\n\n\n\n<li>date \u2014 report date of the holding<\/li>\n\n\n\n<li>totalShares \u2014 percentage of total shares held<\/li>\n\n\n\n<li>totalAssets \u2014 percentage of the holder assets in this position<\/li>\n\n\n\n<li>currentShares \u2014 number of shares currently held<\/li>\n\n\n\n<li>change \u2014 change in shares held since the previous report<\/li>\n\n\n\n<li>change_p \u2014 percentage change in shares held<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">InsiderTransactions \u2014 insider trading records<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>date \u2014 report date of the transaction<\/li>\n\n\n\n<li>ownerCik \u2014 Central Index Key of the owner<\/li>\n\n\n\n<li>ownerName \u2014 name of the owner<\/li>\n\n\n\n<li>transactionDate \u2014 date of the transaction<\/li>\n\n\n\n<li>transactionCode \u2014 the transaction code<\/li>\n\n\n\n<li>transactionAmount \u2014 number of shares in the transaction<\/li>\n\n\n\n<li>transactionPrice \u2014 price per share in the transaction<\/li>\n\n\n\n<li>transactionAcquiredDisposed \u2014 whether shares were acquired or disposed<\/li>\n\n\n\n<li>postTransactionAmount \u2014 shares held after the transaction<\/li>\n\n\n\n<li>secLink \u2014 link to the SEC filing<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">outstandingShares \u2014 historical shares outstanding<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>annual \u2014 yearly history, each entry with date, dateFormatted, sharesMln, and shares<\/li>\n\n\n\n<li>quarterly \u2014 quarterly history, each entry with date, dateFormatted, sharesMln, and shares<\/li>\n\n\n\n<li>date \u2014 the period label<\/li>\n\n\n\n<li>dateFormatted \u2014 the period end date<\/li>\n\n\n\n<li>sharesMln \u2014 number of shares outstanding in millions<\/li>\n\n\n\n<li>shares \u2014 number of shares outstanding<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Earnings \u2014 history, trend, and annual<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>History \u2014 reported earnings, each with reportDate, date, beforeAfterMarket, currency, epsActual, epsEstimate, epsDifference, and surprisePercent<\/li>\n\n\n\n<li>Trend \u2014 analyst estimates by period, including growth, earningsEstimateAvg, earningsEstimateLow, earningsEstimateHigh, revenueEstimateAvg, EPS trend values, and EPS revision counts<\/li>\n\n\n\n<li>Annual \u2014 annual earnings, each with date and epsActual<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Financials \u2014 Balance Sheet, Income Statement, Cash Flow<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Balance_Sheet \u2014 balance sheet data with currency_symbol, plus yearly and quarterly reports (fields include totalAssets, totalLiab, totalStockholderEquity, cash, netDebt, longTermDebt, inventory, retainedEarnings, and more)<\/li>\n\n\n\n<li>Income_Statement \u2014 income statement data with currency_symbol, plus yearly and quarterly reports (fields include totalRevenue, costOfRevenue, grossProfit, operatingIncome, ebit, ebitda, netIncome, researchDevelopment, and more)<\/li>\n\n\n\n<li>Cash_Flow \u2014 cash flow data with currency_symbol, plus yearly and quarterly reports (fields include totalCashFromOperatingActivities, capitalExpenditures, freeCashFlow, dividendsPaid, netIncome, changeInCash, and more)<\/li>\n\n\n\n<li>Each yearly and quarterly report entry carries its own date and filing_date<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<h3 id=\"h-us-vs-non-us-equities\" class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\">US and non-US equities<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The same endpoint serves US common stocks and equities on non-US exchanges, and most sections are identical for both. The main differences are that identifiers such as CUSIP, CIK, and EmployerIdNumber are populated mainly for US companies. Non-US equities may include an ExchangeMarket field in the General section. Financial statement history depth also varies: major US companies have data going back several decades, while non-US symbols typically start later. Not all companies report every data point, so some fields may be empty for a given ticker.<\/p>\n\n\n\n<h3 id=\"h-stock-response-example\" class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\">Response example<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">A trimmed response for AAPL.US showing a few representative fields from each section. The full response is much larger.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"General\": {\n    \"Code\": \"AAPL\",\n    \"Type\": \"Common Stock\",\n    \"Name\": \"Apple Inc.\",\n    \"Exchange\": \"NASDAQ\",\n    \"CurrencyCode\": \"USD\",\n    \"CountryName\": \"USA\",\n    \"CountryISO\": \"US\",\n    \"ISIN\": \"US0378331005\",\n    \"CUSIP\": \"037833100\",\n    \"CIK\": \"0000320193\",\n    \"PrimaryTicker\": \"AAPL.US\",\n    \"FiscalYearEnd\": \"September\",\n    \"IPODate\": \"1980-12-12\",\n    \"Sector\": \"Technology\",\n    \"Industry\": \"Consumer Electronics\",\n    \"GicSector\": \"Information Technology\",\n    \"HomeCategory\": \"Domestic\",\n    \"IsDelisted\": false,\n    \"FullTimeEmployees\": 166000,\n    \"UpdatedAt\": \"2026-07-13\"\n  },\n  \"Highlights\": {\n    \"MarketCapitalization\": 4631217307648,\n    \"EBITDA\": 144427003904,\n    \"PERatio\": 33.15,\n    \"PEGRatio\": 2.09,\n    \"WallStreetTargetPrice\": 315.5667,\n    \"EarningsShare\": 6.6,\n    \"DividendYield\": 0.0034,\n    \"ProfitMargin\": 0.2731,\n    \"RevenueTTM\": 408625012736\n  },\n  \"Valuation\": {\n    \"TrailingPE\": 33.15,\n    \"ForwardPE\": 30.77,\n    \"PriceSalesTTM\": 8.84,\n    \"PriceBookMRQ\": 60.72,\n    \"EnterpriseValue\": 4672684000000\n  },\n  \"SharesStats\": {\n    \"SharesOutstanding\": 14687356000,\n    \"SharesFloat\": 14662387495,\n    \"PercentInsiders\": 1.631,\n    \"PercentInstitutions\": 65.732\n  },\n  \"SplitsDividends\": {\n    \"ForwardAnnualDividendRate\": 1.08,\n    \"ForwardAnnualDividendYield\": 0.0034,\n    \"PayoutRatio\": 0.127,\n    \"ExDividendDate\": \"2026-05-11\",\n    \"LastSplitFactor\": \"4:1\",\n    \"LastSplitDate\": \"2020-08-31\"\n  },\n  \"Holders\": {\n    \"Institutions\": {\n      \"0\": {\n        \"name\": \"Vanguard Group Inc\",\n        \"date\": \"2025-12-31\",\n        \"totalShares\": 9.711,\n        \"currentShares\": 1426283914,\n        \"change_p\": 1.9191\n      }\n    }\n  },\n  \"outstandingShares\": {\n    \"annual\": {\n      \"0\": {\n        \"date\": \"2026\",\n        \"dateFormatted\": \"2026-12-31\",\n        \"sharesMln\": \"14768.1150\",\n        \"shares\": 14768115000\n      }\n    }\n  },\n  \"Earnings\": {\n    \"History\": {\n      \"2026-06-30\": {\n        \"reportDate\": \"2026-07-30\",\n        \"date\": \"2026-06-30\",\n        \"beforeAfterMarket\": \"AfterMarket\",\n        \"currency\": \"USD\",\n        \"epsEstimate\": 1.88\n      }\n    },\n    \"Annual\": {\n      \"2026-06-30\": {\n        \"date\": \"2026-06-30\",\n        \"epsActual\": 4.85\n      }\n    }\n  },\n  \"Financials\": {\n    \"Income_Statement\": {\n      \"currency_symbol\": \"USD\",\n      \"yearly\": {\n        \"2025-09-30\": {\n          \"date\": \"2025-09-30\",\n          \"totalRevenue\": \"416161000000.00\",\n          \"grossProfit\": \"195201000000.00\",\n          \"operatingIncome\": \"133050000000.00\",\n          \"netIncome\": \"112010000000.00\",\n          \"ebitda\": \"144427000000.00\"\n        }\n      }\n    }\n  }\n}<\/code><\/pre>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-partial-data-retrieval-using-filters\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Partial Data Retrieval Using Filters<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The fundamentals response can be large, so the filter parameter lets you retrieve just one section or a single field. Section and field names are the response keys shown in the field lists above. For example, to retrieve only the Code field from the General block:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/AAPL.US?filter=General::Code&amp;api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Filter layers are separated by &#8220;::&#8221; and can nest to any depth. For example, the yearly balance sheet:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/AAPL.US?filter=Financials::Balance_Sheet::yearly&amp;api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Financials::Balance_Sheet::yearly<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Financials::Balance_Sheet::yearly<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Financials::Balance_Sheet::yearly<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Financials::Balance_Sheet::yearly<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Financials::Balance_Sheet::yearly<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">You can also request several sections at once with comma-separated filters:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/v1.1\/fundamentals\/AAPL.US?filter=General::Code,General,Earnings&amp;api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code,General,Earnings<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code,General,Earnings<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code,General,Earnings<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code,General,Earnings<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/<span class='orange bold'>v1.1<\/span>\/fundamentals\/<span class='orange bold'>AAPL.US<\/span>?<span class='white bold'>filter<\/span>=<span class='orange bold filter'>General::Code,General,Earnings<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text has-text-align-center wp-block-paragraph\"><a class=\"btn btn--orange\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Sign up &amp; Get Data<\/span><\/a><\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-etfs-fundamentals\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">ETFs Fundamentals<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Fundamentals for Exchange Traded Funds from exchanges and countries worldwide. Request an ETF by its ticker in TICKER.EXCHANGE format, for example VTI.US or SPY.US. The response has three top-level sections: General (identity and description), Technicals (price-based indicators), and ETF_Data (fund profile, cost, allocations, holdings, valuations, ratings and performance).<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/VTI.US?api_token=demo&amp;fmt=json<\/code><\/pre>\n<\/div>\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">General \u2014 identity and description fields<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Code \u2014 ticker symbol<\/li>\n\n\n<li>Type \u2014 instrument type (ETF)<\/li>\n\n\n<li>Name \u2014 fund name<\/li>\n\n\n<li>Exchange \u2014 listing exchange<\/li>\n\n\n<li>CurrencyCode \u2014 trading currency code<\/li>\n\n\n<li>CurrencyName \u2014 trading currency name<\/li>\n\n\n<li>CurrencySymbol \u2014 trading currency symbol<\/li>\n\n\n<li>CountryName \u2014 country of listing<\/li>\n\n\n<li>CountryISO \u2014 ISO country code<\/li>\n\n\n<li>OpenFigi \u2014 OpenFIGI identifier<\/li>\n\n\n<li>Description \u2014 fund description<\/li>\n\n\n<li>Category \u2014 fund category<\/li>\n\n\n<li>UpdatedAt \u2014 last update date<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Technicals \u2014 price-based indicators<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Beta \u2014 beta coefficient<\/li>\n\n\n<li>52WeekHigh \u2014 52-week high price<\/li>\n\n\n<li>52WeekLow \u2014 52-week low price<\/li>\n\n\n<li>50DayMA \u2014 50-day moving average<\/li>\n\n\n<li>200DayMA \u2014 200-day moving average<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">ETF_Data \u2014 fund profile, allocations, holdings and performance<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>ISIN \u2014 fund ISIN<\/li>\n\n\n<li>Company_Name \u2014 issuer name<\/li>\n\n\n<li>Company_URL \u2014 issuer website<\/li>\n\n\n<li>ETF_URL \u2014 fund page URL<\/li>\n\n\n<li>Domicile \u2014 country of domicile<\/li>\n\n\n<li>Index_Name \u2014 name of the tracked index<\/li>\n\n\n<li>Yield \u2014 current distribution yield, percent<\/li>\n\n\n<li>Dividend_Paying_Frequency \u2014 distribution frequency<\/li>\n\n\n<li>Inception_Date \u2014 fund launch date<\/li>\n\n\n<li>Max_Annual_Mgmt_Charge \u2014 maximum annual management charge<\/li>\n\n\n<li>Ongoing_Charge \u2014 ongoing charge figure<\/li>\n\n\n<li>Date_Ongoing_Charge \u2014 date of the ongoing charge figure<\/li>\n\n\n<li>NetExpenseRatio \u2014 net expense ratio<\/li>\n\n\n<li>AnnualHoldingsTurnover \u2014 annual holdings turnover<\/li>\n\n\n<li>TotalAssets \u2014 total net assets<\/li>\n\n\n<li>Average_Mkt_Cap_Mil \u2014 average market capitalization of holdings, in millions<\/li>\n\n\n<li>Market_Capitalisation \u2014 holdings split by cap size: Mega, Big, Medium, Small, Micro<\/li>\n\n\n<li>Asset_Allocation \u2014 allocation by asset type, each with Long_%, Short_% and Net_Assets_%<\/li>\n\n\n<li>World_Regions \u2014 geographic breakdown, each with Equity_% and Relative_to_Category<\/li>\n\n\n<li>Sector_Weights \u2014 sector breakdown, each with Equity_% and Relative_to_Category<\/li>\n\n\n<li>Fixed_Income \u2014 fixed-income metrics, each with Fund_% and Relative_to_Category<\/li>\n\n\n<li>Holdings_Count \u2014 number of holdings<\/li>\n\n\n<li>Top_10_Holdings \u2014 ten largest holdings keyed by ticker<\/li>\n\n\n<li>Holdings \u2014 full holdings list keyed by ticker<\/li>\n\n\n<li>Valuations_Growth \u2014 valuation and growth rates for the portfolio and relative to category<\/li>\n\n\n<li>MorningStar \u2014 Morningstar rating, category benchmark and sustainability rating<\/li>\n\n\n<li>Performance \u2014 volatility, expected return, Sharpe ratio and returns YTD, 1Y, 3Y, 5Y, 10Y<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Response example for VTI (Vanguard Total Stock Market ETF), trimmed to representative fields:<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"General\": {\n    \"Code\": \"VTI\",\n    \"Type\": \"ETF\",\n    \"Name\": \"Vanguard Total Stock Market Index Fund ETF Shares\",\n    \"Exchange\": \"NYSE ARCA\",\n    \"CurrencyCode\": \"USD\",\n    \"CountryName\": \"USA\",\n    \"CountryISO\": \"US\",\n    \"Category\": \"Large Blend\",\n    \"UpdatedAt\": \"2026-07-14\"\n  },\n  \"Technicals\": {\n    \"Beta\": 1.03,\n    \"52WeekHigh\": 315.75,\n    \"52WeekLow\": 236.42,\n    \"50DayMA\": 298.11,\n    \"200DayMA\": 285.34\n  },\n  \"ETF_Data\": {\n    \"ISIN\": \"US9229087690\",\n    \"Company_Name\": \"Vanguard\",\n    \"Index_Name\": \"CRSP US Total Market Index\",\n    \"Yield\": \"1.28000\",\n    \"Dividend_Paying_Frequency\": \"Quarterly\",\n    \"Inception_Date\": \"2001-05-24\",\n    \"NetExpenseRatio\": \"0.0003\",\n    \"TotalAssets\": \"1800000000000\",\n    \"Average_Mkt_Cap_Mil\": \"215430.12\",\n    \"Market_Capitalisation\": {\n      \"Mega\": \"40.58125\",\n      \"Big\": \"30.86195\",\n      \"Medium\": \"19.21629\",\n      \"Small\": \"6.35233\",\n      \"Micro\": \"2.20510\"\n    },\n    \"Asset_Allocation\": {\n      \"Stock US\": { \"Long_%\": \"98.72\", \"Short_%\": \"0\", \"Net_Assets_%\": \"98.72\" },\n      \"Cash\": { \"Long_%\": \"0.61602\", \"Short_%\": \"0\", \"Net_Assets_%\": \"0.61602\" }\n    },\n    \"Sector_Weights\": {\n      \"Basic Materials\": { \"Equity_%\": \"2.02624\", \"Relative_to_Category\": \"2.17980\" }\n    },\n    \"Holdings_Count\": 3600,\n    \"Top_10_Holdings\": {\n      \"NVDA.US\": {\n        \"Code\": \"NVDA\",\n        \"Name\": \"NVIDIA Corporation\",\n        \"Sector\": \"Technology\",\n        \"Assets_%\": 6.7\n      }\n    },\n    \"MorningStar\": {\n      \"Ratio\": \"3\",\n      \"Category_Benchmark\": \"S&amp;P 500 TR USD\",\n      \"Sustainability_Ratio\": \"2\"\n    },\n    \"Performance\": {\n      \"1y_Volatility\": \"12.91\",\n      \"3y_Volatility\": \"13.73\",\n      \"3y_SharpRatio\": \"1.26\",\n      \"Returns_YTD\": \"9.62\",\n      \"Returns_1Y\": \"24.78\",\n      \"Returns_3Y\": \"20.90\",\n      \"Returns_5Y\": \"12.21\",\n      \"Returns_10Y\": \"14.90\"\n    }\n  }\n}<\/code><\/pre>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-funds-fundamentals\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Funds Fundamentals<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Fundamentals for mutual funds. We cover equity, balanced and bond-based US mutual funds. Request a fund by its ticker, for example SWPPX.US, or by its ISIN, for example US8085098551. The response has two top-level sections: General (identity, summary and family) and MutualFund_Data (NAV, net assets, yields, expense ratio, allocations, holdings, valuation and growth measures, sector weights, regions and ratings).<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/SWPPX.US?api_token=demo&amp;fmt=json<\/code><\/pre>\n<\/div>\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">General \u2014 identity, summary and family fields<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Code \u2014 ticker symbol<\/li>\n\n\n<li>Type \u2014 instrument type (FUND)<\/li>\n\n\n<li>Name \u2014 fund name<\/li>\n\n\n<li>Exchange \u2014 listing venue<\/li>\n\n\n<li>CurrencyCode \u2014 currency code<\/li>\n\n\n<li>CurrencyName \u2014 currency name<\/li>\n\n\n<li>CurrencySymbol \u2014 currency symbol<\/li>\n\n\n<li>CountryName \u2014 country<\/li>\n\n\n<li>CountryISO \u2014 ISO country code<\/li>\n\n\n<li>OpenFigi \u2014 OpenFIGI identifier<\/li>\n\n\n<li>ISIN \u2014 fund ISIN<\/li>\n\n\n<li>CUSIP \u2014 fund CUSIP<\/li>\n\n\n<li>Fund_Summary \u2014 fund summary text<\/li>\n\n\n<li>Fund_Family \u2014 fund family<\/li>\n\n\n<li>Fund_Category \u2014 fund category<\/li>\n\n\n<li>Fund_Style \u2014 fund style<\/li>\n\n\n<li>Fiscal_Year_End \u2014 fiscal year end<\/li>\n\n\n<li>MarketCapitalization \u2014 market capitalization<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">MutualFund_Data \u2014 profile, cost, allocations, holdings and ratings<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Fund_Category \u2014 fund category<\/li>\n\n\n<li>Fund_Style \u2014 fund style<\/li>\n\n\n<li>Nav \u2014 net asset value<\/li>\n\n\n<li>Prev_Close_Price \u2014 previous close price<\/li>\n\n\n<li>Update_Date \u2014 data update date<\/li>\n\n\n<li>Portfolio_Net_Assets \u2014 portfolio net assets<\/li>\n\n\n<li>Share_Class_Net_Assets \u2014 share class net assets<\/li>\n\n\n<li>Morning_Star_Rating \u2014 Morningstar rating<\/li>\n\n\n<li>Morning_Star_Risk_Rating \u2014 Morningstar risk rating<\/li>\n\n\n<li>Morning_Star_Category \u2014 Morningstar category<\/li>\n\n\n<li>Inception_Date \u2014 fund launch date<\/li>\n\n\n<li>Currency \u2014 fund currency<\/li>\n\n\n<li>Domicile \u2014 country of domicile<\/li>\n\n\n<li>Yield \u2014 current yield<\/li>\n\n\n<li>Yield_YTD \u2014 year-to-date yield<\/li>\n\n\n<li>Yield_1Year_YTD \u2014 one-year yield<\/li>\n\n\n<li>Yield_3Year_YTD \u2014 three-year yield<\/li>\n\n\n<li>Yield_5Year_YTD \u2014 five-year yield<\/li>\n\n\n<li>Expense_Ratio \u2014 expense ratio<\/li>\n\n\n<li>Expense_Ratio_Date \u2014 expense ratio date<\/li>\n\n\n<li>Asset_Allocation \u2014 allocation by asset type, each with Net_%, Long_%, Short_%, Category_Average and Benchmark<\/li>\n\n\n<li>Value_Growth \u2014 valuation and growth measures, each with Stock_Portfolio, Category_Average and Benchmark<\/li>\n\n\n<li>Top_Holdings \u2014 top holdings, each with Name and Weight<\/li>\n\n\n<li>Market_Capitalization \u2014 capitalization bands, each with Portfolio_%, Category_Average and Benchmark<\/li>\n\n\n<li>Sector_Weights \u2014 sectors grouped by Cyclical, Defensive, Sensitive and Bond Sector, each with Amount_%, Category_Average and Benchmark<\/li>\n\n\n<li>World_Regions \u2014 regions grouped by Americas, Greater Asia and Greater Europe, each with Stocks_%, Category_Average and Benchmark<\/li>\n\n\n<li>Top_Countries \u2014 top countries, for bond-based funds<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Response example for the Schwab S&amp;P 500 Index Fund (SWPPX.US), trimmed to representative fields:<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"General\": {\n    \"Code\": \"SWPPX\",\n    \"Type\": \"FUND\",\n    \"Name\": \"Schwab S&amp;P 500 Index Fund\",\n    \"Exchange\": \"NMFQS\",\n    \"CurrencyCode\": \"USD\",\n    \"CountryName\": \"USA\",\n    \"ISIN\": \"US8085098551\",\n    \"Fund_Family\": \"Charles Schwab\",\n    \"Fund_Category\": \"Large Blend\",\n    \"Fund_Style\": \"Large Blend\"\n  },\n  \"MutualFund_Data\": {\n    \"Fund_Category\": \"Large Blend\",\n    \"Nav\": \"19.53\",\n    \"Prev_Close_Price\": \"19.28\",\n    \"Update_Date\": \"2026-06-30\",\n    \"Portfolio_Net_Assets\": \"144032650000\",\n    \"Inception_Date\": \"1997-05-19\",\n    \"Currency\": \"USD\",\n    \"Domicile\": \"United States\",\n    \"Yield\": \"0.0101\",\n    \"Yield_1Year_YTD\": \"25.8098\",\n    \"Expense_Ratio\": \"0.0200\",\n    \"Expense_Ratio_Date\": \"2026-02-26\",\n    \"Asset_Allocation\": {\n      \"0\": {\n        \"Type\": \"Cash\",\n        \"Net_%\": \"0.38104\",\n        \"Long_%\": \"0.38104\",\n        \"Short_%\": null,\n        \"Category_Average\": \"1.45886\",\n        \"Benchmark\": \"0.00000\"\n      }\n    },\n    \"Value_Growth\": {\n      \"0\": {\n        \"Name\": \"Price\/Prospective Earnings\",\n        \"Stock_Portfolio\": 21.93272,\n        \"Category_Average\": 21.54673,\n        \"Benchmark\": 22.2222\n      }\n    },\n    \"Top_Holdings\": {\n      \"0\": { \"Name\": \"NVIDIA Corp\", \"Weight\": \"7.82%\" }\n    },\n    \"Sector_Weights\": {\n      \"Cyclical\": {\n        \"0\": {\n          \"Name\": \"Basic Materials\",\n          \"Amount_%\": 1.78084,\n          \"Category_Average\": 2.17980,\n          \"Benchmark\": 1.67602\n        }\n      }\n    },\n    \"World_Regions\": {\n      \"Americas\": {\n        \"0\": {\n          \"Name\": \"North America\",\n          \"Stocks_%\": 99.578,\n          \"Category_Average\": 97.923,\n          \"Benchmark\": 99.375\n        }\n      }\n    }\n  }\n}<\/code><\/pre>\n<\/div>\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-index-constituents\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Index Constituents<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">The Fundamentals API returns constituent data for indices when you query an index ticker in the INDX exchange, such as GSPC.INDX for the S&amp;P 500. A full list of covered indices is available here.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">For an index ticker the response contains three top-level sections. General holds the index metadata. Components holds the current constituents of the index. HistoricalTickerComponents holds the full membership history, listing every ticker that has ever been part of the index together with the dates it joined and left.<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/{INDEX}.INDX?api_token={YOUR_API_TOKEN}&amp;fmt=json<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Fields returned for each entry in the Components section:<\/p>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">Components \u2014 current constituent fields<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Code \u2014 constituent ticker symbol<\/li>\n\n\n\n<li>Exchange \u2014 exchange code where the constituent trades<\/li>\n\n\n\n<li>Name \u2014 company name of the constituent<\/li>\n\n\n\n<li>Sector \u2014 sector classification of the constituent<\/li>\n\n\n\n<li>Industry \u2014 industry classification of the constituent<\/li>\n\n\n\n<li>Weight \u2014 the constituent&#8217;s weight in the index, expressed as a fraction (for example 0.0019 means 0.19 percent)<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Fields returned for each entry in the HistoricalTickerComponents section:<\/p>\n\n\n\n<details class=\"docs-details wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary class=\"docs-details__summary\">HistoricalTickerComponents \u2014 membership history fields<\/summary><div class=\"docs-details__body\">\n<ul class=\"docs-content__list wp-block-list\">\n<li>Code \u2014 constituent ticker symbol<\/li>\n\n\n\n<li>Name \u2014 company name of the constituent<\/li>\n\n\n\n<li>StartDate \u2014 date the ticker was added to the index<\/li>\n\n\n\n<li>EndDate \u2014 date the ticker was removed from the index, or null if it is still a member<\/li>\n\n\n\n<li>IsActiveNow \u2014 1 if the ticker is a current member of the index, 0 otherwise<\/li>\n\n\n\n<li>IsDelisted \u2014 1 if the security has since been delisted, 0 otherwise<\/li>\n<\/ul>\n<\/div><\/details>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">You can request a single section with the filter parameter, which keeps the response small when you only need the constituents.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Request example \u2014 current components of the S&amp;P 500:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;filter=Components\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Components<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Components<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Components<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Components<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>Components<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Response example (first entries of 503 components):<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"0\": {\n    \"Code\": \"AIZ\",\n    \"Exchange\": \"US\",\n    \"Name\": \"Assurant, Inc.\",\n    \"Sector\": \"Financial Services\",\n    \"Industry\": \"Insurance - Property &amp; Casualty\",\n    \"Weight\": 0.0002\n  },\n  \"1\": {\n    \"Code\": \"PGR\",\n    \"Exchange\": \"US\",\n    \"Name\": \"Progressive Corp\",\n    \"Sector\": \"Financial Services\",\n    \"Industry\": \"Insurance - Property &amp; Casualty\",\n    \"Weight\": 0.0019\n  }\n}<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Request example \u2014 full membership history of the S&amp;P 500:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;filter=HistoricalTickerComponents\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>HistoricalTickerComponents<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>HistoricalTickerComponents<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>HistoricalTickerComponents<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>HistoricalTickerComponents<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&<span class='white bold'>filter<\/span>=<span class='orange bold filter'>HistoricalTickerComponents<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Response example (one current member and one former member):<\/p>\n\n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"0\": {\n    \"Code\": \"A\",\n    \"Name\": \"Agilent Technologies Inc\",\n    \"StartDate\": \"2000-06-05\",\n    \"EndDate\": null,\n    \"IsActiveNow\": 1,\n    \"IsDelisted\": 0\n  },\n  \"1\": {\n    \"Code\": \"AAL\",\n    \"Name\": \"American Airlines Group\",\n    \"StartDate\": \"2015-03-23\",\n    \"EndDate\": \"2024-09-23\",\n    \"IsActiveNow\": 0,\n    \"IsDelisted\": 0\n  }\n}<\/code><\/pre>\n<\/div>\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Historical membership is available two ways. HistoricalTickerComponents (above) lists every past and present constituent with its join and leave dates. Alternatively, add historical=1 with a from and to date range to receive a HistoricalComponents section: point-in-time snapshots of the full index membership on each date in the range.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Fundamental Data\">\n                <div class=\"api-key__topbar\">\n            <div class=\"api-key__tablist\" role=\"tablist\">\n                                                                        <button\n                        class=\"api-key__tab api-key__tab--active\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"url\"                    >URL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"curl\"                    >cURL<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"php\"                    >PHP<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"python\"                    >Python<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"r\"                    >R<\/button>\n                                                                            <button\n                        class=\"api-key__tab\"\n                        type=\"button\"\n                        role=\"tab\"\n                        data-tab=\"chatgpt\" data-actions=\"false\"                    >Chat GPT<\/button>\n                                                <\/div>\n            <div class=\"api-key__actions\">\n                <button class=\"api-key__btn api-key__btn--copy\" type=\"button\" aria-label=\"Copy\">\n                    <svg viewBox=\"0 0 20 20\" width=\"18\" height=\"18\" class=\"api-key__btn-icon api-key__btn-icon--default\"><use xlink:href=\"\/img\/icons\/copy.svg#copy\"\/><\/svg>\n                    <img decoding=\"async\" class=\"api-key__btn-icon api-key__btn-icon--success\" src=\"\/img\/approve_ico.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\">\n                <\/button>\n                <button class=\"api-key__btn api-key__btn--view\" type=\"button\" aria-label=\"Open in new tab\" data-url=\"https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?historical=1&amp;from=2010-01-01&amp;to=2010-12-31&amp;api_token=demo&amp;fmt=json\">\n                    <svg viewBox=\"0 0 20 21\" width=\"18\" height=\"18\"><use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"\/><\/svg>\n                <\/button>\n            <\/div>\n        <\/div>\n        \n        <div class=\"api-key__panels\">\n                                                                        <div class=\"api-key__panel api-key__panel--active\" data-panel=\"url\">\n                                            <pre class=\"api-key__code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>historical<\/span>=<span class='orange bold historical'>1<\/span>&<span class='white bold'>from<\/span>=<span class='orange bold from'>2010-01-01<\/span>&<span class='white bold'>to<\/span>=<span class='orange bold to'>2010-12-31<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span><\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"curl\">\n                                                                    <pre class=\"api-key__code\"><code>curl --location &quot;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>historical<\/span>=<span class='orange bold historical'>1<\/span>&<span class='white bold'>from<\/span>=<span class='orange bold from'>2010-01-01<\/span>&<span class='white bold'>to<\/span>=<span class='orange bold to'>2010-12-31<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&quot;<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"php\">\n                                                                    <pre class=\"api-key__code\"><code>$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL =&gt; &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>historical<\/span>=<span class='orange bold historical'>1<\/span>&<span class='white bold'>from<\/span>=<span class='orange bold from'>2010-01-01<\/span>&<span class='white bold'>to<\/span>=<span class='orange bold to'>2010-12-31<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;,\n    CURLOPT_RETURNTRANSFER =&gt; true,\n    CURLOPT_ENCODING =&gt; &#039;&#039;,\n    CURLOPT_MAXREDIRS =&gt; 10,\n    CURLOPT_TIMEOUT =&gt; 0,\n    CURLOPT_FOLLOWLOCATION =&gt; true,\n    CURLOPT_HTTP_VERSION =&gt; CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST =&gt; &#039;GET&#039;,\n));\n\n$data = curl_exec($curl);\ncurl_close($curl);\n\ntry {\n    $data = json_decode($data, true, 512, JSON_THROW_ON_ERROR);\n    var_dump($data);\n} catch (Exception $e) {\n    echo &#039;Error. &#039;.$e-&gt;getMessage();\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"python\">\n                                                                    <pre class=\"api-key__code\"><code>import requests\n\nurl = f&#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>historical<\/span>=<span class='orange bold historical'>1<\/span>&<span class='white bold'>from<\/span>=<span class='orange bold from'>2010-01-01<\/span>&<span class='white bold'>to<\/span>=<span class='orange bold to'>2010-12-31<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\ndata = requests.get(url).json()\n\nprint(data)<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"r\">\n                                                                    <pre class=\"api-key__code\"><code>library(httr)\nlibrary(jsonlite)\n\nurl &lt;- &#039;https:\/\/eodhd.com\/api\/fundamentals\/<span class='orange bold'>GSPC.INDX<\/span>?<span class='white bold'>historical<\/span>=<span class='orange bold historical'>1<\/span>&<span class='white bold'>from<\/span>=<span class='orange bold from'>2010-01-01<\/span>&<span class='white bold'>to<\/span>=<span class='orange bold to'>2010-12-31<\/span>&<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>demo<\/span>&<span class='white bold'>fmt<\/span>=<span class='orange bold fmt'>json<\/span>&#039;\nresponse &lt;- GET(url)\n\nif (http_type(response) == &quot;application\/json&quot;) {\n    content &lt;- content(response, &quot;text&quot;, encoding = &quot;UTF-8&quot;)\n    cat(content)\n} else {\n    cat(&quot;Error while receiving data\\n&quot;)\n}<\/code><\/pre>\n                        <div class=\"api-key__register\">(<a href=\"\/register\">Sign up<\/a> for free to get an API token)<\/div>\n                                    <\/div>\n                                                                            <div class=\"api-key__panel\" data-panel=\"chatgpt\">\n                                            <div class=\"api-key__chatgpt\">\n                            New to coding? Our ChatGPT assistant can generate code in any language tailored to our API.\n                            Simply describe how you want to use our data, and get a working piece of code.\n                            Don&rsquo;t forget to replace the API token with your own.<br><br>\n                            <a href=\"\/lp\/eodhd-chatgpt\" target=\"_blank\">Try it now (it's free)!<\/a><br><br>\n                            <a href=\"https:\/\/www.youtube.com\/watch?v=QVWiLukag7o\" rel=\"nofollow\" target=\"_blank\">\n                                How to use it (YouTube)\n                            <\/a>\n                        <\/div>\n                                    <\/div>\n                                    <\/div>\n    <\/div>\n    <\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"h-bulk-fundamentals-api\" class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\">Bulk Fundamentals API<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Learn how to get Fundamental Data for multiple tickers or entire exchanges <a href=\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan\">here<\/a>. Bulk Fundamentals is also available in v1.1 at \/api\/v1.1\/bulk-fundamentals\/{EXCHANGE_CODE}.<\/p>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n    <div class=\"spotlight spotlight--accent spotlight--wide\">\n        <div class=\"spotlight__content\">\n            \n                            <div class=\"spotlight__title\">Compare plans and find your fit<\/div>\n            \n                            <div class=\"spotlight__desc\">Free and paid plans for individual and commercial use<\/div>\n                    <\/div>\n\n                    <a class=\"spotlight__action btn btn--white\"\n               href=\"https:\/\/eodhd.com\/pricing\"\n               target=\"_blank\"\n               rel=\"noopener\">\n                Go to Pricing            <\/a>\n            <\/div>\n    \n\n\n\n","protected":false},"excerpt":{"rendered":"<p>Fundamental data API for stocks, ETFs, mutual funds, and indices from major US, UK, EU, and Asian exchanges. Because the fundamentals response can be large, especially for stocks, you can request a single section or one field with the filter parameter (see Partial Data Retrieval below). We recommend Fundamentals API v1.1 for all new integrations; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[72,103],"tags":[],"class_list":["post-226","post","type-post","status-publish","format-standard","hentry","category-fundamental-and-economic-financial-data-api","category-most-popular-financial-data-apis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.6 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free &amp; paid plans<\/title>\n<meta name=\"description\" content=\"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free &amp; paid subscriptions\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices\" \/>\n<meta property=\"og:description\" content=\"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free &amp; paid subscriptions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\" \/>\n<meta property=\"og:site_name\" content=\"Stock Price Data, Financial and Stock Market API\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/eodhistoricaldata\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-10T12:54:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-14T15:14:50+00:00\" \/>\n<meta name=\"author\" content=\"EOD Historical Data Support\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:site\" content=\"@EOD_data\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"EOD Historical Data Support\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\"},\"author\":{\"name\":\"EOD Historical Data Support\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415\"},\"headline\":\"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices\",\"datePublished\":\"2025-03-10T12:54:00+00:00\",\"dateModified\":\"2026-07-14T15:14:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\"},\"wordCount\":2854,\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\"},\"articleSection\":[\"2. Fundamental &amp; Economic Data\",\"Most Popular Financial APIs\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\",\"name\":\"The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free & paid plans\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\"},\"datePublished\":\"2025-03-10T12:54:00+00:00\",\"dateModified\":\"2026-07-14T15:14:50+00:00\",\"description\":\"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free & paid subscriptions\",\"breadcrumb\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-apis\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/\",\"name\":\"Historical Stock Prices and Fundamental Financial Data APIs | EODHD\",\"description\":\"End Of Day (EOD), Fundamental and Real-time\/Live Data Market API\",\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eodhd.com\/financial-apis\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\",\"name\":\"EODHD (EOD Historical Data)\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"contentUrl\":\"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"width\":159,\"height\":82,\"caption\":\"EODHD (EOD Historical Data)\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/eodhistoricaldata\",\"https:\/\/x.com\/EOD_data\",\"https:\/\/www.reddit.com\/r\/EODHistoricalData\/\",\"https:\/\/eod-historical-data.medium.com\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415\",\"name\":\"EOD Historical Data Support\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3599a531133e7fc83654b72e3103c05b1bbeb91168cf4786cbad64afa9b82413?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3599a531133e7fc83654b72e3103c05b1bbeb91168cf4786cbad64afa9b82413?s=96&d=mm&r=g\",\"caption\":\"EOD Historical Data Support\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free & paid plans","description":"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free & paid subscriptions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds","og_locale":"en_US","og_type":"article","og_title":"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices","og_description":"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free & paid subscriptions","og_url":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds","og_site_name":"Stock Price Data, Financial and Stock Market API","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2025-03-10T12:54:00+00:00","article_modified_time":"2026-07-14T15:14:50+00:00","author":"EOD Historical Data Support","twitter_card":"summary_large_image","twitter_creator":"@EOD_data","twitter_site":"@EOD_data","twitter_misc":{"Written by":"EOD Historical Data Support","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds"},"author":{"name":"EOD Historical Data Support","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415"},"headline":"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices","datePublished":"2025-03-10T12:54:00+00:00","dateModified":"2026-07-14T15:14:50+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds"},"wordCount":2854,"publisher":{"@id":"https:\/\/eodhd.com\/financial-apis\/#organization"},"articleSection":["2. Fundamental &amp; Economic Data","Most Popular Financial APIs"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds","url":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds","name":"The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free & paid plans","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/#website"},"datePublished":"2025-03-10T12:54:00+00:00","dateModified":"2026-07-14T15:14:50+00:00","description":"Fundamental Market Data API for 70+ exchanges, including stocks, equities, ETFs, mutual funds, and indices. Historical data 30+ years. Free & paid subscriptions","breadcrumb":{"@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-apis"},{"@type":"ListItem","position":2,"name":"Fundamental Data: Stocks, ETFs, Mutual Funds, Indices"}]},{"@type":"WebSite","@id":"https:\/\/eodhd.com\/financial-apis\/#website","url":"https:\/\/eodhd.com\/financial-apis\/","name":"Historical Stock Prices and Fundamental Financial Data APIs | EODHD","description":"End Of Day (EOD), Fundamental and Real-time\/Live Data Market API","publisher":{"@id":"https:\/\/eodhd.com\/financial-apis\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eodhd.com\/financial-apis\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/eodhd.com\/financial-apis\/#organization","name":"EODHD (EOD Historical Data)","url":"https:\/\/eodhd.com\/financial-apis\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/","url":"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","contentUrl":"https:\/\/eodhd.com\/financial-apis\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","width":159,"height":82,"caption":"EODHD (EOD Historical Data)"},"image":{"@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/eodhistoricaldata","https:\/\/x.com\/EOD_data","https:\/\/www.reddit.com\/r\/EODHistoricalData\/","https:\/\/eod-historical-data.medium.com\/"]},{"@type":"Person","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415","name":"EOD Historical Data Support","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3599a531133e7fc83654b72e3103c05b1bbeb91168cf4786cbad64afa9b82413?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3599a531133e7fc83654b72e3103c05b1bbeb91168cf4786cbad64afa9b82413?s=96&d=mm&r=g","caption":"EOD Historical Data Support"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8NjB1-3E","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/comments?post=226"}],"version-history":[{"count":229,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/226\/revisions"}],"predecessor-version":[{"id":8011,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/226\/revisions\/8011"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/media?parent=226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/categories?post=226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/tags?post=226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}