EOD Historical Data News API
Financial news and sentiment analysis
Financial news and sentiment analysis
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-news-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 News 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: News
description: Financial news and sentiment analysis
paths:
/news:
get:
summary: Retrieve financial news articles
description: Retrieve financial news articles for a specific company ticker or topic
operationId: GetFinancialNews
parameters:
- name: s
in: query
required: false
description: Ticker code to get news for (e.g., 'AAPL.US'). Required if 't' is not provided.
schema:
type: string
- name: t
in: query
required: false
description: Tag to get news on a given topic. Required if 's' is not provided.
schema:
type: string
- name: api_token
in: query
required: true
description: API token for authentication
schema:
type: string
- name: from
in: query
required: false
description: Start date for news data (YYYY-MM-DD)
schema:
type: string
format: date
- name: to
in: query
required: false
description: End date for news data (YYYY-MM-DD)
schema:
type: string
format: date
- name: limit
in: query
required: false
description: The number of results to return
schema:
type: integer
default: 50
minimum: 1
maximum: 1000
- name: offset
in: query
required: false
description: The offset of the data
schema:
type: integer
default: 0
minimum: 0
- name: fmt
in: query
required: false
description: Response format (e.g., 'json')
schema:
type: string
enum:
- json
responses:
'200':
description: Successful response with financial news articles
content:
application/json:
schema:
type: array
items:
type: object
properties:
date:
type: string
format: date-time
title:
type: string
content:
type: string
link:
type: string
format: uri
symbols:
type: array
items:
type: string
tags:
type: array
items:
type: string
sentiment:
type: object
properties:
polarity:
type: number
neg:
type: number
neu:
type: number
pos:
type: number
example:
- date: '2024-06-05T20:35:00+00:00'
title: Usher and Apple CEO Tim Cook had a meeting...
content: Usher has some suggestions for Apple CEO Tim Cook...
link: https://finance.yahoo.com/news/usher-apple-ceo-tim-cook-203500033.html
symbols:
- AAPL.US
tags: []
sentiment:
polarity: 0.997
neg: 0.024
neu: 0.871
pos: 0.105
- date: '2024-06-05T20:33:57+00:00'
title: 'The 2030''s Millionaire Club: 3 Hyper-Growth Stocks to Buy Now'
content: Hyper-growth stocks offer excitement...
link: https://finance.yahoo.com/news/2030-millionaire-club-3-hyper-203357155.html
symbols:
- AAPL.US
- NVDA.US
- PLTR.US
tags: []
sentiment:
polarity: 1
neg: 0.018
neu: 0.781
pos: 0.202
'400':
description: Invalid request parameters
'401':
description: Unauthorized
'404':
description: No news articles found
tags:
- News
/news-word-weights:
get:
summary: Top weighted news keywords for a ticker
description: Returns the most relevant words from financial news for the given ticker and period, with weights (frequency ? significance).
operationId: getNewsWordWeights
parameters:
- name: s
in: query
required: true
description: Ticker to analyze, e.g., AAPL or AAPL.US
schema:
type: string
- name: filter[date_from]
in: query
required: false
description: Start date (YYYY-MM-DD)
schema:
type: string
format: date
- name: filter[date_to]
in: query
required: false
description: End date (YYYY-MM-DD). Prefer this over the legacy alias `filter[to]`.
schema:
type: string
format: date
- name: filter[to]
in: query
required: false
deprecated: true
description: Deprecated alias for `filter[date_to]` (YYYY-MM-DD). Use only one of these parameters.
schema:
type: string
format: date
- name: page[limit]
in: query
required: false
description: Number of top words to return
schema:
type: integer
minimum: 1
maximum: 500
default: 10
- name: fmt
in: query
required: false
description: Response format
schema:
type: string
enum:
- json
- xml
default: json
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
responses:
'200':
description: Weighted keywords for the requested period
content:
application/json:
schema:
$ref: '#/components/schemas/WordWeightsResponse'
examples:
sample:
summary: AAPL example (2025-04-08 > 2025-04-16, top-10)
value:
data:
appl: 0.01922
tariff: 0.01889
stock: 0.01884
trump: 0.01115
companies: 0.00983
market: 0.00919
china: 0.0079
trade: 0.00723
ai: 0.00605
price: 0.00577
meta:
news_processed: 300
news_found: 5748
links:
next: ''
'400':
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: No results found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
tags:
- News
/sentiments:
get:
summary: Retrieve market news sentiment data
description: Retrieve sentiment analysis for financial news related to specified tickers.
operationId: GetSentimentData
parameters:
- name: s
in: query
required: true
description: Comma-separated list of ticker codes to retrieve sentiment data for (e.g., 'btc-usd.cc,aapl.us').
schema:
type: string
- name: api_token
in: query
required: true
description: API token for authentication.
schema:
type: string
- name: from
in: query
required: false
description: Start date for sentiment data (YYYY-MM-DD).
schema:
type: string
format: date
- name: to
in: query
required: false
description: End date for sentiment data (YYYY-MM-DD).
schema:
type: string
format: date
- name: fmt
in: query
required: false
description: Response format (only 'json' is supported).
schema:
type: string
enum:
- json
responses:
'200':
description: Successful response with sentiment data by ticker.
content:
application/json:
schema:
type: object
properties:
ticker:
type: object
additionalProperties:
type: array
items:
type: object
properties:
date:
type: string
format: date
count:
type: integer
description: Number of articles or mentions analyzed for the given date.
normalized:
type: number
minimum: -1
maximum: 1
description: Normalized sentiment score, where -1 represents a very negative sentiment, 0 is neutral, and 1 is very positive.
required:
- date
- count
- normalized
example:
ticker:
BTC-USD.CC:
- date: '2022-02-22'
count: 8
normalized: -0.1811
- date: '2022-02-21'
count: 5
normalized: 0.2824
AAPL.US:
- date: '2022-02-22'
count: 23
normalized: 0.6152
- date: '2022-02-21'
count: 23
normalized: 0.3668
'400':
description: Invalid request parameters.
'401':
description: Unauthorized. Invalid or missing API token.
'404':
description: No sentiment data found for specified tickers or date range.
tags:
- News
components:
schemas:
WordWeightsResponse:
type: object
required:
- data
- meta
- links
properties:
data:
type: object
description: Map of keyword â weight
additionalProperties:
type: number
meta:
type: object
required:
- news_found
- news_processed
properties:
news_found:
type: integer
minimum: 0
news_processed:
type: integer
minimum: 0
additionalProperties: false
links:
type: object
required:
- next
properties:
next:
type:
- string
- 'null'
description: URL for the next page, or null
additionalProperties: false
additionalProperties: false
Error:
type: object
properties:
status:
type: integer
error:
type: string
message:
type: string
securitySchemes:
EODHDQueryKey:
type: apiKey
in: query
name: api_token
description: EODHD API key (stored as a secret in ChatGPT).