Returns data from the [sp500] table.
This table provides the current and historical constituents of the S&P500 index.
For more information on the dataset and the available indicators, please review the sp500 table on the Explorer page.
The table is queried via the following endpoint
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-keyThe queries are authenticated and filtered using query parameters. A query parameter specifies a particular option or filter for the data to be returned. Examples of query parameter include the data format to be returned (format), the table columns to return (fields) or a filter to be applied (tablename). These are appended to the endpoint above, following a ?. The most important of these is your API key (api_key) which is used to authenticate you. Without a valid API key, results will not be returned.
The sp500 table supports the following query parameters.
| Parameter | Description | Default | Examples |
|---|---|---|---|
| format | The format of the results to be returned. | csv | format=json |
| years | Bulk download only. History length to download: 5, 10, or full. Defaults to the longest history included in your subscription that has a published bulk file. Alias: history. | max available | years=5 |
| from | Specifies the filing date from which to return data. | 30 days ago | from=2023-08-01 |
| to | Specifies the filing date to return data until. | prior day | to=2023-08-31 |
| fields | The fields (table columns) to return. | all | fields=date,ticker,action,contraticker |
| action | Returns results for the specified action. | all | action=split |
| contraticker | Returns the ticker for the company corresponding to a particular action (e.g. this will reflect the ticker for the company that was removed when viewing the record for a ticker that has been added to the sp500 table). | all | contraticker=GE |
| ticker | Returns results for the specified ticker. Multiple tickers should be separated with a comma(,). | all | ticker=TSLA |
| limit | The number of records to return. | 10000 | limit=100000 |
| skip | The number of results to skip before returning data. | 0 | skip=10000 |
| sort | The field used to sort the data and the sort method (asc/desc). | date.desc | sort=ticker.asc |
Return the current S&P500 constituents
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&format=csv&action=currentReturn the S&P500 history for a specific ticker
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&format=csv&ticker=AAPLIn Google Sheets, retrieve S&P 500 history for a single ticker (AAPL) with IMPORTDATA. You can change the query parameters (ticker, dates, fields, filters, and so on) in the same way as the Examples in the preceding section. Paste this formula into a cell (A1):
=IMPORTDATA("https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&format=csv&ticker=AAPL")Download the [sp500] table as a compressed CSV. The API responds with a redirect to a time-limited download URL.
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&bulk=TrueUse years=5, years=10, or years=full to select history length when split bulk files are published. If years is omitted, the longest history included in your subscription is used.
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&bulk=True&years=5Example using curl (follow redirects and write the file):
curl -L -o sp500.csv.zip "https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&bulk=True"Check the bulk file status (name, size, last modified) without downloading:
https://api.sharadar.com/v1.0/data/sp500?api_key=test-api-key&status=TrueExample response:
{
"table": "sp500",
"name": "sp500.csv.zip",
"size": 252561,
"sizeLabel": "246.6 KB",
"modified": "2026-07-15T23:58:56.255000+00:00"
}