EOD Historical Data Exchanges API
Exchange information and symbols
Exchange information and symbols
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/eod-historical-exchanges-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: EODHD Financial Data Calendar Exchanges API
description: Comprehensive API for retrieving financial data including stock prices, fundamentals, calendar events, news, and more from EOD Historical Data (eodhd.com)
version: 2.0.0
contact:
name: EODHD Support
url: https://eodhd.com
email: supportlevel1@eodhistoricaldata.com
termsOfService: https://eodhd.com/financial-apis/terms-conditions
license:
name: Proprietary
url: https://eodhd.com/financial-apis/terms-conditions
servers:
- url: https://eodhd.com/api
description: Primary API path
- url: https://eodhistoricaldata.com/api
description: Alternative API path
security:
- EODHDQueryKey: []
tags:
- name: Exchanges
description: Exchange information and symbols
paths:
/exchange-details/{EXCHANGE_CODE}:
get:
summary: Retrieve details for a specific exchange
description: Retrieve exchange details, trading hours, holidays, and active tickers for a specified exchange.
operationId: GetExchangeDetails
parameters:
- name: EXCHANGE_CODE
in: path
required: true
description: Exchange code for which details are to be retrieved (e.g., 'US' for the USA exchange).
schema:
type: string
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
- name: fmt
in: query
required: false
description: Response format. Options are 'json' and 'csv'. Defaults to JSON.
schema:
type: string
enum:
- json
- csv
- name: from
in: query
required: false
description: Start date for holiday data (YYYY-MM-DD). Defaults to 6 months before the current date.
schema:
type: string
format: date
- name: to
in: query
required: false
description: End date for holiday data (YYYY-MM-DD). Defaults to 6 months after the current date.
schema:
type: string
format: date
- name: format_version
in: query
required: false
description: Response format version.
schema:
type: integer
responses:
'200':
description: Successful response with exchange details and trading hours.
content:
application/json:
schema:
type: object
properties:
Name:
type: string
Code:
type: string
OperatingMIC:
type: string
Country:
type: string
Currency:
type: string
Timezone:
type: string
ExchangeHolidays:
type: array
items:
type: object
properties:
Holiday:
type: string
Date:
type: string
format: date
Type:
type: string
ExchangeEarlyCloseDays:
type: array
items:
type: object
properties:
Date:
type: string
format: date
CloseTime:
type: string
format: time
isOpen:
type: boolean
TradingHours:
type: object
properties:
Open:
type: string
format: time
Close:
type: string
format: time
OpenUTC:
type: string
format: time
CloseUTC:
type: string
format: time
WorkingDays:
type: string
ActiveTickers:
type: integer
PreviousDayUpdatedTickers:
type: integer
UpdatedTickers:
type: integer
example:
Name: USA Stocks
Code: US
OperatingMIC: XNAS, XNYS, OTCM
Country: USA
Currency: USD
Timezone: America/New_York
ExchangeHolidays:
- Holiday: Memorial Day
Date: '2024-05-27'
Type: official
- Holiday: Juneteenth Holiday
Date: '2024-06-19'
Type: official
- Holiday: Independence Day
Date: '2024-07-04'
Type: official
- Holiday: Labour Day
Date: '2024-09-02'
Type: official
- Holiday: Thanksgiving Day
Date: '2024-11-28'
Type: official
- Holiday: Christmas Day
Date: '2024-12-25'
Type: official
- Holiday: New Years Day
Date: '2025-01-01'
Type: official
ExchangeEarlyCloseDays: []
isOpen: false
TradingHours:
Open: 09:30:00
Close: '16:00:00'
OpenUTC: '13:30:00'
CloseUTC: '20:00:00'
WorkingDays: Mon,Tue,Wed,Thu,Fri
ActiveTickers: 49242
PreviousDayUpdatedTickers: 47442
UpdatedTickers: 0
'400':
description: Invalid request parameters.
'401':
description: Unauthorized.
'404':
description: Exchange not found.
tags:
- Exchanges
/exchange-symbol-list/{exchangeCode}:
get:
summary: Retrieve the list of tickers for a specific exchange.
description: Returns a list of active or delisted symbols for the specified exchange, with optional filters by ticker type.
operationId: GetExchangeSymbolList
parameters:
- name: exchangeCode
in: path
required: true
description: Exchange code, e.g., 'PSE' for the Philippines Stock Exchange or 'US' for combined US exchanges.
schema:
type: string
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
- name: fmt
in: query
required: false
description: 'Response format. Options: ''json'' (default) or ''csv''.'
schema:
type: string
enum:
- json
- csv
- name: delisted
in: query
required: false
description: Include delisted (inactive) tickers. Set to '1' to include.
schema:
type: integer
enum:
- 0
- 1
default: 0
- name: type
in: query
required: false
description: 'Filter by ticker type. Options: ''common_stock'', ''preferred_stock'', ''stock'', ''etf'', ''fund''.'
schema:
type: string
enum:
- common_stock
- preferred_stock
- stock
- etf
- fund
responses:
'200':
description: Successful response with a list of tickers.
content:
application/json:
schema:
type: array
items:
type: object
properties:
Code:
type: string
description: Ticker symbol code.
Name:
type: string
description: Company name associated with the ticker.
Country:
type: string
description: Country of the exchange.
Exchange:
type: string
description: Exchange code.
Currency:
type: string
description: Currency code in which the stock is traded.
Type:
type: string
description: Type of ticker (e.g., Common Stock, ETF).
Isin:
type:
- string
- 'null'
description: ISIN code if available.
example:
- Code: AB
Name: Atok Big Wedge Co Inc
Country: Philippines
Exchange: PSE
Currency: PHP
Type: Common Stock
Isin: PHY044931210
- Code: AC
Name: Ayala Corp
Country: Philippines
Exchange: PSE
Currency: PHP
Type: Common Stock
Isin: PHY0486V1154
'400':
description: Invalid request parameters.
'401':
description: Unauthorized.
tags:
- Exchanges
/exchanges-list:
get:
summary: List supported exchanges
description: Retrieve the list of supported exchanges with their details.
operationId: GetListOfExchanges
parameters:
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
- name: fmt
in: query
required: false
description: Response format. Options are 'json' and 'csv'. Defaults to JSON.
schema:
type: string
enum:
- json
- csv
responses:
'200':
description: Successful response with a list of exchanges.
content:
application/json:
schema:
type: array
items:
type: object
properties:
Name:
type: string
Code:
type: string
OperatingMIC:
type:
- string
- 'null'
Country:
type: string
Currency:
type: string
CountryISO2:
type: string
CountryISO3:
type: string
example:
- Name: USA Stocks
Code: US
OperatingMIC: XNAS, XNYS, OTCM
Country: USA
Currency: USD
CountryISO2: US
CountryISO3: USA
- Name: Toronto Exchange
Code: TO
OperatingMIC: XTSE
Country: Canada
Currency: CAD
CountryISO2: CA
CountryISO3: CAN
- Name: Berlin Exchange
Code: BE
OperatingMIC: XBER
Country: Germany
Currency: EUR
CountryISO2: DE
CountryISO3: DEU
'400':
description: Invalid request parameters.
'401':
description: Unauthorized.
tags:
- Exchanges
/id-mapping:
get:
summary: Map between financial identifiers
description: 'Look up securities by various identifiers including symbol, exchange code, ISIN, FIGI, LEI, CUSIP, and CIK.
**At least one of the following filter parameters is required**:
`filter[symbol]`, `filter[isin]`, `filter[figi]`, `filter[lei]`, `filter[cusip]`, `filter[cik]`, or `filter[ex]`.
A request without any of these will return HTTP 422.
'
operationId: GetIdMapping
parameters:
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
- name: filter[symbol]
in: query
required: false
description: Filter by ticker symbol (e.g., 'AAPL').
schema:
type: string
- name: filter[ex]
in: query
required: false
description: Filter by exchange code (e.g., 'US').
schema:
type: string
- name: filter[isin]
in: query
required: false
description: Filter by ISIN code (e.g., 'US0378331005').
schema:
type: string
- name: filter[figi]
in: query
required: false
description: Filter by FIGI identifier.
schema:
type: string
- name: filter[lei]
in: query
required: false
description: Filter by LEI code.
schema:
type: string
- name: filter[cusip]
in: query
required: false
description: Filter by CUSIP identifier.
schema:
type: string
- name: filter[cik]
in: query
required: false
description: Filter by CIK number.
schema:
type: string
- name: page[limit]
in: query
required: false
description: Number of records per page.
schema:
type: integer
- name: page[offset]
in: query
required: false
description: Pagination offset.
schema:
type: integer
- name: fmt
in: query
required: false
description: Output format.
schema:
type: string
enum:
- json
- csv
default: json
responses:
'200':
description: Successfully retrieved identifier mappings.
content:
application/json:
schema:
type: array
items:
type: object
properties:
Code:
type: string
description: Ticker symbol.
Exchange:
type: string
description: Exchange code.
Name:
type: string
description: Company name.
ISIN:
type: string
description: ISIN code.
FIGI:
type: string
description: FIGI identifier.
LEI:
type: string
description: LEI code.
CUSIP:
type: string
description: CUSIP identifier.
CIK:
type: string
description: CIK number.
'400':
description: Invalid request parameters.
'401':
description: Unauthorized. Invalid API token.
tags:
- Exchanges
/v2/exchange-details:
get:
summary: List available exchanges (v2)
description: Returns an array of all exchange codes supported by the v2 endpoint. Use these codes to request details for a specific exchange via /v2/exchange-details/{code}.
operationId: ListExchangeDetailsV2
parameters:
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
responses:
'200':
description: Successful response with list of exchange codes.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: string
description: Array of supported exchange codes.
example:
data:
- ASEX
- BMEX
- BVMF
- LSE
- NEO
- US
- XAMS
- XASX
- XHKG
- XKRX
- XNSE
- XPAR
- XTKS
'401':
description: Unauthorized — missing or invalid API token.
tags:
- Exchanges
/v2/exchange-details/{code}:
get:
summary: Get exchange details and trading hours (v2)
description: Returns trading hours, extended sessions (pre-market, after-hours), lunch breaks, and the full holiday calendar for the requested exchange. Covers 73 exchanges with verified data. The code parameter is case-insensitive.
operationId: GetExchangeDetailsV2
parameters:
- name: code
in: path
required: true
description: Exchange code (case-insensitive). Use /v2/exchange-details to get the list of supported codes.
schema:
type: string
examples:
us:
summary: US exchanges (NYSE / NASDAQ)
value: US
hk:
summary: Hong Kong Stock Exchange
value: XHKG
tokyo:
summary: Tokyo Stock Exchange
value: XTKS
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
responses:
'200':
description: Successful response with exchange details, trading hours, and holiday calendar.
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
Name:
type: string
description: Full exchange name.
Code:
type: string
description: Exchange code used in this endpoint.
Timezone:
type: string
description: IANA timezone (e.g. America/New_York).
TradingHours:
type: object
properties:
Open:
type: string
description: Regular session open time (HH:MM:SS).
Close:
type: string
description: Regular session close time (HH:MM:SS).
WorkingDays:
type: string
description: Trading days (e.g. Mon, Tue, Wed, Thu, Fri).
PreMarketOpen:
type: string
description: Pre-market session open (if available).
PreMarketClose:
type: string
description: Pre-market session close (if available).
AfterHoursOpen:
type: string
description: After-hours session open (if available).
AfterHoursClose:
type: string
description: After-hours session close (if available).
LunchBreakStart:
type: string
description: Lunch break start (if applicable).
LunchBreakEnd:
type: string
description: Lunch break end (if applicable).
required:
- Open
- Close
- WorkingDays
ExchangeHolidays:
type: object
description: Holiday calendar keyed by date (YYYY-MM-DD).
additionalProperties:
type: object
properties:
Holiday:
type: string
description: Holiday name.
Type:
type: string
enum:
- Official
- Bank
- EarlyClose
description: Holiday type.
EarlyClose:
type: string
description: Early close time (HH:MM:SS). Only present when Type is EarlyClose.
required:
- Holiday
- Type
required:
- Name
- Code
- Timezone
- TradingHours
- ExchangeHolidays
meta:
type: array
description: Reserved for future use.
links:
type: array
description: Reserved for future use.
example:
data:
Name: NYSE / NASDAQ
Code: US
Timezone: America/New_York
TradingHours:
Open: 09:30:00
Close: '16:00:00'
WorkingDays: Mon, Tue, Wed, Thu, Fri
PreMarketOpen: 04:00:00
PreMarketClose: 09:30:00
AfterHoursOpen: '16:00:00'
AfterHoursClose: '20:00:00'
ExchangeHolidays:
'2026-01-01':
Holiday: New Year's Day
Type: Official
'2026-01-19':
Holiday: Martin Luther King Jr. Day
Type: Official
'2026-11-27':
Holiday: Day after Thanksgiving
Type: EarlyClose
EarlyClose: '13:00:00'
'2026-12-24':
Holiday: Christmas Eve
Type: EarlyClose
EarlyClose: '13:00:00'
'2026-12-25':
Holiday: Christmas Day
Type: Official
meta: []
links: []
'401':
description: Unauthorized — missing or invalid API token.
'404':
description: Exchange not found.
tags:
- Exchanges
components:
securitySchemes:
EODHDQueryKey:
type: apiKey
in: query
name: api_token
description: EODHD API key (stored as a secret in ChatGPT).