{"id":454,"date":"2019-09-29T08:58:30","date_gmt":"2019-09-29T07:58:30","guid":{"rendered":"https:\/\/eodhd.com\/blog\/?p=454"},"modified":"2026-08-12T15:33:41","modified_gmt":"2026-08-12T13:33:41","slug":"sp-500-historical-constituents-data","status":"publish","type":"post","link":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data","title":{"rendered":"S&amp;P 500 Historical Constituents Data"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The <strong>S&amp;P 500<\/strong> (ticker GSPC.INDX, also quoted as $SPX) tracks 500 of the largest companies listed on US exchanges and is the most-watched equity benchmark in the world. But the index you see today is not the index of five, ten or twenty years ago \u2014 constituents are added and removed continually. If you backtest a strategy against <em>today&#8217;s<\/em> members, the companies that were dropped along the way simply vanish from your dataset. That is <strong>survivorship bias<\/strong>, and it quietly inflates almost every naive historical study of the index.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">EODHD&#8217;s <strong>S&amp;P 500 historical constituents data<\/strong> fixes this. We track every membership change, so you can reconstruct the index exactly as it stood on any past date and run clean, survivorship-bias-free research \u2014 all from a single <a href=\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#h-index-constituents\">Fundamental Data API<\/a> call, no extra add-on required.<\/p>\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\">What you get<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Query the index ticker in the INDX exchange \u2014 for the S&amp;P 500 that is GSPC.INDX \u2014 and the response returns up to three sections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Components<\/strong> \u2014 the current constituents, each with sector, industry and index weight.<\/li>\n\n\n\n<li><strong>HistoricalTickerComponents<\/strong> \u2014 the full membership log: every ticker that has been in the index, with the dates it joined and left.<\/li>\n\n\n\n<li><strong>HistoricalComponents<\/strong> \u2014 point-in-time snapshots of the exact index membership on each historical change date (added with the historical=1 parameter).<\/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=\"wp-block-heading\">Current constituents<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Add the filter parameter to request a single section. The Components section returns the 503 current members with their live index weights:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;filter=Components<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"0\": {\n    \"Code\": \"NVDA\",\n    \"Exchange\": \"US\",\n    \"Name\": \"NVIDIA Corporation\",\n    \"Sector\": \"Technology\",\n    \"Industry\": \"Semiconductors\",\n    \"Weight\": 0.0793\n  },\n  \"1\": {\n    \"Code\": \"AAPL\",\n    \"Exchange\": \"US\",\n    \"Name\": \"Apple Inc.\",\n    \"Sector\": \"Technology\",\n    \"Industry\": \"Consumer Electronics\",\n    \"Weight\": 0.0674\n  }\n}<\/code><\/pre>\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\">Full membership history<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The HistoricalTickerComponents section is the heart of the dataset \u2014 every ticker that has ever appeared in the index, with the date it joined, the date it left, and whether it has since been delisted. Over 800 tickers are tracked for the S&amp;P 500 alone.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?api_token={YOUR_API_TOKEN}&amp;fmt=json&amp;filter=HistoricalTickerComponents<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"0\": {\n    \"Code\": \"A\",\n    \"Name\": \"Agilent Technologies Inc\",\n    \"StartDate\": \"2000-06-05\",\n    \"EndDate\": null,\n    \"IsActiveNow\": 1,\n    \"IsDelisted\": 0\n  },\n  \"1\": {\n    \"Code\": \"AAL\",\n    \"Name\": \"American Airlines Group\",\n    \"StartDate\": \"2015-03-23\",\n    \"EndDate\": \"2024-09-23\",\n    \"IsActiveNow\": 0,\n    \"IsDelisted\": 0\n  },\n  \"2\": {\n    \"Code\": \"LEH\",\n    \"Name\": \"Lehman Brothers Holdings Inc\",\n    \"StartDate\": null,\n    \"EndDate\": \"2008-09-16\",\n    \"IsActiveNow\": 0,\n    \"IsDelisted\": 1\n  }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Each entry carries these fields:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Code<\/strong> and <strong>Name<\/strong> \u2014 the ticker symbol and company name.<\/li>\n\n\n\n<li><strong>StartDate<\/strong> \u2014 the date the ticker joined the index.<\/li>\n\n\n\n<li><strong>EndDate<\/strong> \u2014 the date it was removed, or null if it is still a member.<\/li>\n\n\n\n<li><strong>IsActiveNow<\/strong> \u2014 1 if it is a current member, 0 otherwise.<\/li>\n\n\n\n<li><strong>IsDelisted<\/strong> \u2014 1 if the security has since been delisted, 0 otherwise.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The Lehman Brothers row above is exactly the kind of record survivorship-biased datasets throw away \u2014 and exactly the kind you need to model the 2008 financial crisis honestly.<\/p>\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\">Point-in-time snapshots<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Need the full membership as it stood on a given day rather than a join\/leave log? Add historical=1 with a from and to date range and the response includes a HistoricalComponents section \u2014 a snapshot of the index members on each date within the range on which the membership changed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:\/\/eodhd.com\/api\/fundamentals\/GSPC.INDX?historical=1&amp;from=2015-01-01&amp;to=2015-12-31&amp;api_token={YOUR_API_TOKEN}&amp;fmt=json<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"json\" class=\"language-json\">{\n  \"2015-06-30\": {\n    \"0\": {\n      \"Date\": \"2015-06-30\",\n      \"Code\": \"AIZ\",\n      \"Exchange\": \"US\",\n      \"Name\": \"Assurant, Inc.\",\n      \"Sector\": \"Financial Services\",\n      \"Industry\": \"Insurance - Property &amp; Casualty\"\n    },\n    \"1\": {\n      \"Date\": \"2015-06-30\",\n      \"Code\": \"MNST\",\n      \"Exchange\": \"US\",\n      \"Name\": \"Monster Beverage Corp\",\n      \"Sector\": \"Consumer Defensive\",\n      \"Industry\": \"Beverages - Non-Alcoholic\"\n    }\n  }\n}<\/code><\/pre>\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\">Coverage and history depth<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">For the S&amp;P 500 we record every membership change since 2008, so point-in-time reconstruction from 2008 onward is complete and free of survivorship bias, while join dates for long-standing members reach further back into the index&#8217;s history. In total more than 800 tickers are tracked, against 503 members today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The same membership history is also available for the wider S&amp;P family \u2014 S&amp;P MidCap 400 (MID.INDX), S&amp;P SmallCap 600 (SML.INDX) and S&amp;P 100 (OEX.INDX) \u2014 while current constituents are provided for all major indices worldwide.<\/p>\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\">Need historical index weights? The Indices API on Marketplace<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Fundamental Data API tells you <em>who<\/em> was in the index and <em>when<\/em>. If you also need <em>how much<\/em> each name weighed on every date, our premium <a href=\"https:\/\/eodhd.com\/marketplace\/unicornbay\/spglobal\">Indices Historical Constituents Data API<\/a> on the EODHD Marketplace delivers daily weighted snapshots \u2014 up to 12 years of history across the S&amp;P 500, 400, 100 and 600, the Dow Jones and 20 key industry indices \u2014 ideal for accurate index replication, factor research and attribution.<\/p>\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\">Get started<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">S&amp;P 500 historical constituents are included with any plan that has the Fundamental Data API. Grab your <a href=\"https:\/\/eodhd.com\/register\">free API key<\/a>, then head to the <a href=\"https:\/\/eodhd.com\/financial-apis\/stock-etfs-fundamental-data-feeds#h-index-constituents\">Fundamentals API documentation<\/a> for the full field reference and more examples.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The S&amp;P 500 (ticker GSPC.INDX, also quoted as $SPX) tracks 500 of the largest companies listed on US exchanges and is the most-watched equity benchmark in the world. But the index you see today is not the index of five, ten or twenty years ago \u2014 constituents are added and&#8230;<\/p>\n","protected":false},"author":1,"featured_media":462,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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":""},"categories":[4],"tags":[66,64,65,67],"class_list":["post-454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","tag-gspc","tag-historical-constituents","tag-sp500","tag-stock-indices","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v22.5 (Yoast SEO v26.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>S&amp;P 500 Historical Constituents Data | EODHD APIs Blog<\/title>\n<meta name=\"description\" content=\"S&amp;P 500 historical constituents via the EODHD Fundamentals API: 800+ tickers, join\/leave dates and point-in-time snapshots for survivorship-bias-free backtests.\" \/>\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-blog\/sp-500-historical-constituents-data\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"S&amp;P 500 Historical Constituents Data\" \/>\n<meta property=\"og:description\" content=\"The S&amp;P 500 (ticker GSPC.INDX, also quoted as $SPX) tracks 500 of the largest companies listed on US exchanges and is the most-watched equity\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\" \/>\n<meta property=\"og:site_name\" content=\"Financial Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/eodhistoricaldata\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-29T07:58:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-12T13:33:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"437\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"EOD Historical Data\" \/>\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\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#article\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\"},\"author\":{\"name\":\"EOD Historical Data\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#\/schema\/person\/8d61b703d9ac7e99c00979e9eca98b4d\"},\"headline\":\"S&amp;P 500 Historical Constituents Data\",\"datePublished\":\"2019-09-29T07:58:30+00:00\",\"dateModified\":\"2026-08-12T13:33:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\"},\"wordCount\":628,\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg\",\"keywords\":[\"gspc\",\"historical constituents\",\"sp500\",\"stock indices\"],\"articleSection\":[\"Announcement\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\",\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\",\"name\":\"S&amp;P 500 Historical Constituents Data | EODHD APIs Blog\",\"isPartOf\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage\"},\"thumbnailUrl\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg\",\"datePublished\":\"2019-09-29T07:58:30+00:00\",\"dateModified\":\"2026-08-12T13:33:41+00:00\",\"description\":\"S&P 500 historical constituents via the EODHD Fundamentals API: 800+ tickers, join\/leave dates and point-in-time snapshots for survivorship-bias-free backtests.\",\"breadcrumb\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage\",\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg\",\"contentUrl\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg\",\"width\":800,\"height\":437},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eodhd.com\/financial-apis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"S&amp;P 500 Historical Constituents Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#website\",\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/\",\"name\":\"Financial APIs Blog | EODHD\",\"description\":\"Financial Data APIs. Fundamental, End of Day (EOD), Real-Time\/Live.\",\"publisher\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#organization\"},\"alternateName\":\"EODHD Financial Data APIs Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eodhd.com\/financial-apis-blog\/?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-blog\/#organization\",\"name\":\"EODHD (EOD Historical Data)\",\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"contentUrl\":\"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png\",\"width\":159,\"height\":82,\"caption\":\"EODHD (EOD Historical Data)\"},\"image\":{\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#\/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-blog\/#\/schema\/person\/8d61b703d9ac7e99c00979e9eca98b4d\",\"name\":\"EOD Historical Data\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/eodhd.com\/financial-apis-blog\/#\/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\"},\"sameAs\":[\"https:\/\/eodhistoricaldata.com\"],\"url\":\"https:\/\/eodhd.com\/financial-apis-blog\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"S&amp;P 500 Historical Constituents Data | EODHD APIs Blog","description":"S&P 500 historical constituents via the EODHD Fundamentals API: 800+ tickers, join\/leave dates and point-in-time snapshots for survivorship-bias-free backtests.","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-blog\/sp-500-historical-constituents-data","og_locale":"en_US","og_type":"article","og_title":"S&amp;P 500 Historical Constituents Data","og_description":"The S&amp;P 500 (ticker GSPC.INDX, also quoted as $SPX) tracks 500 of the largest companies listed on US exchanges and is the most-watched equity","og_url":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data","og_site_name":"Financial Blog","article_publisher":"https:\/\/www.facebook.com\/eodhistoricaldata","article_published_time":"2019-09-29T07:58:30+00:00","article_modified_time":"2026-08-12T13:33:41+00:00","og_image":[{"width":800,"height":437,"url":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","type":"image\/jpeg"}],"author":"EOD Historical Data","twitter_card":"summary_large_image","twitter_creator":"@EOD_data","twitter_site":"@EOD_data","twitter_misc":{"Written by":"EOD Historical Data","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#article","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data"},"author":{"name":"EOD Historical Data","@id":"https:\/\/eodhd.com\/financial-apis-blog\/#\/schema\/person\/8d61b703d9ac7e99c00979e9eca98b4d"},"headline":"S&amp;P 500 Historical Constituents Data","datePublished":"2019-09-29T07:58:30+00:00","dateModified":"2026-08-12T13:33:41+00:00","mainEntityOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data"},"wordCount":628,"publisher":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/#organization"},"image":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage"},"thumbnailUrl":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","keywords":["gspc","historical constituents","sp500","stock indices"],"articleSection":["Announcement"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data","url":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data","name":"S&amp;P 500 Historical Constituents Data | EODHD APIs Blog","isPartOf":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage"},"image":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage"},"thumbnailUrl":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","datePublished":"2019-09-29T07:58:30+00:00","dateModified":"2026-08-12T13:33:41+00:00","description":"S&P 500 historical constituents via the EODHD Fundamentals API: 800+ tickers, join\/leave dates and point-in-time snapshots for survivorship-bias-free backtests.","breadcrumb":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#primaryimage","url":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","contentUrl":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","width":800,"height":437},{"@type":"BreadcrumbList","@id":"https:\/\/eodhd.com\/financial-apis-blog\/sp-500-historical-constituents-data#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eodhd.com\/financial-apis-blog\/"},{"@type":"ListItem","position":2,"name":"S&amp;P 500 Historical Constituents Data"}]},{"@type":"WebSite","@id":"https:\/\/eodhd.com\/financial-apis-blog\/#website","url":"https:\/\/eodhd.com\/financial-apis-blog\/","name":"Financial APIs Blog | EODHD","description":"Financial Data APIs. Fundamental, End of Day (EOD), Real-Time\/Live.","publisher":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/#organization"},"alternateName":"EODHD Financial Data APIs Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eodhd.com\/financial-apis-blog\/?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-blog\/#organization","name":"EODHD (EOD Historical Data)","url":"https:\/\/eodhd.com\/financial-apis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","contentUrl":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2023\/12\/EODHD-Logo.png","width":159,"height":82,"caption":"EODHD (EOD Historical Data)"},"image":{"@id":"https:\/\/eodhd.com\/financial-apis-blog\/#\/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-blog\/#\/schema\/person\/8d61b703d9ac7e99c00979e9eca98b4d","name":"EOD Historical Data","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/eodhd.com\/financial-apis-blog\/#\/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"},"sameAs":["https:\/\/eodhistoricaldata.com"],"url":"https:\/\/eodhd.com\/financial-apis-blog\/author\/admin"}]}},"jetpack_featured_media_url":"https:\/\/eodhd.com\/financial-apis-blog\/wp-content\/uploads\/2019\/09\/giammarco-boscaro-zeH-ljawHtg-unsplash.jpg","jetpack_shortlink":"https:\/\/wp.me\/p9Nz7H-7k","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/posts\/454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/comments?post=454"}],"version-history":[{"count":3,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/posts\/454\/revisions"}],"predecessor-version":[{"id":2648,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/posts\/454\/revisions\/2648"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/media\/462"}],"wp:attachment":[{"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/media?parent=454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/categories?post=454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eodhd.com\/financial-apis-blog\/wp-json\/wp\/v2\/tags?post=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}