API Endpoints v1


Note: All the new functionalities and new endpoints listed in the pricing plans are designed for use with the new API endpoints in Version V2. Please refer to the V2 API endpoints documentation page for proper usage of the service. Please be aware that Version V1 of the API endpoints will be deprecated for use after June 30th, 2025.

Welcome to the Marketstack API documentation! In the following series of articles, you will learn how to query the Marketstack JSON API for real-time, intraday, and historical stock market data, define multiple stock symbols, retrieve extensive data about 70+ stock exchanges, 170,000+ stock tickers from more than 50 countries, as well as 750+ market indices, information about time zones, currencies, and more.

Our API is built on a RESTful, easy-to-understand request-and-response structure. API requests are always sent using a simple API request URL with a series of required and optional HTTP GET parameters, and API responses are provided in lightweight JSON format. Continue below to get started, or click the button above to jump to our 3-Step Quickstart Guide.

Quickstart Guide

 

Supported Endpoint

End-of-Day Data

You can use the API's eod endpoint to obtain end-of-day data for one or multiple stock tickers. A single or multiple comma-separated ticker symbols are passed to the API using the symbols parameter.

Note: To request end-of-day data for single ticker symbols, you can also use the API's Tickers Endpoint.

Example API Request:

Sign Up to Run API Request

Endpoint Features:

ObjectDescription
/eod/[date]Specify a date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000. Example: /eod/2020-01-01
/eod/latestObtain the latest available end-of-day data for one or multiple stock tickers.

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
symbols[Required] Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. AAPL or AAPL,MSFT. Each symbol consumes one API request. Maximum: 100 symbols
exchange[Optional] Filter your results based on a specific stock exchange by specifying the MIC identification of a stock exchange. Example: XNAS
sort[Optional] By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: DESC (Default), ASC.
date_from[Optional] Filter results based on a specific timeframe by passing a from-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
date_to[Optional] Filter results based on a specific timeframe by passing an end-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

Example API Response: If your API request was successful, the Marketstack API will return both pagination information as well as a data object, which contains a separate sub-object for each requested date/time and symbol. All response objects are explained below.

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
dateReturns the exact UTC date/time the given data was collected in ISO-8601 format.
symbolReturns the stock ticker symbol of the current data object.
exchangeReturns the exchange MIC identification associated with the current data object.
split_factorReturns the split factor, which is used to adjust prices when a company splits, reverse splits, or pays a distribution.
dividendReturns the dividend, which are the distribution of earnings to shareholders.
openReturns the raw opening price of the given stock ticker.
highReturns the raw high price of the given stock ticker.
lowReturns the raw low price of the given stock ticker.
closeReturns the raw closing price of the given stock ticker.
volumeReturns the raw volume of the given stock ticker.
adj_openReturns the adjusted opening price of the given stock ticker.
adj_highReturns the adjusted high price of the given stock ticker.
adj_lowReturns the adjusted low price of the given stock ticker.
adj_closeReturns the adjusted closing price of the given stock ticker.
adj_volumeReturns the adjusted volume of given stock ticker.

Adjusted Prices: "Adjusted" prices are stock price values that were amended to accurately reflect the given stock's value after accounting for any corporate actions, such as splits or dividends. Adjustments are made in accordance with the "CRSP Calculations" methodology set forth by the Center for Research in Security Prices (CRSP).

End-of-Day Data: You can use the API's eod endpoint in order to obtain end-of-day data for one or multiple stock tickers. A single or multiple comma-separated ticker symbols are passed to the API using the symbols parameter.

JavaScript Fetch    

JavaScript Axios

Python Request 

Python HTTP.client

Market Indices

The API is also capable of delivering end-of-day for 750+ of the world's major indices, including the S&P 500 Index, the Dow Jones Industrial Average Index as well as the NASDAQ Composite Index. Index data is available both on a "latest" basis as well as historically.

To list or access index data, simply pass INDX as your stock exchange MIC identification, as seen in the examples below. The example API request below illustrates how to obtain end-of-day data for the DJI market index.

Example API Request:

Sign Up to Run API Request

Parameters: For more information about request parameters, please refer to the End-of-day Data section of this documentation.

API Response:

API Response Objects: For more information about response objects, please refer to the End-of-day Data section of this documentation.

Market Indices in Other API Endpoints:

ObjectDescription
/exchanges/INDX/tickersObtain all available market indices by passing INDX as the exchange MIC identification.
/tickers/[symbol].INDXObtain meta information for a specific market index.
/tickers/[symbol].INDX/eodObtain end-of-day data for a specific market index.

Historical Data 

Historical stock prices are available both from the end-of-day (eod) and intraday (intraday) API endpoints. To obtain historical data, simply use the date_from and date_to parameters as shown in the example request below.

Example API Request:

Sign Up to Run API Request

Parameters: For details on request parameters on the eod data endpoint, please jump to the End-of-Day Data section.

Example API Response:

API Response Objects: For details on API response objects, please jump to the End-of-Day Data section.

Note: Historical end-of-day data (eod) is available for up to 30 years back, while intraday data (intraday) always only offers the last 10,000 entries for each of the intervals available. Example: For a 1-minute interval, historical intraday data is available for up to 10,000 minutes back.

Historial Data: Historical stock prices are available both from the end-of-day (eod) and intraday (intraday) API endpoints. To obtain historical data, simply use the date_from and date_to parameters as shown in the example request below.

JavaScript Fetch

JavaScript Axios

Python Requests

Python Http.client

Intraday Data 

In additional to daily end-of-day stock prices, the marketstack API also supports intraday data with data intervals as short as one minute. Intraday prices are available for all US stock tickers included in the IEX (Investors Exchange) stock exchange.

To obtain intraday data, you can use the API's intraday endpoint and specify your preferred stock ticker symbols.

Note: To request intraday data for single ticker symbols, you can also use the API's Tickers Endpoint.

Example API Request:

Sign Up to Run API Request

Endpoint Features:

ObjectDescription
/intraday/[date]Specify a date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000. Example: /intraday/2020-01-01
/intraday/latestObtain the latest available intraday data for one or multiple stock tickers.

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
symbols[Required] Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. AAPL or AAPL,MSFT. Each symbol consumes one API request. Maximum: 100 symbols
exchange[Optional] Filter your results based on a specific stock exchange by specifying the MIC identification of a stock exchange. Example: IEXG
interval[Optional] Specify your preferred data interval. Available values: 1min, 5min, 10min, 15min, 30min, 1hour (Default), 3hour, 6hour, 12hour and 24hour.
sort[Optional] By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: DESC (Default), ASC.
date_from[Optional] Filter results based on a specific timeframe by passing a from-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
date_to[Optional] Filter results based on a specific timeframe by passing an end-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

Real-Time Updates: Please note that data frequency intervals below 15 minutes (15min) are only supported if you are subscribed to the Professional Plan or higher. If you are the Free or Basic Plan, please upgrade your account.

Example API Response: If your API request was successful, the marketstack API will return both pagination information as well as a data object, which contains a separate sub-object for each requested date/time and symbol. All response objects are explained below.

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
dateReturns the exact UTC date/time the given data was collected in ISO-8601 format.
symbolReturns the stock ticker symbol of the current data object.
exchangeReturns the exchange MIC identification associated with the current data object.
openReturns the raw opening price of the given stock ticker.
highReturns the raw high price of the given stock ticker.
lowReturns the raw low price of the given stock ticker.
closeReturns the raw closing price of the given stock ticker.
lastReturns the last executed trade of the given symbol on its exchange.
volumeReturns the volume of the given stock ticker.

Intraday Data: 

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client       

Real-Time Updates

For customers with an active subscription to the Professional Plan, the marketstack API's intraday endpoint is also capable of providing real-time market data, updated every minute, every 5 minutes or every 10 minutes.

To obtain real-time data using this endpoint, simply append the API's interval parameter and set it to 1min, 5min or 10min.

Example API Request:

Sign Up to Run API Request

Endpoint Features, Parameters & API Response: To learn about endpoint features, request parameters and API response objects, please navigate to the Intraday Data section.

Real-Time-Updates: Specify the interval parameter and set it to 1min, 5min or 10min to obtain real-time data using this endpoint.

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client       

Splits Data 

Using the APIs splitsendpoint you will be able to look up information about the stock splits factor for different symbols. You will be able to find and try out an example API request below.

To obtain splits data, you can use the API's splits endpoint and specify your preferred stock ticker symbols.

Note: To request splits data for single ticker symbols, you can also use the API's Tickers Endpoint.

Example API Request:

Sign Up to Run API Request

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
symbols[Required] Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. AAPL or AAPL,MSFT. Each symbol consumes one API request. Maximum: 100 symbols
sort[Optional] By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: DESC (Default), ASC.
date_from[Optional] Filter results based on a specific timeframe by passing a from-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
date_to[Optional] Filter results based on a specific timeframe by passing an end-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

Example API Response: If your API request was successful, the marketstack API will return both pagination information as well as a data object, which contains a separate sub-object for each requested date/time and symbol. All response objects are explained below.

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
dateReturns the exact UTC date/time the given data was collected in ISO-8601 format.
symbolReturns the stock ticker symbol of the current data object.
volumeReturns the split factor for that symbol on the date.

       Splits Data:

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client             

Dividends Data 

Using the APIs dividendsendpoint you will be able to look up information about the stock dividend for different symbols. You will be able to find and try out an example API request below.

To obtain dividends data, you can use the API's dividends endpoint and specify your preferred stock ticker symbols.

Note: To request dividends data for single ticker symbols, you can also use the API's Tickers Endpoint.

Example API Request:

Sign Up to Run API Request

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
symbols[Required] Specify one or multiple comma-separated stock symbols (tickers) for your request, e.g. AAPL or AAPL,MSFT. Each symbol consumes one API request. Maximum: 100 symbols
sort[Optional] By default, results are sorted by date/time descending. Use this parameter to specify a sorting order. Available values: DESC (Default), ASC.
date_from[Optional] Filter results based on a specific timeframe by passing a from-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
date_to[Optional] Filter results based on a specific timeframe by passing an end-date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

Example API Response: If your API request was successful, the marketstack API will return both pagination information as well as a data object, which contains a separate sub-object for each requested date/time and symbol. All response objects are explained below.

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
dateReturns the exact UTC date/time the given data was collected in ISO-8601 format.
symbolReturns the stock ticker symbol of the current data object.
volumeReturns the dividend for that symbol on the date.

Dividends Data:

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client        

Tickers 

Using the API's tickers endpoint you will be able to look up information about one or multiple stock ticker symbols as well as obtain end-of-day, real-time and intraday market data for single tickers. You will be able to find and try out an example API request below.

Example API Request:

Sign Up to Run API Request

Endpoint Features:

ObjectDescription
/tickers/[symbol]Obtain information about a specific ticker symbol by attach it to your API request URL, e.g. /tickers/AAPL.
/tickers/[symbol]/eodObtain end-of-day data for a specific stock ticker by attaching /eod to your URL, e.g. /tickers/AAPL/eod. This route supports parameters of the End-of-day Data endpoint.
/tickers/[symbol]/splitsObtain end-of-day data for a specific stock ticker by attaching /splits to your URL, e.g. /tickers/AAPL/splits. This route supports parameters like date period date_from and date_to and also you can sort the results DESC or ASC.
/tickers/[symbol]/dividendsObtain end-of-day data for a specific stock ticker by attaching /dividends to your URL, e.g. /tickers/AAPL/dividends. This route supports parameters like date period date_from and date_to and also you can sort the results DESC or ASC.
/tickers/[symbol]/intradayObtain real-time & intraday data for a specific stock ticker by attaching /intraday to your URL, e.g. /tickers/AAPL/intraday. This route supports parameters of the Intraday Data endpoint.
/tickers/[symbol]/eod/[date]Specify a date in YYYY-MM-DD format. You can also specify an exact time in ISO-8601 date format, e.g. 2020-05-21T00:00:00+0000. Example: /eod/2020-01-01 or /intraday/2020-01-01
/tickers/[symbol]/eod/latestObtain the latest end-of-day data for a given stock symbol. Example: /tickers/AAPL/eod/latest
/tickers/[symbol]/intraday/latestObtain the latest intraday data for a given stock symbol. Example: /tickers/AAPL/intraday/latest

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
exchange[Optional] To filter your results based on a specific stock exchange, use this parameter to specify the MIC identification of a stock exchange. Example: XNAS
search[Optional] Use this parameter to search stock tickers by name or ticker symbol.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

API Response:

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
nameReturns the name of the given stock ticker.
symbolReturns the symbol of the given stock ticker.
stock_exchange > nameReturns the name of the stock exchange associated with the given stock ticker.
stock_exchange > acronymReturns the acronym of the stock exchange associated with the given stock ticker.
stock_exchange > micReturns the MIC identification of the stock exchange associated with the given stock ticker.
stock_exchange > countryReturns the country of the stock exchange associated with the given stock ticker.
stock_exchange > country_codeReturns the 3-letter country code of the stock exchange associated with the given stock ticker.
stock_exchange > cityReturns the city of the stock exchange associated with the given stock ticker.
stock_exchange > websiteReturns the website URL of the stock exchange associated with the given stock ticker.


Tickers:

JavaScript Fetch       

JavaScript Axios

Python Requests

Python HTTP.client     

Exchanges 

Using the exchanges API endpoint you will be able to look up information any of the 2700+ stock exchanges supported by this endpoint. This endpoint provides general information about several stock exchanges. Not all stock exchanges found here are supported by other Marketstack endpoints. For the supported stock exchanges supported by each endpoint, please verify each endpoint documentation. You will be able to find and try out an example API request below.

Example API Request:

Sign Up to Run API Request

Endpoint Features:

ObjectDescription
/exchanges/[mic]Obtain information about a specific stock exchange by attaching its MIC identification to your API request URL, e.g. /exchanges/XNAS.
/exchanges/[mic]/tickersObtain all available tickers for a specific exchange by attaching the exchange MIC as well as /tickers, e.g. /exchanges/XNAS/tickers.
/exchanges/[mic]/eodObtain end-of-day data for all available tickers from a specific exchange, e.g. /exchanges/XNAS/eod. For parameters, refer to End-of-day Data endpoint.
/exchanges/[mic]/intradayObtain intraday data for tickers from a specific exchange, e.g. /exchanges/XNAS/intraday. For parameters, refer to Intraday Data endpoint.
/exchanges/[mic]/eod/[date]Obtain end-of-day data for a specific date in YYYY-MM-DD or ISO-8601 format. Example: /exchanges/XNAS/eod/2020-01-01.
/exchanges/[mic]/intraday/[date]Obtain intraday data for a specific date and time in YYYY-MM-DD or ISO-8601 format. Example: /exchanges/IEXG/intraday/2020-05-21T00:00:00+0000.
/exchanges/[mic]/eod/latestObtain the latest end-of-day data for tickers of the given exchange. Example: /exchanges/XNAS/eod/latest
/exchanges/[mic]/intraday/latestObtain the latest intraday data for tickers of the given exchange. Example: /exchanges/IEXG/intraday/latest

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
search[Optional] Use this parameter to search stock exchanges by name or MIC.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

API Response:

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
nameReturns the name of the given stock exchange.
acronymReturns the acronym of the given stock exchange.
micReturns the MIC identification of the given stock exchange.
countryReturns the country of the given stock exchange.
country_codeReturns the 3-letter country code of the given stock exchange.
cityReturns the given city of the stock exchange.
websiteReturns the website URL of the given stock exchange.
timezone > timezoneReturns the timezone name of the given stock exchange.
timezone > abbrReturns the timezone abbreviation of the given stock exchange.
timezone > abbr_dstReturns the Summer time timezone abbreviation of the given stock exchange.

Exchanges:

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client

Currencies 

Using the currencies API endpoint you will be able to look up all currencies supported by the marketstack API. You will be able to find and try out an example API request below.

Example API Request:

Sign Up to Run API Request

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

API Response:

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
codeReturns the 3-letter code of the given currency.
nameReturns the name of the given currency.
symbolReturns the text symbol of the given currency.
symbol_nativeReturns the native text symbol of the given currency.

Currencies:

JavaScript Fetch

JavaScript Axios

Python Requests

Python HTTP.client   

Timezones 

Using the timezones API endpoint you will be able to look up information about all supported timezones. You will be able to find and try out an example API request below.

Example API Request:

Sign Up to Run API Request

Parameters:

ObjectDescription
access_key[Required] Specify your API access key, available in your account dashboard.
limit[Optional] Specify a pagination limit (number of results per page) for your API request. Default limit value is 100, maximum allowed limit value is 1000.
offset[Optional] Specify a pagination offset value for your API request. Example: An offset value of 100 combined with a limit value of 10 would show results 100-110. Default value is 0, starting with the first available result.

API Response:

API Response Objects:

Response ObjectDescription
pagination > limitReturns your pagination limit value.
pagination > offsetReturns your pagination offset value.
pagination > countReturns the results count on the current page.
pagination > totalReturns the total count of results available.
timezoneReturns the name of the given timezone.
abbrReturns the abbreviation of the given timezone.
abbr_dstReturns the Summer time abbreviation of the given timezone.

Timezones:

JavaScript Fetch  

JavaScript Axios

Python Requests

Python HTTP.client        

 

Questions? Contact Sales .
Need help? Contact Support .
Check out our Changelog .
© 2026 APILayer. All rights reserved.