---
title: "Trending countries"
method: GET
path: "/x/stocks/v1/trending/countries"
tags: ["X/Twitter Stocks"]
---

# Trending countries

`GET /x/stocks/v1/trending/countries`

Returns the countries with the strongest aggregated X/Twitter stock discussion in the selected period, ranked by `buzz_score`.

**Includes:**
- `buzz_score`: normalized 0-100 activity score used for ranking
- `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)
- `mentions`, `unique_tickers`, `total_upvotes`: volume and engagement signals
- `sentiment_score`, `bullish_pct`, `bearish_pct`: directional sentiment signals
- `top_tickers`: up to 5 tickers driving the country result
- `trend_history`: independent daily country buzz scores, oldest to newest; length is max(requested days, 7); the live final value describes today so far and can differ from period `buzz_score`

## 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.
- `limit` integer — Maximum number of results
- `offset` integer — Number of items to skip for pagination

## Response `200`

Successful Response

- XTrendingCountry[]
  - `buzz_score` number, nullable, required — Aggregated Buzz Score (0-100) from X mentions
  - `trend` 'rising' | 'falling' | 'stable', required — 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).
  - `mentions` integer, required — Total tweet mentions
  - `unique_tickers` integer, required — Number of unique tickers mentioned
  - `unique_authors` integer, required — Exact distinct author breadth across the selected UTC period
  - `sentiment_score` number, nullable — Weighted average sentiment (-1 bearish to +1 bullish)
  - `bullish_pct` integer, nullable — Percentage of bullish mentions
  - `bearish_pct` integer, nullable — Percentage of bearish mentions
  - `total_upvotes` integer, nullable — Total likes across all mentions
  - `trend_history` number[], required — Daily dimension buzz scores (oldest to newest). Length follows the resolved period, with a minimum of 7 values. Every slot describes only its UTC calendar day. The live final value describes today so far and can differ from period buzz_score. Closed historical windows end at `to`. Historical author breadth is rebuilt from daily author_distribution where available and may conservatively approximate exact cross-ticker author de-duplication.
  - `top_tickers` string[], required — Top 5 tickers by mention count in this dimension
  - `country` string, required — Country name

## Other responses

- `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

---

[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)
