Comprehensive OpenAPI 3.1.0 specification for the EOD Historical Data (EODHD) Financial Data API.
This repository contains a complete, modular OpenAPI specification for the EODHD API, covering 74 REST endpoints across 22 categories. The API provides access to:
- End-of-Day (EOD) Data: Historical and current stock prices
- Intraday & Real-time Data: Live market data, ticks, and delayed quotes
- Fundamentals: Company financial statements, valuations, metrics, and bulk fundamentals
- Calendar Events: Earnings, IPOs, splits, dividends, and trends
- Economic Data: Macro indicators and economic events
- Options Data: Options contracts and pricing
- News & Sentiment: Financial news and sentiment analysis
- Technical Indicators: Technical analysis data
- Exchange Information: Exchange details and symbol listings
- Corporate Actions: Dividends, splits, symbol changes, and insider transactions
- Screening Tools: Stock screening and search functionality
- Indices: S&P/Dow Jones indices data and components
- US Treasury: Bill rates, yield curves, long-term rates, and real yields
- Trading Hours: Market hours, status, and lookup
- CBOE: CBOE index data and listings
- ESG: Environmental, Social, and Governance ratings (Investverte)
- Risk Analytics: Performance, risk, volatility analysis (illio)
- Investment Analytics: Risk scoring, bond analysis, bank financials (PRAAMS)
Note: EODHD also provides a WebSocket endpoint (
wss://ws.eodhistoricaldata.com/ws/{market}) for real-time streaming data, which is documented separately and not included in this REST specification.
The specification is organized into modular files for better maintainability:
eodhd_openapi/
├── openapi.yaml # Main OpenAPI specification file
├── paths/ # Individual endpoint definitions
│ ├── calendar_earnings.yaml
│ ├── calendar_dividends.yaml
│ ├── eod_ticker.yaml
│ ├── fundamentals_ticker.yaml
│ ├── cboe_indices.yaml
│ ├── ust_yield-rates.yaml
│ ├── mp_illio_chapters_*.yaml
│ ├── mp_investverte_*.yaml
│ ├── mp_praams_*.yaml
│ └── ... (74 endpoint files total)
├── components/
│ ├── index.yaml # Components index with references
│ ├── securitySchemes.yaml # API authentication schemes
│ ├── parameters/ # Reusable parameters
│ │ ├── ApiToken.yaml
│ │ ├── FmtCsvJson.yaml
│ │ ├── DateFrom.yaml
│ │ └── DateTo.yaml
│ ├── responses/ # Common response definitions
│ │ ├── UnauthorizedHtml.yaml
│ │ ├── ForbiddenHtml.yaml
│ │ ├── NotFoundHtml.yaml
│ │ └── TooManyHtml.yaml
│ └── schemas/ # Data model schemas (58 files)
│ ├── Error.yaml
│ ├── InternalUser.yaml
│ └── ...
└── README.md # This file
The specification includes 74 API endpoints organized by category:
GET /calendar/earnings- Upcoming and historical earningsGET /calendar/ipos- IPO calendarGET /calendar/splits- Stock splits calendarGET /calendar/trends- Market trends calendarGET /calendar/dividends- Dividends calendar
GET /eod/{ticker}- Historical EOD pricesGET /eod-bulk-last-day/{exchange}- Bulk EOD data for entire exchangeGET /historical-market-cap/{ticker}- Historical market capitalization
GET /intraday/{ticker}- Intraday price dataGET /real-time/{ticker}- Real-time quotesGET /ticks- Tick-level dataGET /us-quote-delayed- US 15-minute delayed quotesGET /mp/unicornbay/tickdata/ticks- Marketplace tick data
GET /fundamentals/{ticker}- Comprehensive fundamental dataGET /bulk-fundamentals/{EXCHANGE}- Bulk fundamentals for an exchange
GET /exchanges-list- List all exchangesGET /exchange-details/{EXCHANGE_CODE}- Exchange detailsGET /exchange-symbol-list/{exchangeCode}- Symbols for exchange
GET /economic-events- Economic calendar eventsGET /macro-indicator/{country}- Macro economic indicators
GET /mp/unicornbay/options/contracts- Options contractsGET /mp/unicornbay/options/eod- Options EOD dataGET /mp/unicornbay/options/underlying-symbols- Underlying symbols
GET /news- Financial newsGET /sentiments- Sentiment analysisGET /news-word-weights- News word weights analysis
GET /technical/{ticker}- Technical indicators
GET /screener- Stock screenerGET /search/{query}- Symbol search
GET /div/{ticker}- Dividend historyGET /splits/{ticker}- Split history
GET /symbol-change-history- Symbol changesGET /insider-transactions- Insider trading data
GET /logo/{symbol}- Company logos (PNG)GET /logo-svg/{symbol}- Company logos (SVG)
GET /mp/unicornbay/spglobal/list- S&P Global indices listGET /mp/unicornbay/spglobal/comp/{symbol}- Index components
GET /ust/bill-rates- Treasury bill discount ratesGET /ust/yield-rates- Yield curve constant maturity ratesGET /ust/long-term-rates- Long-term average ratesGET /ust/real-yield-rates- TIPS-derived real yield rates
GET /cboe/indices- List CBOE indicesGET /cboe/index- Historical CBOE index data
GET /mp/tradinghours/markets- List all marketsGET /mp/tradinghours/markets/lookup- Lookup market by codeGET /mp/tradinghours/markets/details- Market trading hours detailsGET /mp/tradinghours/markets/status- Current market status
GET /mp/investverte/companies- List ESG-rated companiesGET /mp/investverte/countries- ESG country scoresGET /mp/investverte/sectors- ESG sector scoresGET /mp/investverte/esg/{symbol}- Company ESG ratingGET /mp/investverte/country/{symbol}- Country ESG detailsGET /mp/investverte/sector/{symbol}- Sector ESG details
GET /mp/illio/chapters/best-and-worst/{id}- Best/worst periodsGET /mp/illio/chapters/beta-bands/{id}- Beta bands analysisGET /mp/illio/chapters/volatility/{id}- Volatility analysisGET /mp/illio/chapters/volume/{id}- Volume analysisGET /mp/illio/chapters/performance/{id}- Performance analysisGET /mp/illio/chapters/risk/{id}- Risk analysisGET /mp/illio/categories/performance/{id}- Category performanceGET /mp/illio/categories/risk/{id}- Category risk
GET /mp/praams/bank/balance_sheet/ticker/{ticker}- Bank balance sheet by tickerGET /mp/praams/bank/balance_sheet/isin/{isin}- Bank balance sheet by ISINGET /mp/praams/bank/income_statement/ticker/{ticker}- Bank income statement by tickerGET /mp/praams/bank/income_statement/isin/{isin}- Bank income statement by ISINGET /mp/praams/analyse/bond/{isin}- Bond analysisGET /mp/praams/analyse/equity/ticker/{ticker}- Equity analysis by tickerGET /mp/praams/analyse/equity/isin/{isin}- Equity analysis by ISINGET /mp/praams/reports/bond/{isin}- Bond reportGET /mp/praams/reports/equity/ticker/{ticker}- Equity report by tickerGET /mp/praams/reports/equity/isin/{isin}- Equity report by ISINGET /mp/praams/explore/bond- Explore/search bondsGET /mp/praams/explore/equity- Explore/search equities
GET /internal-user- User account information
The API uses API key authentication via query parameter:
?api_token=YOUR_API_TOKEN
All endpoints require a valid API token. You can obtain one by registering at eodhd.com.
Two API servers are available:
- Primary:
https://eodhd.com/api - Alternative:
https://eodhistoricaldata.com/api
Most endpoints support multiple output formats:
- JSON (default): Structured JSON response
- CSV: Comma-separated values (selected endpoints)
- XML: XML format (selected endpoints)
Specify format using the fmt query parameter:
?fmt=json
?fmt=csv
?fmt=xml
The API implements rate limiting. When exceeded, responses include:
- Status:
429 Too Many Requests - Headers:
X-RateLimit-Limit: Requests per minute limitX-RateLimit-Remaining: Requests remainingRetry-After: Seconds to wait before retry
Standard HTTP error codes are used:
400- Bad Request: Invalid parameters401- Unauthorized: Invalid or missing API token403- Forbidden: Access denied for current subscription404- Not Found: Resource not found429- Too Many Requests: Rate limit exceeded500- Internal Server Error: Server error
Error responses include:
{
"status": 400,
"error": "Bad Request",
"message": "Detailed error message"
}curl "https://eodhd.com/api/eod/AAPL.US?api_token=YOUR_TOKEN&fmt=json"curl "https://eodhd.com/api/calendar/earnings?api_token=YOUR_TOKEN&from=2024-01-01&to=2024-01-31&fmt=json"curl "https://eodhd.com/api/real-time/MSFT.US?api_token=YOUR_TOKEN&fmt=json"curl "https://eodhd.com/api/fundamentals/GOOGL.US?api_token=YOUR_TOKEN"curl "https://eodhd.com/api/ust/yield-rates?api_token=YOUR_TOKEN&from=2024-01-01&to=2024-01-31&fmt=json"curl "https://eodhd.com/api/mp/tradinghours/markets/status?api_token=YOUR_TOKEN&fin_id=us.nyse&fmt=json"curl "https://eodhd.com/api/mp/investverte/esg/AAPL.US?api_token=YOUR_TOKEN&fmt=json"curl "https://eodhd.com/api/mp/praams/analyse/equity/ticker/AAPL.US?api_token=YOUR_TOKEN&fmt=json"curl "https://eodhd.com/api/search/Tesla?api_token=YOUR_TOKEN"This specification adheres to:
- OpenAPI Specification 3.1.0: spec.openapis.org/oas/v3.1.0
- JSON Schema 2020-12: Full compatibility with modern JSON Schema
- Swagger/OpenAPI: Compatible with Swagger UI and other OpenAPI tools
- Visit Swagger Editor
- Load the
openapi.yamlfile - Explore the API interactively
npx @redocly/cli preview-docs openapi.yamlInstall the "OpenAPI (Swagger) Editor" extension and open openapi.yaml.
Generate client libraries using OpenAPI Generator:
openapi-generator-cli generate -i openapi.yaml -g python -o ./python-clientopenapi-generator-cli generate -i openapi.yaml -g typescript-axios -o ./typescript-clientopenapi-generator-cli generate -i openapi.yaml -g java -o ./java-clientOpenAPI Generator supports 50+ languages. See: openapi-generator.tech
Validate the specification:
# Using Redocly CLI
npx @redocly/cli lint openapi.yaml
# Using Swagger CLI
swagger-cli validate openapi.yaml
# Using OpenAPI CLI
openapi lint openapi.yamlThe specification was generated from source JSON files using the included Python script:
python3 generate_specs.pyRequirements:
- Python 3.7+
- PyYAML:
pip install pyyaml
Each endpoint is in a separate file under paths/. Modify the relevant file and they will be automatically included via the references in openapi.yaml.
Add new schema files to components/schemas/ and reference them in components/index.yaml.
- EODHD Website: eodhd.com
- API Documentation: eodhd.com/financial-apis/
- API Registration: eodhd.com/register
- Support: support@eodhd.com
- Version: 2.0.0
- OpenAPI: 3.1.0
- Last Updated: 2026-02-18
This OpenAPI specification is provided as-is for use with the EODHD API. The API itself is proprietary and subject to EODHD's terms of service.
To contribute to this specification:
- Fork the repository
- Create a feature branch
- Make your changes to the relevant files
- Validate the specification
- Submit a pull request
openapi api financial-data stocks market-data eodhd swagger rest-api trading finance esg treasury options indices
- Expanded from 33 to 74 REST endpoints
- Added 7 new tags: US Treasury, Trading Hours, CBOE, ESG, Risk Analytics, Investment Analytics, Indices
- Added US Treasury endpoints (bill rates, yield curves, long-term rates, real yields)
- Added CBOE index endpoints
- Added Trading Hours marketplace endpoints (markets, lookup, details, status)
- Added ESG/Investverte endpoints (companies, countries, sectors, ratings)
- Added Risk Analytics/illio endpoints (best-and-worst, beta-bands, volatility, volume, performance, risk, categories)
- Added Investment Analytics/PRAAMS endpoints (bank financials, bond/equity analysis, reports, explore)
- Added calendar dividends, bulk fundamentals, SVG logos, US delayed quotes, marketplace tick data
- Formalized Indices tag for S&P/Dow Jones endpoints
- Version bump to 2.0.0
- Initial release
- Complete specification for all 33 EODHD API endpoints
- Modular structure with separate files per endpoint
- 58 schema definitions
- Comprehensive documentation and examples