---
title: "Stock sentiment"
method: GET
path: "/news/stocks/v1/stock/{ticker}"
tags: ["News Stocks"]
---

# Stock sentiment

`GET /news/stocks/v1/stock/{ticker}`

## Request

- Base URL: `https://api.adanos.com`
- URL: `https://api.adanos.com/news/stocks/v1/stock/{ticker}`
- Auth: API key in header `X-API-Key`

Returns the news report for one stock ticker.

**Includes:**
- `buzz_score`: normalized news activity score for the selected period
- `trend`: activity momentum over the current 3 UTC days vs previous 3 UTC days using mentions/articles and source breadth; not price movement. For `from`/`to`, anchors at `to` (or now when `to` is today)
- `sentiment_score`, `bullish_pct`, `bearish_pct`: directional sentiment signals
- `mentions`, `source_count`: coverage volume and source breadth signals
- `daily_trend`: daily news activity and sentiment values
- `top_mentions`: representative recent articles from the selected period, with source attribution
- `top_sources`: top source contributors by mention count

Returns `200` with `found: false` when the ticker is supported but this service
has no qualifying data in the requested window. Returns `404` only when the
ticker is unsupported.

## Path parameters

- `ticker` string, required: News company key: 1-32 ASCII letters/digits with an optional documented venue suffix, case-insensitive. Examples: BRK, EADSY, ABX.DE. Share classes (BRK.A, BRK.B, BRK-B), hyphens, ampersands, cashtags and unknown suffixes return 422. A documented suffix resolves only if assigned to that issuer; other well-formed keys return 404 on individual endpoints. One issuer is one time series; ETFs stay separate issuers. Venue suffixes: .AE, .AS, .AT, .AX, .BA, .BD, .BK, .BO, .BR, .CA, .CL, .CN, .CO, .DE, .DU, .F, .HA, .HE, .HK, .HM, .IC, .IR, .IS, .JK, .JO, .KL, .KQ, .KS, .KW, .L, .LS, .MC, .MI, .MU, .MX, .NE, .NS, .NZ, .OL, .PA, .PR, .PS, .QA, .RO, .SA, .SAU, .SG, .SI, .SN, .SS, .ST, .SW, .SZ, .T, .TA, .TO, .TW, .TWO, .V, .VI, .VN, .WA.

## Query parameters

- `from` string, date, nullable: Start date in YYYY-MM-DD. Inclusive UTC date.
- `to` string, date, nullable: End date in YYYY-MM-DD. Inclusive UTC date. Omit to use the current UTC date.

## Response `200`

Successful Response

- NewsStockSentiment: Detailed sentiment analysis for a specific stock ticker from news mentions.
  - `ticker` string, required: Stock ticker symbol
  - `company_name` string, nullable: Company or fund name from resolved instrument metadata or the Legacy reference (null if unavailable)
  - `found` boolean, required: Legacy v1 data-availability flag. `true` means this service has qualifying data for this asset/window. `false` means the asset is supported, but this service has no qualifying data for the requested window. Planned for removal in v2.
  - `buzz_score` number, nullable: Buzz Score (0-100). Asymptotic scaling above 50.
  - `mentions` integer, nullable: Total mentions in the selected period
  - `sentiment_score` number, nullable: Average sentiment score (-1 bearish to +1 bullish)
  - `positive_count` integer, nullable: Deprecated. Prefer bullish_pct with mentions for public analysis; retained for v1 compatibility.
  - `negative_count` integer, nullable: Deprecated. Prefer bearish_pct with mentions for public analysis; retained for v1 compatibility.
  - `neutral_count` integer, nullable: Deprecated. Prefer bullish_pct, bearish_pct and mentions for public analysis; retained for v1 compatibility.
  - `source_count` integer, nullable: Number of sources with mentions
  - `trend` 'rising' | 'falling' | 'stable', nullable: Activity momentum over the current 3 UTC days vs previous 3 UTC days using mentions/articles and source breadth; not price movement. For `from`/`to`, anchors at `to` (or now when `to` is today).
  - `bullish_pct` integer, nullable: Percentage of bullish mentions
  - `bearish_pct` integer, nullable: Percentage of bearish mentions
  - `period_days` integer, nullable: Analysis period in days
  - `top_sources` NewsSourceCount[], nullable: Top sources by mention count
    - `source` string, required: News source identifier
    - `mentions` integer, required: Mentions from this source
    - `sentiment_score` number, nullable: Average sentiment score for this source in the selected period
    - `buzz_score` number, nullable: Contributor-level buzz score for this source in the selected period
    - `count` integer, required: Deprecated alias for mentions. Use mentions instead.
  - `daily_trend` DailyTrendItem[], nullable: Daily mention breakdown for the selected period, with sentiment and buzz_score
    - `date` string, date, required: Date in YYYY-MM-DD format
    - `mentions` integer, required: Attributed mention count for this date, including inherited thread-context mentions
    - `sentiment_score` number, nullable: Average sentiment score for this date
    - `buzz_score` number, nullable: Buzz score for this date (0-100); null until the day is aggregated, while the activity fields are already filled
    - `bullish_pct` integer, nullable: Bullish mention percentage for this date, calculated from positive sentiment-classified mentions
    - `bearish_pct` integer, nullable: Bearish mention percentage for this date, calculated from negative sentiment-classified mentions
  - `top_mentions` NewsTopMention[], nullable: Top news mentions from the selected period, ranked by recency
    - `text_snippet` string, required: Excerpt from the mention
    - `sentiment_score` number, required: Sentiment score (-1 to +1)
    - `sentiment_label` string, required: Sentiment label (positive/negative/neutral)
    - `source` string, required: Source publication identifier
    - `created_utc` string, required: ISO timestamp of creation

## Other responses

- `401`: Authentication failed
- `403`: Historical data limit exceeded
- `404`: Unsupported ticker
- `422`: Invalid period or query parameters
- `429`: Rate limit exceeded
- `503`: News identity lookup or database service unavailable; no Legacy fallback is used
- `504`: Analytics request deadline exceeded

## Changes

- **2026-09-30** `a74a23b969c4`: 1 info
  - deleted the `query` request parameter `days` with deprecation
- **2026-09-28** `559b660fa744`: 1 warning
  - changed the pattern of the `path` request parameter `ticker` from `^(?=[A-Za-z0-9]{1,32}$)[A-Za-z0-9]+$(?![\s\S])` to `^(?=[A-Za-z0-9.]{1,32}$)[A-Za-z0-9]+(?:\.(?:[Aa][Ee]|[Aa][Ss]|[Aa][Tt]|[Aa][Xx]|[Bb][Aa]|[Bb][Dd]|[Bb][Kk]|[Bb][Oo]|[Bb][Rr]|[Cc][Aa]|[Cc][Ll]|[Cc][Nn]|[Cc][Oo]|[Dd][Ee]|[Dd][Uu]|[Ff]|[Hh][Aa]|[Hh][Ee]|[Hh][Kk]|[Hh][Mm]|[Ii][Cc]|[Ii][Rr]|[Ii][Ss]|[Jj][Kk]|[Jj][Oo]|[Kk][Ll]|[Kk][Qq]|[Kk][Ss]|[Kk][Ww]|[Ll]|[Ll][Ss]|[Mm][Cc]|[Mm][Ii]|[Mm][Uu]|[Mm][Xx]|[Nn][Ee]|[Nn][Ss]|[Nn][Zz]|[Oo][Ll]|[Pp][Aa]|[Pp][Rr]|[Pp][Ss]|[Qq][Aa]|[Rr][Oo]|[Ss][Aa]|[Ss][Aa][Uu]|[Ss][Gg]|[Ss][Ii]|[Ss][Nn]|[Ss][Ss]|[Ss][Tt]|[Ss][Ww]|[Ss][Zz]|[Tt]|[Tt][Aa]|[Tt][Oo]|[Tt][Ww]|[Tt][Ww][Oo]|[Vv]|[Vv][Ii]|[Vv][Nn]|[Ww][Aa]))?$(?![\s\S])`
- **2026-09-16** `a8567b417bda`: 1 warning
  - changed the pattern of the `path` request parameter `ticker` from `^(?=[A-Za-z0-9.]{1,10}$)[A-Za-z0-9]+(?:\.(?:[Cc][Nn]|[Dd][Ee]|[Nn][Ee]|[Tt][Oo]|[Vv]|[Ww][Aa]))?$(?![\s\S])` to `^(?=[A-Za-z0-9]{1,32}$)[A-Za-z0-9]+$(?![\s\S])`
- …earlier changes not shown

[Operation history](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/changes/news/stocks/v1/stock/:ticker/get.md)

---

[API](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api.md) - [All operations](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/revisions/7e8bdb1e7e75?raw)
