{"id":7808,"date":"2026-01-16T12:38:45","date_gmt":"2026-01-16T11:38:45","guid":{"rendered":"https:\/\/eodhd.com\/financial-apis\/?p=7808"},"modified":"2026-07-24T16:22:56","modified_gmt":"2026-07-24T14:22:56","slug":"bulk-fundamentals-api-via-extended-fundamentals-plan","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan","title":{"rendered":"Bulk Fundamentals API (via Extended Fundamentals Plan)"},"content":{"rendered":"\n<p class=\"docs-content__text wp-block-paragraph\">The Bulk Fundamentals API downloads fundamental data for many companies in a single request, instead of calling the single-ticker Fundamentals API symbol by symbol. It is built for keeping a local fundamentals database in sync. Two endpoints cover different needs: the <strong>bulk endpoint<\/strong> lets you select specific symbols, paginate, and choose CSV or JSON, while the <strong>full-exchange snapshot endpoint<\/strong> returns an entire exchange in one JSON response served from an hourly cache.<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\"><!--TOC--><\/p>\n\n\n    <div class=\"admonition admonition--note\">\n        <span class=\"admonition__icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"20\" height=\"20\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\/><\/svg><\/span>\n        <div class=\"admonition__body\">\n\n<p class=\"docs-content__text wp-block-paragraph\">Access to the Bulk Fundamentals API requires the <strong>Extended Fundamentals<\/strong> subscription plan. Details of this plan are provided upon request \u2014 please contact <a href=\"mailto:support@eodhistoricaldata.com\">support@eodhistoricaldata.com<\/a>. The All-in-One package on its own does not include Extended Fundamentals.<\/p>\n\n<\/div>\n    <\/div>\n    \n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-two-endpoints\">Two Endpoints, Two Jobs<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Both endpoints return the same fundamentals record format for the same universe of stocks. They differ in how you select and receive the data \u2014 pick the one that matches your workflow.<\/p>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>&nbsp;<\/th><th>Bulk endpoint<\/th><th>Full-exchange snapshot<\/th><\/tr><\/thead><tbody><tr><td>Path<\/td><td>\/api\/bulk-fundamentals\/{EXCHANGE_CODE}<\/td><td>\/api\/v2\/bulk-fundamentals\/{EXCHANGE_CODE}<\/td><\/tr><tr><td>Scope<\/td><td>Whole exchange, a paginated slice, or a chosen list of symbols<\/td><td>Whole exchange only<\/td><\/tr><tr><td>Pagination (offset, limit)<\/td><td>Yes, up to 500 symbols per request<\/td><td>No \u2014 the full exchange is returned at once<\/td><\/tr><tr><td>Symbol selection (symbols)<\/td><td>Yes<\/td><td>No<\/td><\/tr><tr><td>Format<\/td><td>JSON or CSV<\/td><td>JSON only<\/td><\/tr><tr><td>Data source<\/td><td>Live<\/td><td>Hourly cache snapshot<\/td><\/tr><tr><td>When data is not ready<\/td><td>Always available<\/td><td>Returns 503 with a Retry-After header while the snapshot rebuilds<\/td><\/tr><tr><td>Best for<\/td><td>Selective pulls, pagination, CSV export<\/td><td>Pulling an entire exchange in one fast call<\/td><\/tr><tr><td>Cost<\/td><td>100 API calls (or 100 + number of symbols)<\/td><td>5,000 API calls<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-api-call-cost\">API Call Cost<\/h2>\n\n\n\n<ul class=\"docs-content__list wp-block-list\">\n<li>A regular single-ticker Fundamentals request costs <strong>10 API calls<\/strong> (for reference).<\/li>\n\n\n\n<li>Bulk endpoint \u2014 <strong>100 API calls<\/strong> per request when no symbols are specified.<\/li>\n\n\n\n<li>Bulk endpoint with the symbols parameter \u2014 <strong>100 + the number of symbols<\/strong>. For example, a request for 3 symbols costs 103 API calls.<\/li>\n\n\n\n<li>Full-exchange snapshot endpoint \u2014 <strong>5,000 API calls<\/strong> per request. A single call delivers the entire exchange, replacing the many paginated requests the bulk endpoint would need.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-coverage-and-limits\">Coverage and Limits<\/h2>\n\n\n\n<ul class=\"docs-content__list wp-block-list\">\n<li><strong>Stocks only.<\/strong> Common stocks are covered; ETFs and mutual funds are not supported.<\/li>\n\n\n\n<li><strong>Exchange code in the path.<\/strong> Use the general US code or address these US exchanges separately: NASDAQ, NYSE (or NYSE MKT), BATS, and AMEX. All non-US exchanges are supported as usual \u2014 see the full list of supported exchanges and codes <a href=\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-list-of-tickers-and-trading-hours\">here<\/a>.<\/li>\n\n\n\n<li><strong>Maximum 500 symbols per request on the bulk endpoint.<\/strong> Page through larger exchanges with offset and limit. The snapshot endpoint has no such limit \u2014 it returns the whole exchange in one response.<\/li>\n\n\n\n<li><strong>Reduced field set.<\/strong> Each bulk record carries fewer fields than a single-ticker Fundamentals response, and historical data is limited to the last 4 quarters and last 4 years.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-bulk-endpoint\">Bulk Endpoint<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">GET \/api\/bulk-fundamentals\/{EXCHANGE_CODE} returns fundamentals for the exchange named in the path. Use offset and limit to page through the exchange up to 500 symbols at a time, pass symbols to fetch a specific list, and choose JSON or CSV with fmt. This endpoint reads live data.<\/p>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-bulk-path-parameter\">Path Parameter<\/h3>\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\">EXCHANGE_CODE<\/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\">Exchange code, for example US, NYSE, NASDAQ, AMEX, BATS, or any non-US exchange code.<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-bulk-query-parameters\">Query Parameters<\/h3>\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\">fmt<\/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\">Output format. Set to json for JSON; the default is CSV. We strongly recommend JSON.<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: csv)<\/em><\/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\">offset<\/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\">Starting position for pagination \u2014 the number of symbols to skip.<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 0)<\/em><\/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\">limit<\/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\">Number of symbols to return. The maximum is 500 per request.<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 500)<\/em><\/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\">symbols<\/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\">Comma-separated list of tickers to fetch. When set, the exchange code in the path is ignored.<\/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\">version<\/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\">Output template. Use 1.2 for the full current Fundamentals template, including Earnings Trends \u2014 this is the recommended value and what the snapshot endpoint uses. JSON only. When omitted, the API falls back to 1.0, a leaner legacy format kept for backward compatibility that omits some blocks such as Earnings Trends.<\/span>\n                    <span class=\"docs-parameters__default\"><em>(Default: 1.2 recommended)<\/em><\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-bulk-examples\">Request Examples<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">All examples below use version 1.2 for the full current-template output. Fundamentals for an entire exchange, in JSON:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Bulk Fundamentals API\">\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\/bulk-fundamentals\/NASDAQ?api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;version=1.2\">\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\/bulk-fundamentals\/NASDAQ?<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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<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'>version<\/span>=<span class='orange bold version'>1.2<\/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\">Pagination \u2014 retrieve 200 symbols starting from symbol #1000:<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Bulk Fundamentals API\">\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\/bulk-fundamentals\/NASDAQ?offset=1000&amp;limit=200&amp;api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;version=1.2\">\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\/bulk-fundamentals\/NASDAQ?<span class='white bold'>offset<\/span>=<span class='orange bold offset'>1000<\/span>&<span class='white bold'>limit<\/span>=<span class='orange bold limit'>200<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<span class='white bold'>offset<\/span>=<span class='orange bold offset'>1000<\/span>&<span class='white bold'>limit<\/span>=<span class='orange bold limit'>200<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<span class='white bold'>offset<\/span>=<span class='orange bold offset'>1000<\/span>&<span class='white bold'>limit<\/span>=<span class='orange bold limit'>200<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<span class='white bold'>offset<\/span>=<span class='orange bold offset'>1000<\/span>&<span class='white bold'>limit<\/span>=<span class='orange bold limit'>200<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?<span class='white bold'>offset<\/span>=<span class='orange bold offset'>1000<\/span>&<span class='white bold'>limit<\/span>=<span class='orange bold limit'>200<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\">A specific list of symbols (the exchange code in the path is ignored):<\/p>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Bulk Fundamentals API\">\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\/bulk-fundamentals\/NASDAQ?&amp;symbols=AAPL.US,MSFT.US&amp;api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;version=1.2\">\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\/bulk-fundamentals\/NASDAQ?&<span class='white bold'>symbols<\/span>=<span class='orange bold symbols'>AAPL.US,MSFT.US<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?&<span class='white bold'>symbols<\/span>=<span class='orange bold symbols'>AAPL.US,MSFT.US<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?&<span class='white bold'>symbols<\/span>=<span class='orange bold symbols'>AAPL.US,MSFT.US<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?&<span class='white bold'>symbols<\/span>=<span class='orange bold symbols'>AAPL.US,MSFT.US<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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\/bulk-fundamentals\/NASDAQ?&<span class='white bold'>symbols<\/span>=<span class='orange bold symbols'>AAPL.US,MSFT.US<\/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'>version<\/span>=<span class='orange bold version'>1.2<\/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 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-snapshot-endpoint\">Full-Exchange Snapshot Endpoint<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">GET \/api\/v2\/bulk-fundamentals\/{EXCHANGE_CODE} returns every symbol on the exchange in one JSON response, served from a snapshot that is rebuilt hourly in the background. It takes no offset, limit, or symbols parameters \u2014 those are ignored \u2014 and always returns the full exchange. This is the fastest way to pull a complete exchange in a single call and avoids the many paginated requests the bulk endpoint would need.<\/p>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-snapshot-path-parameter\">Path Parameter<\/h3>\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\">EXCHANGE_CODE<\/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\">Exchange code, for example NYSE, NASDAQ, AMEX, TO, or V.<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-snapshot-query-parameters\">Query Parameters<\/h3>\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. No other parameters are used \u2014 the full exchange is always returned.<\/span>\n            <\/div>\n<\/div>\n\n<\/div>\n\n\n    <div class=\"admonition admonition--warning\">\n        <span class=\"admonition__icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"20\" height=\"20\"><path fill-rule=\"evenodd\" d=\"M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625l6.28-10.875zM10 6a1 1 0 011 1v3a1 1 0 11-2 0V7a1 1 0 011-1zm0 8a1 1 0 100-2 1 1 0 000 2z\"\/><\/svg><\/span>\n        <div class=\"admonition__body\">\n\n<p class=\"docs-content__text wp-block-paragraph\">When the hourly snapshot is being rebuilt, the endpoint returns <strong>503 Service Unavailable<\/strong> with a <strong>Retry-After<\/strong> header giving the number of seconds to wait. Back off for that interval and retry, rather than treating it as a hard error. The response can be large \u2014 stream it instead of buffering the whole payload in memory.<\/p>\n\n<\/div>\n    <\/div>\n    \n\n\n<h3 class=\"docs-content__heading docs-content__heading--h3 wp-block-heading\" id=\"h-snapshot-examples\">Request Example<\/h3>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">    <div class=\"api-key\" data-feed=\"Bulk Fundamentals API\">\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\/v2\/bulk-fundamentals\/NASDAQ?api_token={YOUR_API_TOKEN}\">\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\/v2\/bulk-fundamentals\/NASDAQ?<span class='white bold'>api_token<\/span>=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/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\/v2\/bulk-fundamentals\/NASDAQ?<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>&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\/v2\/bulk-fundamentals\/NASDAQ?<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>&#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\/v2\/bulk-fundamentals\/NASDAQ?<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>&#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\/v2\/bulk-fundamentals\/NASDAQ?<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>&#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 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-output\">Output<\/h2>\n\n\n\n<p class=\"docs-content__text wp-block-paragraph\">Both endpoints return a JSON array, one object per company. Each object groups fundamentals into the blocks below. The set mirrors the single-ticker Fundamentals API with fewer fields, and the Earnings and Financials blocks are capped at the last 4 quarters and last 4 years. Here is an <a href=\"https:\/\/eodhistoricaldata.com\/download\/BULK_FUNDAMENTALS_EXAMPLE.csv\">example CSV output<\/a> for Apple Inc. (AAPL.US) and Microsoft Corporation (MSFT.US).<\/p>\n\n\n    <div class=\"admonition admonition--info\">\n        <span class=\"admonition__icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"20\" height=\"20\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\"\/><\/svg><\/span>\n        <div class=\"admonition__body\">\n\n<p class=\"docs-content__text wp-block-paragraph\">Use version 1.2 on the bulk endpoint for the full current-template output (Earnings Trends included) \u2014 it is a superset of the older format and matches what the snapshot endpoint returns. Version 1.2 is JSON only, and the 4 quarters \/ 4 years history limit still applies. Note on version 1.0: when version is omitted the API falls back to the original 1.0 format, built on an earlier fundamentals template \u2014 it is leaner and omits some blocks such as Earnings Trends, and is kept only for backward compatibility with existing integrations.<\/p>\n\n<\/div>\n    <\/div>\n    \n\n<div class=\"code-block\">\n<pre class=\"docs-content__code-block wp-block-code\"><code lang=\"json\" class=\"language-json\">[\n  {\n    \"General\":        { \"Code\": \"AAPL\", \"Type\": \"Common Stock\", \"Name\": \"Apple Inc.\", \"Exchange\": \"NASDAQ\", \"ISIN\": \"US0378331005\", \"Sector\": \"Technology\", \"...\": \"...\" },\n    \"Highlights\":     { \"MarketCapitalization\": 3200000000000, \"PERatio\": 32.1, \"DividendYield\": 0.0045, \"EarningsShare\": 6.61, \"...\": \"...\" },\n    \"Valuation\":      { \"TrailingPE\": 32.1, \"ForwardPE\": 28.4, \"PriceSalesTTM\": 8.2, \"PriceBookMRQ\": 51.3, \"...\": \"...\" },\n    \"SharesStats\":    { \"SharesOutstanding\": 14900000000, \"SharesFloat\": 14880000000, \"...\": \"...\" },\n    \"Technicals\":     { \"Beta\": 1.24, \"52WeekHigh\": 260.1, \"52WeekLow\": 164.1, \"50DayMA\": 228.4, \"...\": \"...\" },\n    \"SplitsDividends\":{ \"ForwardAnnualDividendRate\": 1.04, \"PayoutRatio\": 0.15, \"ExDividendDate\": \"2026-05-12\", \"...\": \"...\" },\n    \"AnalystRatings\": { \"Rating\": 4.2, \"TargetPrice\": 275.0, \"Buy\": 21, \"Hold\": 8, \"...\": \"...\" },\n    \"Earnings\":       { \"Trend\": { \"...\": \"...\" }, \"Last_0\": { \"...\": \"...\" }, \"Last_1\": { \"...\": \"...\" } },\n    \"Financials\":     { \"Balance_Sheet\": { \"...\": \"...\" }, \"Cash_Flow\": { \"...\": \"...\" }, \"Income_Statement\": { \"...\": \"...\" } }\n  }\n]\n<\/code><\/pre>\n<\/div>\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Block<\/th><th>Contents<\/th><\/tr><\/thead><tbody><tr><td>General<\/td><td>Identification and classification: Code, Name, Exchange, currency, country, ISIN, CUSIP, CIK, sector and industry, GIC classification, IPO date, delisting flag, description<\/td><\/tr><tr><td>Highlights<\/td><td>Headline metrics: market capitalization, EBITDA, PE and PEG ratios, book value, dividend share and yield, EPS and EPS estimates, margins, and returns<\/td><\/tr><tr><td>Valuation<\/td><td>Valuation multiples: trailing and forward PE, price-to-sales, price-to-book, enterprise value and its ratios<\/td><\/tr><tr><td>SharesStats<\/td><td>Share statistics: shares outstanding and float, insider and institutional ownership, short interest<\/td><\/tr><tr><td>Technicals<\/td><td>Technical figures: beta, 52-week high and low, 50- and 200-day moving averages, short-interest figures<\/td><\/tr><tr><td>SplitsDividends<\/td><td>Forward dividend rate and yield, payout ratio, dividend and ex-dividend dates, last split factor and date<\/td><\/tr><tr><td>AnalystRatings<\/td><td>Consensus rating, target price, and the count of strong buy, buy, hold, sell, and strong sell ratings<\/td><\/tr><tr><td>Earnings<\/td><td>Earnings trend plus the last 4 reported quarters (Last_0 to Last_3)<\/td><\/tr><tr><td>Financials<\/td><td>Balance sheet, cash flow, and income statement, limited to the last 4 quarters and last 4 years<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"docs-content__heading docs-content__heading--h2 wp-block-heading\" id=\"h-response-codes\">Response Codes<\/h2>\n\n\n\n<figure class=\"docs-content__table-wrap wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Code<\/th><th>Meaning<\/th><\/tr><\/thead><tbody><tr><td>200<\/td><td>Success; fundamentals returned<\/td><\/tr><tr><td>401<\/td><td>Unauthorized; missing or invalid API token<\/td><\/tr><tr><td>403<\/td><td>Plan does not include Extended Fundamentals access<\/td><\/tr><tr><td>422<\/td><td>Invalid query parameters<\/td><\/tr><tr><td>503<\/td><td>Snapshot endpoint only; the hourly snapshot is being rebuilt. Wait the number of seconds in the Retry-After header and retry<\/td><\/tr><\/tbody><\/table><\/figure>\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","protected":false},"excerpt":{"rendered":"<p>The Bulk Fundamentals API downloads fundamental data for many companies in a single request, instead of calling the single-ticker Fundamentals API symbol by symbol. It is built for keeping a local fundamentals database in sync. Two endpoints cover different needs: the bulk endpoint lets you select specific symbols, paginate, and choose CSV or JSON, while [&hellip;]<\/p>\n","protected":false},"author":10,"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-7808","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\/bulk-fundamentals-api-via-extended-fundamentals-plan\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bulk Fundamentals API (via Extended Fundamentals Plan)\" \/>\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\/bulk-fundamentals-api-via-extended-fundamentals-plan\" \/>\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=\"2026-01-16T11:38:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-24T14:22:56+00:00\" \/>\n<meta name=\"author\" content=\"a.pletnev\" \/>\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=\"a.pletnev\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan\"},\"author\":{\"name\":\"a.pletnev\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d\"},\"headline\":\"Bulk Fundamentals API (via Extended Fundamentals Plan)\",\"datePublished\":\"2026-01-16T11:38:45+00:00\",\"dateModified\":\"2026-07-24T14:22:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan\"},\"wordCount\":1097,\"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\/bulk-fundamentals-api-via-extended-fundamentals-plan\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan\",\"name\":\"The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free & paid plans\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\"},\"datePublished\":\"2026-01-16T11:38:45+00:00\",\"dateModified\":\"2026-07-24T14:22:56+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\/bulk-fundamentals-api-via-extended-fundamentals-plan#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-apis\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk Fundamentals API (via Extended Fundamentals Plan)\"}]},{\"@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\/ed3193541c25b73e823a83bdcdb09b5d\",\"name\":\"a.pletnev\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g\",\"caption\":\"a.pletnev\"}}]}<\/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\/bulk-fundamentals-api-via-extended-fundamentals-plan","og_locale":"en_US","og_type":"article","og_title":"Bulk Fundamentals API (via Extended Fundamentals Plan)","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\/bulk-fundamentals-api-via-extended-fundamentals-plan","og_site_name":"Stock Price Data, Financial and Stock Market API","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2026-01-16T11:38:45+00:00","article_modified_time":"2026-07-24T14:22:56+00:00","author":"a.pletnev","twitter_card":"summary_large_image","twitter_creator":"@EOD_data","twitter_site":"@EOD_data","twitter_misc":{"Written by":"a.pletnev","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan"},"author":{"name":"a.pletnev","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/ed3193541c25b73e823a83bdcdb09b5d"},"headline":"Bulk Fundamentals API (via Extended Fundamentals Plan)","datePublished":"2026-01-16T11:38:45+00:00","dateModified":"2026-07-24T14:22:56+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan"},"wordCount":1097,"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\/bulk-fundamentals-api-via-extended-fundamentals-plan","url":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan","name":"The Best Fundamental Data: Stocks, ETFs, Mutual Funds, Indices | Free & paid plans","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/#website"},"datePublished":"2026-01-16T11:38:45+00:00","dateModified":"2026-07-24T14:22:56+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\/bulk-fundamentals-api-via-extended-fundamentals-plan#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-apis\/bulk-fundamentals-api-via-extended-fundamentals-plan#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-apis"},{"@type":"ListItem","position":2,"name":"Bulk Fundamentals API (via Extended Fundamentals Plan)"}]},{"@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\/ed3193541c25b73e823a83bdcdb09b5d","name":"a.pletnev","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/020e454749b61223b72b1bf96e7978ccdd1e39b04585b29698da3767a193a57d?s=96&d=mm&r=g","caption":"a.pletnev"}}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p8NjB1-21W","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/7808","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/comments?post=7808"}],"version-history":[{"count":6,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/7808\/revisions"}],"predecessor-version":[{"id":8071,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/7808\/revisions\/8071"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/media?parent=7808"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/categories?post=7808"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/tags?post=7808"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}