---
title: "Stock Sentiment"
method: GET
path: "/x/stocks/v1/stock/{ticker}"
tags: ["X/Twitter Stocks"]
---

# Stock Sentiment

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

Returns detailed X/Twitter data for a specific ticker.

**Includes:**
- `buzz_score`: normalized X/Twitter activity score for the selected period
- `trend`: activity momentum over the current 3 UTC days vs previous 3 UTC days using mentions, likes and author breadth; not price movement or Grok rank movement. For `from`/`to`, anchors at `to` (or now when `to` is today)
- `sentiment_score`, `bullish_pct`, `bearish_pct`: directional sentiment signals
- `mentions`, `unique_tweets`, `total_upvotes`: volume and engagement signals
- `daily_trend`: daily X/Twitter activity and sentiment values
- `top_tweets`: representative high-engagement tweets from the selected period

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 — Stock ticker symbol (e.g., TSLA, $AAPL, BRK.A)

## 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.
- `days` integer — Deprecated v1 compatibility shorthand. Prefer `from` and `to` for reproducible UTC date windows.

## Response `200`

Successful Response

- XStockDetailResponse — Detailed X/Twitter data for a single stock - unified format matching Reddit API. V5.5: Uses real tweet data from x_mentions table with HHI-based effective author diversity when author_distribution is available.
  - `ticker` string, required — Stock ticker symbol
  - `company_name` string, nullable — Company name from ticker_reference
  - `found` boolean — 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 — V5.5 buzz score from real tweet data using HHI-based author diversity when author_distribution is available, else scaled unique_authors (null if not found)
  - `mentions` integer, nullable — Total tweet mentions within the selected period
  - `sentiment_score` number, nullable — Average sentiment score from tweet analysis (-1 to +1)
  - `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.
  - `total_upvotes` integer, nullable — Total likes across all tweet mentions
  - `unique_tweets` integer, nullable — Number of unique tweets (distinct tweet_id)
  - `trend` 'rising' | 'falling' | 'stable', nullable — Activity momentum over the current 3 UTC days vs previous 3 UTC days using mentions, likes and author breadth; not price movement or Grok rank movement. For `from`/`to`, anchors at `to` (or now when `to` is today).
  - `bullish_pct` integer, nullable — Percentage of bullish tweet mentions
  - `bearish_pct` integer, nullable — Percentage of bearish tweet mentions
  - `period_days` integer, nullable — Analysis period in days
  - `daily_trend` XDailyTrendItem[], nullable — Daily mention breakdown for the selected period
    - `date` string, required — Date in YYYY-MM-DD format
    - `mentions` integer, required — Number of tweet mentions on this date
    - `sentiment_score` number, nullable — Average sentiment score for the day
    - `buzz_score` number, nullable — Buzz score for this date (0-100)
    - `bullish_pct` integer, nullable — Bullish tweet percentage for this date, calculated from positive sentiment-classified tweets
    - `bearish_pct` integer, nullable — Bearish tweet percentage for this date, calculated from negative sentiment-classified tweets
  - `top_tweets` XTopTweet[], nullable — Top tweets from the selected period, ranked by engagement (likes + retweets)
    - `text_snippet` string, required — Clean tweet paragraph around the detected ticker mention (truncated to 280 chars for this view)
    - `sentiment_score` number, nullable — Sentiment score (-1 to +1)
    - `sentiment_label` string, nullable — Sentiment label (positive/negative/neutral)
    - `likes` integer, required — Number of likes
    - `retweets` integer, required — Number of retweets
    - `views` integer, nullable — Number of views
    - `author` string, nullable — Author username
    - `created_at` string, nullable — Tweet creation time (ISO 8601)
  - `top_authors` XTopAuthor[], nullable — Top X authors in the selected period with mentions, sentiment_score, buzz_score and deprecated count alias
    - `author` string, required — Public X/Twitter username
    - `mentions` integer, required — Tweet mentions by this author in the selected period
    - `sentiment_score` number, nullable — Average sentiment score for this author's mentions in the selected period
    - `buzz_score` number, nullable — Contributor-level buzz score for this author in the selected period
    - `count` integer, required — Deprecated alias for mentions. Use mentions instead.

## Other responses

- `401` — Authentication failed
- `403` — Historical data limit exceeded
- `404` — Unsupported ticker
- `422` — Invalid period or query parameters
- `429` — Rate limit exceeded
- `503` — Database temporarily unavailable
- `504` — Analytics request deadline exceeded

---

[API](https://skmtc.net/adanos/apis/adanos-market-sentiment-api.md) · [All operations](https://skmtc.net/adanos/apis/adanos-market-sentiment-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/adanos/adanos-market-sentiment-api/revisions/351caf64ba81/schema)
