EODHD News API

Financial news and sentiment analysis

Operations 3

GET /news Retrieve financial news articles #
GET /news-word-weights Top weighted news keywords for a ticker #
GET /sentiments Retrieve market news sentiment data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eodhd-news-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

eodhd-news-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EODHD Financial Data 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: 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
      responses:
        '200':
          description: Weighted keywords for the requested period
          content:
            application/json:
              schema:
                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
              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:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
        '404':
          description: No results found
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  error:
                    type: string
                  message:
                    type: string
      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: 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:
  securitySchemes:
    EODHDQueryKey:
      type: apiKey
      in: query
      name: api_token
      description: EODHD API key (stored as a secret in ChatGPT).