---
title: "Compare stocks"
method: GET
path: "/x/stocks/v1/compare"
tags: ["X/Twitter Stocks"]
---

# Compare stocks

`GET /x/stocks/v1/compare`

## Request

- Base URL: `https://api.adanos.com`
- URL: `https://api.adanos.com/x/stocks/v1/compare`
- Auth: API key in header `X-API-Key`

Compare up to 10 stocks side by side using X/Twitter metrics over the same UTC calendar-day period.

Use it for watchlists: one compact row per ticker.
Results are sorted by `buzz_score` descending and include `trend`, `trend_history`, `mentions`, `unique_tweets`, `sentiment_score`, `bullish_pct`, `bearish_pct` and `total_upvotes`.
`trend` is activity momentum over the current 3 UTC days vs previous 3 UTC days using mentions, likes and author breadth; not price movement. For `from`/`to`, anchors at `to` (or now when `to` is today).
Each requested ticker gets one row. Tickers without activity in the period, including unsupported ones, return zeroed metrics. Unsupported tickers have no company name; use `/search` to check support.

## 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.
- `tickers` string, required: Comma-separated list of ticker symbols (e.g., TSLA,NVDA,AMD)

## Response `200`

Successful Response

- XCompareResponse: Comparison response for multiple X/Twitter stocks.
  - `period_days` integer, required: Analysis period in days
  - `stocks` XCompareStockItem[], required: Stocks sorted by buzz_score descending
    - `ticker` string, required: Stock ticker symbol
    - `company_name` string, nullable: Company name
    - `buzz_score` number, nullable, required: Aggregated Buzz Score (0-100) from X mentions
    - `trend` 'rising' | 'falling' | 'stable', nullable: Activity momentum over the current 3 UTC days vs previous 3 UTC days, not price movement. Null when no qualifying X data exists.
    - `mentions` integer, required: Total tweet mentions
    - `unique_tweets` integer, required: Number of unique tweets mentioning this ticker (distinct tweet_id)
    - `sentiment_score` number, nullable: Average sentiment score from tweet analysis (-1 to +1)
    - `bullish_pct` integer, nullable: Percentage of bullish tweet mentions
    - `bearish_pct` integer, nullable: Percentage of bearish tweet mentions
    - `total_upvotes` integer, required: Total likes across all tweet mentions
    - `trend_history` number[]: Daily buzz history (oldest to newest). Length follows the resolved period, with a minimum of 7 values when data exists. Closed historical windows end at `to`. Empty when no qualifying data exists.

## Other responses

- `400`: Invalid compare item list
- `401`: Authentication failed
- `403`: Historical data limit exceeded
- `422`: Invalid period or query parameters
- `429`: Rate limit exceeded
- `503`: Database temporarily unavailable
- `504`: Analytics request deadline exceeded

## Changes

- **2026-09-30** `a74a23b969c4`: 1 info
  - deleted the `query` request parameter `days` with deprecation

[Operation history](https://skmtc.dev/adanos/apis/adanos-market-sentiment-api/changes/x/stocks/v1/compare/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)
