{"id":1578,"date":"2021-01-10T18:28:13","date_gmt":"2021-01-10T18:28:13","guid":{"rendered":"https:\/\/eodhd.com\/knowledgebase\/?p=1578"},"modified":"2026-05-04T16:55:55","modified_gmt":"2026-05-04T14:55:55","slug":"exchanges-api-trading-hours-and-stock-market-holidays","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays","title":{"rendered":"Stock Market Trading Hours and Holidays API"},"content":{"rendered":"\n\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-get-exchange-details-and-trading-hours\">Get Exchange Details and Trading Hours<\/h2>\n\n\n\n<p>EODHD provides two versions of the Exchange Details endpoint. The v2 endpoint is recommended for all new integrations \u2014 it returns verified data for 73 exchanges, including extended trading sessions, lunch breaks, early close days, and a complete holiday calendar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-v2-list-available-exchanges\">v2: List Available Exchanges<\/h3>\n\n\n\n\n    <div class=\"api_url_box\" data-feed=\"\">\n                    <div class=\"tabs\">\n                                    <div class=\"selected\">URL<\/div>\n                                    <div class=\"\">cURL<\/div>\n                                    <div class=\"\">PHP<\/div>\n                                    <div class=\"\">Python<\/div>\n                                    <div class=\"\">R<\/div>\n                                <div>Chat GPT<\/div>\n            <\/div>\n                <div class=\"tab_content\">\n                                            <div class=\"item selected\">\n                    <div class=\"buttons\">\n                                                    <button\n                                class=\"view\"\n                                title=\"View request in new tab\"\n                                onclick=\"gtag('event', 'ViewApiRequest', {'event_category':'TrialApiData'});\"\n                            >\n                                <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                    <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                                <\/svg>\n                            <\/button>\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">https:\/\/eodhd.com\/api\/v2\/exchange-details?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span><\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">curl --location \"https:\/\/eodhd.com\/api\/v2\/exchange-details?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json\"<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL => 'https:\/\/eodhd.com\/api\/v2\/exchange-details?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json',\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_ENCODING => '',\n    CURLOPT_MAXREDIRS => 10,\n    CURLOPT_TIMEOUT => 0,\n    CURLOPT_FOLLOWLOCATION => true,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST => 'GET',\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 'Error. '.$e->getMessage();\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nimport requests\n\nurl = f'https:\/\/eodhd.com\/api\/v2\/exchange-details?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\ndata = requests.get(url).json()\n\nprint(data)<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nlibrary(httr)\nlibrary(jsonlite)\n\nurl <- 'https:\/\/eodhd.com\/api\/v2\/exchange-details?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\nresponse <- GET(url)\n\nif (http_type(response) == \"application\/json\") {\n    content <- content(response, \"text\", encoding = \"UTF-8\")\n    cat(content)\n} else {\n    cat(\"Error while receiving data\\n\")\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                        <div class=\"item replace-deny\">\n                <div class=\"buttons\">\n                    <a\n                        class=\"view\"\n                        title=\"View request in new tab\"\n                        href=\"\/lp\/eodhd-chatgpt\"\n                        target=\"_blank\"\n                    >\n                        <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                        <\/svg>\n                    <\/a>\n                <\/div>\n                <div class=\"api_url_text bold\" style=\"word-break: normal;white-space: normal;\">\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\u2019t 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\n    \n\n\n\n<p>Returns an array of all exchange codes supported by the v2 endpoint. Use these codes to request details for a specific exchange.<\/p>\n\n\n\n            <div class=\"code__wrapper\">\n                <div class=\"code__content\">\n                    \n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": [\n    \"ASEX\", \"BMEX\", \"BVMF\", \"LSE\", \"NEO\", \"NILX\",\n    \"ROCO\", \"TO\", \"US\", \"XAMS\", \"XASX\", \"XHKG\",\n    \"XKRX\", \"XNSE\", \"XPAR\", \"XTKS\", \"...\"\n  ]\n}<\/code><\/pre>\n\n                <\/div>\n                <div class=\"code__btns\">\n                    <button class=\"code__copy\" class=\"copy\" title=\"Copy url\">\n                        <svg class=\"code__copy__icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                        <\/svg>\n                        <img decoding=\"async\" class=\"code__copy__approve\" alt=\"\" src=\"\/img\/approve_ico.svg\" loading=\"eager\">\n                    <\/button>\n                <\/div>\n            <\/div>\n        \n\n\n<h3 class=\"wp-block-heading\" id=\"h-v2-get-exchange-details\">v2: Get Exchange Details<\/h3>\n\n\n\n\n    <div class=\"api_url_box\" data-feed=\"\">\n                    <div class=\"tabs\">\n                                    <div class=\"selected\">URL<\/div>\n                                    <div class=\"\">cURL<\/div>\n                                    <div class=\"\">PHP<\/div>\n                                    <div class=\"\">Python<\/div>\n                                    <div class=\"\">R<\/div>\n                                <div>Chat GPT<\/div>\n            <\/div>\n                <div class=\"tab_content\">\n                                            <div class=\"item selected\">\n                    <div class=\"buttons\">\n                                                    <button\n                                class=\"view\"\n                                title=\"View request in new tab\"\n                                onclick=\"gtag('event', 'ViewApiRequest', {'event_category':'TrialApiData'});\"\n                            >\n                                <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                    <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                                <\/svg>\n                            <\/button>\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">https:\/\/eodhd.com\/api\/v2\/exchange-details\/US?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span><\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">curl --location \"https:\/\/eodhd.com\/api\/v2\/exchange-details\/US?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json\"<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL => 'https:\/\/eodhd.com\/api\/v2\/exchange-details\/US?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json',\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_ENCODING => '',\n    CURLOPT_MAXREDIRS => 10,\n    CURLOPT_TIMEOUT => 0,\n    CURLOPT_FOLLOWLOCATION => true,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST => 'GET',\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 'Error. '.$e->getMessage();\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nimport requests\n\nurl = f'https:\/\/eodhd.com\/api\/v2\/exchange-details\/US?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\ndata = requests.get(url).json()\n\nprint(data)<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nlibrary(httr)\nlibrary(jsonlite)\n\nurl <- 'https:\/\/eodhd.com\/api\/v2\/exchange-details\/US?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\nresponse <- GET(url)\n\nif (http_type(response) == \"application\/json\") {\n    content <- content(response, \"text\", encoding = \"UTF-8\")\n    cat(content)\n} else {\n    cat(\"Error while receiving data\\n\")\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                        <div class=\"item replace-deny\">\n                <div class=\"buttons\">\n                    <a\n                        class=\"view\"\n                        title=\"View request in new tab\"\n                        href=\"\/lp\/eodhd-chatgpt\"\n                        target=\"_blank\"\n                    >\n                        <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                        <\/svg>\n                    <\/a>\n                <\/div>\n                <div class=\"api_url_text bold\" style=\"word-break: normal;white-space: normal;\">\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\u2019t 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\n    \n\n\n\n<p>Returns trading hours, extended sessions, and the full holiday calendar for the requested exchange. The code parameter is case-insensitive.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-v2-response-fields\">v2: Response Fields<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Field<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>Name<\/td><td>string<\/td><td>Full exchange name<\/td><\/tr><tr><td>Code<\/td><td>string<\/td><td>Exchange code used in this endpoint<\/td><\/tr><tr><td>Timezone<\/td><td>string<\/td><td>IANA timezone (e.g. America\/New_York)<\/td><\/tr><tr><td>TradingHours.Open<\/td><td>string<\/td><td>Regular session open time (HH:MM:SS)<\/td><\/tr><tr><td>TradingHours.Close<\/td><td>string<\/td><td>Regular session close time (HH:MM:SS)<\/td><\/tr><tr><td>TradingHours.WorkingDays<\/td><td>string<\/td><td>Trading days (e.g. Mon, Tue, Wed, Thu, Fri)<\/td><\/tr><tr><td>TradingHours.PreMarketOpen<\/td><td>string<\/td><td>Pre-market session open (if available)<\/td><\/tr><tr><td>TradingHours.PreMarketClose<\/td><td>string<\/td><td>Pre-market session close (if available)<\/td><\/tr><tr><td>TradingHours.AfterHoursOpen<\/td><td>string<\/td><td>After-hours session open (if available)<\/td><\/tr><tr><td>TradingHours.AfterHoursClose<\/td><td>string<\/td><td>After-hours session close (if available)<\/td><\/tr><tr><td>TradingHours.LunchBreakStart<\/td><td>string<\/td><td>Lunch break start (if applicable)<\/td><\/tr><tr><td>TradingHours.LunchBreakEnd<\/td><td>string<\/td><td>Lunch break end (if applicable)<\/td><\/tr><tr><td>ExchangeHolidays<\/td><td>object<\/td><td>Holiday calendar keyed by date (YYYY-MM-DD)<\/td><\/tr><tr><td>ExchangeHolidays.*.Holiday<\/td><td>string<\/td><td>Holiday name<\/td><\/tr><tr><td>ExchangeHolidays.*.Type<\/td><td>string<\/td><td>Official, Bank, or EarlyClose<\/td><\/tr><tr><td>ExchangeHolidays.*.EarlyClose<\/td><td>string<\/td><td>Early close time (only for EarlyClose type)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Session fields (PreMarketOpen, AfterHoursOpen, LunchBreakStart, etc.) are only present when the exchange has that session. For example, US exchanges include pre-market and after-hours, Hong Kong and Tokyo include a lunch break.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-v2-example-us-exchange-pre-market-and-after-hours\">v2 Example: US Exchange (Pre-Market and After-Hours)<\/h3>\n\n\n\n            <div class=\"code__wrapper\">\n                <div class=\"code__content\">\n                    \n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": {\n    \"Name\": \"NYSE \/ NASDAQ\",\n    \"Code\": \"US\",\n    \"Timezone\": \"America\/New_York\",\n    \"TradingHours\": {\n      \"Open\": \"09:30:00\",\n      \"Close\": \"16:00:00\",\n      \"WorkingDays\": \"Mon, Tue, Wed, Thu, Fri\",\n      \"PreMarketOpen\": \"04:00:00\",\n      \"PreMarketClose\": \"09:30:00\",\n      \"AfterHoursOpen\": \"16:00:00\",\n      \"AfterHoursClose\": \"20:00:00\"\n    },\n    \"ExchangeHolidays\": {\n      \"2026-01-01\": {\n        \"Holiday\": \"New Year's Day\",\n        \"Type\": \"Official\"\n      },\n      \"2026-11-27\": {\n        \"Holiday\": \"Day after Thanksgiving\",\n        \"Type\": \"EarlyClose\",\n        \"EarlyClose\": \"13:00:00\"\n      },\n      \"2026-12-24\": {\n        \"Holiday\": \"Christmas Eve\",\n        \"Type\": \"EarlyClose\",\n        \"EarlyClose\": \"13:00:00\"\n      },\n      \"2026-12-25\": {\n        \"Holiday\": \"Christmas Day\",\n        \"Type\": \"Official\"\n      }\n    }\n  }\n}<\/code><\/pre>\n\n                <\/div>\n                <div class=\"code__btns\">\n                    <button class=\"code__copy\" class=\"copy\" title=\"Copy url\">\n                        <svg class=\"code__copy__icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                        <\/svg>\n                        <img decoding=\"async\" class=\"code__copy__approve\" alt=\"\" src=\"\/img\/approve_ico.svg\" loading=\"eager\">\n                    <\/button>\n                <\/div>\n            <\/div>\n        \n\n\n<h3 class=\"wp-block-heading\" id=\"h-v2-example-hong-kong-exchange-lunch-break-and-early-close\">v2 Example: Hong Kong Exchange (Lunch Break and Early Close)<\/h3>\n\n\n\n            <div class=\"code__wrapper\">\n                <div class=\"code__content\">\n                    \n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"data\": {\n    \"Name\": \"Hong Kong Stock Exchange\",\n    \"Code\": \"XHKG\",\n    \"Timezone\": \"Asia\/Hong_Kong\",\n    \"TradingHours\": {\n      \"Open\": \"09:30:00\",\n      \"Close\": \"16:00:00\",\n      \"WorkingDays\": \"Mon, Tue, Wed, Thu, Fri\",\n      \"LunchBreakStart\": \"12:00:00\",\n      \"LunchBreakEnd\": \"13:00:00\"\n    },\n    \"ExchangeHolidays\": {\n      \"2026-02-16\": {\n        \"Holiday\": \"Lunar New Year's Eve\",\n        \"Type\": \"EarlyClose\",\n        \"EarlyClose\": \"12:00:00\"\n      },\n      \"2026-02-17\": {\n        \"Holiday\": \"Lunar New Year\",\n        \"Type\": \"Official\"\n      },\n      \"2026-07-01\": {\n        \"Holiday\": \"HKSAR Establishment Day\",\n        \"Type\": \"Official\"\n      },\n      \"2026-12-25\": {\n        \"Holiday\": \"Christmas Day\",\n        \"Type\": \"Official\"\n      }\n    }\n  }\n}<\/code><\/pre>\n\n                <\/div>\n                <div class=\"code__btns\">\n                    <button class=\"code__copy\" class=\"copy\" title=\"Copy url\">\n                        <svg class=\"code__copy__icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                        <\/svg>\n                        <img decoding=\"async\" class=\"code__copy__approve\" alt=\"\" src=\"\/img\/approve_ico.svg\" loading=\"eager\">\n                    <\/button>\n                <\/div>\n            <\/div>\n        \n\n\n<h3 class=\"wp-block-heading\" id=\"h-what-v2-adds-over-v1\">What v2 Adds Over v1<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Pre-market and after-hours sessions<\/strong> \u2013 available for US and other supported exchanges<\/li>\n\n\n\n<li><strong>Lunch breaks<\/strong> \u2013 for exchanges that halt midday (Hong Kong, Tokyo, Shanghai, and others)<\/li>\n\n\n\n<li><strong>Early close days<\/strong> \u2013 exact close time on shortened trading days (e.g. Christmas Eve at 13:00)<\/li>\n\n\n\n<li><strong>Verified holiday calendars<\/strong> \u2013 complete and manually verified for all 73 exchanges<\/li>\n\n\n\n<li><strong>Correct timezones<\/strong> \u2013 IANA format for all exchanges<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-v1-legacy-endpoint\">v1: Legacy Endpoint<\/h3>\n\n\n\n<p>The v1 endpoint remains available for backward compatibility. It covers all exchanges supported by EODHD and includes real-time status fields not available in v2.<\/p>\n\n\n\n\n    <div class=\"api_url_box\" data-feed=\"\">\n                    <div class=\"tabs\">\n                                    <div class=\"selected\">URL<\/div>\n                                    <div class=\"\">cURL<\/div>\n                                    <div class=\"\">PHP<\/div>\n                                    <div class=\"\">Python<\/div>\n                                    <div class=\"\">R<\/div>\n                                <div>Chat GPT<\/div>\n            <\/div>\n                <div class=\"tab_content\">\n                                            <div class=\"item selected\">\n                    <div class=\"buttons\">\n                                                    <button\n                                class=\"view\"\n                                title=\"View request in new tab\"\n                                onclick=\"gtag('event', 'ViewApiRequest', {'event_category':'TrialApiData'});\"\n                            >\n                                <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                    <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                                <\/svg>\n                            <\/button>\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">https:\/\/eodhd.com\/api\/exchange-details\/{EXCHANGE_CODE}?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">curl --location \"https:\/\/eodhd.com\/api\/exchange-details\/{EXCHANGE_CODE}?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json\"<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\n$curl = curl_init();\n\ncurl_setopt_array($curl, array(\n    CURLOPT_URL => 'https:\/\/eodhd.com\/api\/exchange-details\/{EXCHANGE_CODE}?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json',\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_ENCODING => '',\n    CURLOPT_MAXREDIRS => 10,\n    CURLOPT_TIMEOUT => 0,\n    CURLOPT_FOLLOWLOCATION => true,\n    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n    CURLOPT_CUSTOMREQUEST => 'GET',\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 'Error. '.$e->getMessage();\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nimport requests\n\nurl = f'https:\/\/eodhd.com\/api\/exchange-details\/{EXCHANGE_CODE}?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\ndata = requests.get(url).json()\n\nprint(data)<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                                            <div class=\"item \">\n                    <div class=\"buttons\">\n                                                <button\n                            onclick=\"gtag('event', 'CopyApiUrl', {'event_category':'TrialApiData'});\"\n                            class=\"copy\"\n                            title=\"Copy url\"\n                        >\n                            <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                                <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                            <\/svg>\n                        <\/button>\n                    <\/div>\n                    <pre class=\"api_url_text bold\">\nlibrary(httr)\nlibrary(jsonlite)\n\nurl <- 'https:\/\/eodhd.com\/api\/exchange-details\/{EXCHANGE_CODE}?api_token=<span class='orange bold api_token'>{YOUR_API_TOKEN}<\/span>&fmt=json'\nresponse <- GET(url)\n\nif (http_type(response) == \"application\/json\") {\n    content <- content(response, \"text\", encoding = \"UTF-8\")\n    cat(content)\n} else {\n    cat(\"Error while receiving data\\n\")\n}<\/pre>\n                    <div class=\"register_link\">\n                        (<a href=\"\/register\">Sign up<\/a> for free to get an API token)\n                    <\/div>\n                <\/div>\n                        <div class=\"item replace-deny\">\n                <div class=\"buttons\">\n                    <a\n                        class=\"view\"\n                        title=\"View request in new tab\"\n                        href=\"\/lp\/eodhd-chatgpt\"\n                        target=\"_blank\"\n                    >\n                        <svg class=\"tryFreeBtn__svg\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/openLink.svg#openLink\"><\/use>\n                        <\/svg>\n                    <\/a>\n                <\/div>\n                <div class=\"api_url_text bold\" style=\"word-break: normal;white-space: normal;\">\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\u2019t 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\n    \n\n\n\n<p>Use the exchange codes from the Exchanges API List endpoint. The v1 response includes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Timezone<\/strong> \u2013 the timezone of the exchange<\/li>\n\n\n\n<li><strong>isOpen<\/strong> \u2013 boolean value indicating if the exchange is open right now or closed<\/li>\n\n\n\n<li><strong>TradingHours<\/strong> \u2013 open and close times with working days in the exchange timezone, may include lunch hours<\/li>\n\n\n\n<li><strong>ActiveTickers<\/strong> \u2013 tickers with any activity for the past two months<\/li>\n\n\n\n<li><strong>UpdatedTickers<\/strong> \u2013 tickers updated for the current day<\/li>\n<\/ul>\n\n\n\n            <div class=\"code__wrapper\">\n                <div class=\"code__content\">\n                    \n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"Name\": \"USA Stocks\",\n  \"Code\": \"US\",\n  \"OperatingMIC\": \"XNAS, XNYS, OTCM, XCBO\",\n  \"Country\": \"USA\",\n  \"Currency\": \"USD\",\n  \"Timezone\": \"America\/New_York\",\n  \"isOpen\": true,\n  \"TradingHours\": {\n    \"Open\": \"09:30:00\",\n    \"Close\": \"16:00:00\",\n    \"OpenUTC\": \"13:30:00\",\n    \"CloseUTC\": \"20:00:00\",\n    \"WorkingDays\": \"Mon,Tue,Wed,Thu,Fri\"\n  },\n  \"ActiveTickers\": 52334,\n  \"UpdatedTickers\": 0\n}<\/code><\/pre>\n\n                <\/div>\n                <div class=\"code__btns\">\n                    <button class=\"code__copy\" class=\"copy\" title=\"Copy url\">\n                        <svg class=\"code__copy__icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                        <\/svg>\n                        <img decoding=\"async\" class=\"code__copy__approve\" alt=\"\" src=\"\/img\/approve_ico.svg\" loading=\"eager\">\n                    <\/button>\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=\"wp-block-heading\" id=\"h-stock-market-holidays-data-api\">Stock Market Holidays Data API<\/h2>\n\n\n\n<p>Holiday data is included in both v2 and v1 exchange details responses.<\/p>\n\n\n\n<p>In v2, the full holiday calendar for the current year is always returned along with exchange details. No additional parameters are needed. Holidays are keyed by date and include a Type field (Official, Bank, or EarlyClose). The EarlyClose type also includes the exact early close time for that day.<\/p>\n\n\n\n<p>In v1, holidays are part of the same exchange-details response and can be filtered with additional parameters:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>from<\/strong> \u2013 the format is &#8216;YYYY-MM-DD&#8217;. The default value is 6 months before the current date.<\/li>\n\n\n\n<li><strong>to<\/strong> \u2013 the format is &#8216;YYYY-MM-DD&#8217;. The default value is 6 months after the current date.<\/li>\n<\/ul>\n\n\n\n<p>The two versions use different response formats for holidays:<\/p>\n\n\n\n            <div class=\"code__wrapper\">\n                <div class=\"code__content\">\n                    \n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">\/\/ v2 format \u2013 keyed by date, includes EarlyClose type\n\"ExchangeHolidays\": {\n  \"2026-01-01\": {\n    \"Holiday\": \"New Year's Day\",\n    \"Type\": \"Official\"\n  },\n  \"2026-12-24\": {\n    \"Holiday\": \"Christmas Eve\",\n    \"Type\": \"EarlyClose\",\n    \"EarlyClose\": \"13:00:00\"\n  }\n}\n\n\/\/ v1 format \u2013 indexed array with Date field\n\"ExchangeHolidays\": {\n  \"0\": {\n    \"Holiday\": \"New Year's Day\",\n    \"Date\": \"2026-01-01\",\n    \"Type\": \"official\"\n  }\n}<\/code><\/pre>\n\n                <\/div>\n                <div class=\"code__btns\">\n                    <button class=\"code__copy\" class=\"copy\" title=\"Copy url\">\n                        <svg class=\"code__copy__icon\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <use xlink:href=\"\/img\/icons\/copy.svg#copy\"><\/use>\n                        <\/svg>\n                        <img decoding=\"async\" class=\"code__copy__approve\" alt=\"\" src=\"\/img\/approve_ico.svg\" loading=\"eager\">\n                    <\/button>\n                <\/div>\n            <\/div>\n        \n\n\n<p>And do not forget to check our <a href=\"https:\/\/eodhistoricaldata.com\/financial-apis\/exchanges-api-list-of-tickers-and-trading-hours\/\" target=\"_blank\" rel=\"noreferrer noopener\">Exchanges API<\/a> and <a href=\"https:\/\/eodhistoricaldata.com\/financial-apis\/symbol-change-history\/\" target=\"_blank\" rel=\"noreferrer noopener\">Symbol Change History API<\/a>.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><a class=\"maxbutton-1 maxbutton maxbutton-subscribe-to-api external-css btn\" href=\"https:\/\/eodhd.com\/register\"><span class='mb-text'>Sign up &amp; Get Data<\/span><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Get Exchange Details and Trading Hours EODHD provides two versions of the Exchange Details endpoint. The v2 endpoint is recommended for all new integrations \u2014 it returns verified data for 73 exchanges, including extended trading sessions, lunch breaks, early close days, and a complete holiday calendar. v2: List Available Exchanges Returns an array of all [&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,16],"tags":[],"coding-language":[],"ready-to-go-solution":[],"qualification":[],"financial-apis-category":[],"financial-apis-manuals":[],"class_list":["post-1578","post","type-post","status-publish","format-standard","hentry","category-fundamental-and-economic-financial-data-api","category-exchanges-stock-market-financial-api"],"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>Stock Market Trading Hours and Holidays API | EODHD APIs Documentation<\/title>\n<meta name=\"description\" content=\"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.\" \/>\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\/exchanges-api-trading-hours-and-stock-market-holidays\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stock Market Trading Hours and Holidays API\" \/>\n<meta property=\"og:description\" content=\"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\" \/>\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=\"2021-01-10T18:28:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-04T14:55:55+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=\"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\/exchanges-api-trading-hours-and-stock-market-holidays#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\"},\"author\":{\"name\":\"EOD Historical Data Support\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415\"},\"headline\":\"Stock Market Trading Hours and Holidays API\",\"datePublished\":\"2021-01-10T18:28:13+00:00\",\"dateModified\":\"2026-05-04T14:55:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\"},\"wordCount\":624,\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#organization\"},\"articleSection\":[\"2. Fundamental &amp; Economic Data\",\"3. Exchange &amp; Instruments Info\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\",\"url\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\",\"name\":\"Stock Market Trading Hours and Holidays API | EODHD APIs Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/#website\"},\"datePublished\":\"2021-01-10T18:28:13+00:00\",\"dateModified\":\"2026-05-04T14:55:55+00:00\",\"description\":\"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.\",\"breadcrumb\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-apis\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stock Market Trading Hours and Holidays API\"}]},{\"@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":"Stock Market Trading Hours and Holidays API | EODHD APIs Documentation","description":"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.","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\/exchanges-api-trading-hours-and-stock-market-holidays","og_locale":"en_US","og_type":"article","og_title":"Stock Market Trading Hours and Holidays API","og_description":"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.","og_url":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays","og_site_name":"Stock Price Data, Financial and Stock Market API","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2021-01-10T18:28:13+00:00","article_modified_time":"2026-05-04T14:55:55+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":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays"},"author":{"name":"EOD Historical Data Support","@id":"https:\/\/eodhd.com\/financial-apis\/#\/schema\/person\/fa5be3606e0cd967a175978cebe97415"},"headline":"Stock Market Trading Hours and Holidays API","datePublished":"2021-01-10T18:28:13+00:00","dateModified":"2026-05-04T14:55:55+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays"},"wordCount":624,"publisher":{"@id":"https:\/\/eodhd.com\/financial-apis\/#organization"},"articleSection":["2. Fundamental &amp; Economic Data","3. Exchange &amp; Instruments Info"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays","url":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays","name":"Stock Market Trading Hours and Holidays API | EODHD APIs Documentation","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis\/#website"},"datePublished":"2021-01-10T18:28:13+00:00","dateModified":"2026-05-04T14:55:55+00:00","description":"The flexible and comprehensive API for Trading Hours and Stock Market Holidays for exchanges all around the world.","breadcrumb":{"@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-apis\/exchanges-api-trading-hours-and-stock-market-holidays#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-apis"},{"@type":"ListItem","position":2,"name":"Stock Market Trading Hours and Holidays API"}]},{"@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-ps","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/1578","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=1578"}],"version-history":[{"count":46,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/1578\/revisions"}],"predecessor-version":[{"id":7914,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/posts\/1578\/revisions\/7914"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/media?parent=1578"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/categories?post=1578"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/tags?post=1578"},{"taxonomy":"coding-language","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/coding-language?post=1578"},{"taxonomy":"ready-to-go-solution","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/ready-to-go-solution?post=1578"},{"taxonomy":"qualification","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/qualification?post=1578"},{"taxonomy":"financial-apis-category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/financial-apis-category?post=1578"},{"taxonomy":"financial-apis-manuals","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis\/wp-json\/wp\/v2\/financial-apis-manuals?post=1578"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}