StockData · Capability

StockData API — News

StockData API — News. 7 operations. Lead operation: Get Financial News. Self-contained Naftiko capability covering one Stockdata business surface.

Run with Naftiko StockdataNews

What You Can Do

GET
Getfinancialnews — Get Financial News
/v1/news/all
GET
Getsimilarnews — Get Similar News Articles
/v1/news/similar/{uuid}
GET
Getnewssources — Get News Sources
/v1/news/sources
GET
Getnewsstatsaggregation — Get Entity News Stats Aggregation
/v1/news/stats/aggregation
GET
Getnewsstatsintraday — Get Entity News Stats Intraday
/v1/news/stats/intraday
GET
Gettrendingentities — Get Trending Entities
/v1/news/stats/trending
GET
Getnewsbyuuid — Get News Article By UUID
/v1/news/uuid/{uuid}

MCP Tools

get-financial-news

Get Financial News

read-only idempotent
get-similar-news-articles

Get Similar News Articles

read-only idempotent
get-news-sources

Get News Sources

read-only idempotent
get-entity-news-stats-aggregation

Get Entity News Stats Aggregation

read-only idempotent
get-entity-news-stats-intraday

Get Entity News Stats Intraday

read-only idempotent
get-trending-entities

Get Trending Entities

read-only idempotent
get-news-article-uuid

Get News Article By UUID

read-only idempotent

Capability Spec

stockdata-news.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: StockData API — News
  description: 'StockData API — News. 7 operations. Lead operation: Get Financial News. Self-contained Naftiko capability
    covering one Stockdata business surface.'
  tags:
  - Stockdata
  - News
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    STOCKDATA_API_KEY: STOCKDATA_API_KEY
capability:
  consumes:
  - type: http
    namespace: stockdata-news
    baseUri: https://api.stockdata.org/v1
    description: StockData API — News business capability. Self-contained, no shared references.
    resources:
    - name: news-all
      path: /news/all
      operations:
      - name: getfinancialnews
        method: GET
        description: Get Financial News
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: symbols
          in: query
          type: string
          description: Filter news by comma-separated ticker symbols.
        - name: entity_types
          in: query
          type: string
          description: Filter by entity types (e.g., index, equity, etf).
        - name: industries
          in: query
          type: string
          description: Filter by industry classification.
        - name: countries
          in: query
          type: string
          description: Filter by country code.
        - name: sentiment_gte
          in: query
          type: number
          description: Minimum sentiment score filter.
        - name: sentiment_lte
          in: query
          type: number
          description: Maximum sentiment score filter.
        - name: search
          in: query
          type: string
          description: Full-text search query across article titles and descriptions.
        - name: language
          in: query
          type: string
          description: Filter by language code (e.g., en, de, fr).
        - name: page
          in: query
          type: integer
          description: Page number for pagination.
        - name: limit
          in: query
          type: integer
          description: Number of results per page (max 50).
    - name: news-similar-uuid
      path: /news/similar/{uuid}
      operations:
      - name: getsimilarnews
        method: GET
        description: Get Similar News Articles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: UUID of the reference article.
          required: true
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: symbols
          in: query
          type: string
          description: Filter similar articles by ticker symbols.
        - name: language
          in: query
          type: string
          description: Filter by language code.
    - name: news-sources
      path: /news/sources
      operations:
      - name: getnewssources
        method: GET
        description: Get News Sources
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: distinct_domain
          in: query
          type: boolean
          description: Return only distinct domains.
        - name: language
          in: query
          type: string
          description: Filter sources by language code.
        - name: page
          in: query
          type: integer
          description: Page number for pagination.
    - name: news-stats-aggregation
      path: /news/stats/aggregation
      operations:
      - name: getnewsstatsaggregation
        method: GET
        description: Get Entity News Stats Aggregation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: group_by
          in: query
          type: string
          description: Field to group results by.
        - name: symbols
          in: query
          type: string
          description: Filter by comma-separated ticker symbols.
        - name: sentiment_gte
          in: query
          type: number
          description: Minimum sentiment score filter.
        - name: min_doc_count
          in: query
          type: integer
          description: Minimum number of articles required.
    - name: news-stats-intraday
      path: /news/stats/intraday
      operations:
      - name: getnewsstatsintraday
        method: GET
        description: Get Entity News Stats Intraday
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: interval
          in: query
          type: string
          description: Aggregation interval for the time series.
        - name: group_by
          in: query
          type: string
          description: Field to group results by (e.g., symbol).
        - name: symbols
          in: query
          type: string
          description: Filter by comma-separated ticker symbols.
        - name: sentiment_gte
          in: query
          type: number
          description: Minimum sentiment score filter.
        - name: min_doc_count
          in: query
          type: integer
          description: Minimum number of articles required to include an entity.
    - name: news-stats-trending
      path: /news/stats/trending
      operations:
      - name: gettrendingentities
        method: GET
        description: Get Trending Entities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
        - name: group_by
          in: query
          type: string
          description: Field to group results by.
        - name: sentiment_gte
          in: query
          type: number
          description: Minimum sentiment score filter.
        - name: date_from
          in: query
          type: string
          description: Start date/time for the trending window.
        - name: date_to
          in: query
          type: string
          description: End date/time for the trending window.
        - name: min_doc_count
          in: query
          type: integer
          description: Minimum number of articles required.
    - name: news-uuid-uuid
      path: /news/uuid/{uuid}
      operations:
      - name: getnewsbyuuid
        method: GET
        description: Get News Article By UUID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: uuid
          in: path
          type: string
          description: UUID of the article to retrieve.
          required: true
        - name: api_token
          in: query
          type: string
          description: Your API token from the StockData dashboard.
          required: true
    authentication:
      type: apikey
      key: api_token
      value: '{{env.STOCKDATA_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: stockdata-news-rest
    port: 8080
    description: REST adapter for StockData API — News. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/news/all
      name: news-all
      description: REST surface for news-all.
      operations:
      - method: GET
        name: getfinancialnews
        description: Get Financial News
        call: stockdata-news.getfinancialnews
        with:
          api_token: rest.api_token
          symbols: rest.symbols
          entity_types: rest.entity_types
          industries: rest.industries
          countries: rest.countries
          sentiment_gte: rest.sentiment_gte
          sentiment_lte: rest.sentiment_lte
          search: rest.search
          language: rest.language
          page: rest.page
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/similar/{uuid}
      name: news-similar-uuid
      description: REST surface for news-similar-uuid.
      operations:
      - method: GET
        name: getsimilarnews
        description: Get Similar News Articles
        call: stockdata-news.getsimilarnews
        with:
          uuid: rest.uuid
          api_token: rest.api_token
          symbols: rest.symbols
          language: rest.language
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/sources
      name: news-sources
      description: REST surface for news-sources.
      operations:
      - method: GET
        name: getnewssources
        description: Get News Sources
        call: stockdata-news.getnewssources
        with:
          api_token: rest.api_token
          distinct_domain: rest.distinct_domain
          language: rest.language
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/stats/aggregation
      name: news-stats-aggregation
      description: REST surface for news-stats-aggregation.
      operations:
      - method: GET
        name: getnewsstatsaggregation
        description: Get Entity News Stats Aggregation
        call: stockdata-news.getnewsstatsaggregation
        with:
          api_token: rest.api_token
          group_by: rest.group_by
          symbols: rest.symbols
          sentiment_gte: rest.sentiment_gte
          min_doc_count: rest.min_doc_count
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/stats/intraday
      name: news-stats-intraday
      description: REST surface for news-stats-intraday.
      operations:
      - method: GET
        name: getnewsstatsintraday
        description: Get Entity News Stats Intraday
        call: stockdata-news.getnewsstatsintraday
        with:
          api_token: rest.api_token
          interval: rest.interval
          group_by: rest.group_by
          symbols: rest.symbols
          sentiment_gte: rest.sentiment_gte
          min_doc_count: rest.min_doc_count
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/stats/trending
      name: news-stats-trending
      description: REST surface for news-stats-trending.
      operations:
      - method: GET
        name: gettrendingentities
        description: Get Trending Entities
        call: stockdata-news.gettrendingentities
        with:
          api_token: rest.api_token
          group_by: rest.group_by
          sentiment_gte: rest.sentiment_gte
          date_from: rest.date_from
          date_to: rest.date_to
          min_doc_count: rest.min_doc_count
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/news/uuid/{uuid}
      name: news-uuid-uuid
      description: REST surface for news-uuid-uuid.
      operations:
      - method: GET
        name: getnewsbyuuid
        description: Get News Article By UUID
        call: stockdata-news.getnewsbyuuid
        with:
          uuid: rest.uuid
          api_token: rest.api_token
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: stockdata-news-mcp
    port: 9090
    transport: http
    description: MCP adapter for StockData API — News. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-financial-news
      description: Get Financial News
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getfinancialnews
      with:
        api_token: tools.api_token
        symbols: tools.symbols
        entity_types: tools.entity_types
        industries: tools.industries
        countries: tools.countries
        sentiment_gte: tools.sentiment_gte
        sentiment_lte: tools.sentiment_lte
        search: tools.search
        language: tools.language
        page: tools.page
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-similar-news-articles
      description: Get Similar News Articles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getsimilarnews
      with:
        uuid: tools.uuid
        api_token: tools.api_token
        symbols: tools.symbols
        language: tools.language
      outputParameters:
      - type: object
        mapping: $.
    - name: get-news-sources
      description: Get News Sources
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getnewssources
      with:
        api_token: tools.api_token
        distinct_domain: tools.distinct_domain
        language: tools.language
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-entity-news-stats-aggregation
      description: Get Entity News Stats Aggregation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getnewsstatsaggregation
      with:
        api_token: tools.api_token
        group_by: tools.group_by
        symbols: tools.symbols
        sentiment_gte: tools.sentiment_gte
        min_doc_count: tools.min_doc_count
      outputParameters:
      - type: object
        mapping: $.
    - name: get-entity-news-stats-intraday
      description: Get Entity News Stats Intraday
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getnewsstatsintraday
      with:
        api_token: tools.api_token
        interval: tools.interval
        group_by: tools.group_by
        symbols: tools.symbols
        sentiment_gte: tools.sentiment_gte
        min_doc_count: tools.min_doc_count
      outputParameters:
      - type: object
        mapping: $.
    - name: get-trending-entities
      description: Get Trending Entities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.gettrendingentities
      with:
        api_token: tools.api_token
        group_by: tools.group_by
        sentiment_gte: tools.sentiment_gte
        date_from: tools.date_from
        date_to: tools.date_to
        min_doc_count: tools.min_doc_count
      outputParameters:
      - type: object
        mapping: $.
    - name: get-news-article-uuid
      description: Get News Article By UUID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: stockdata-news.getnewsbyuuid
      with:
        uuid: tools.uuid
        api_token: tools.api_token
      outputParameters:
      - type: object
        mapping: $.