MENTIONS ACROSS SYMBOLS TODAY

X Stock
Sentiment API

JSON API for traders, fintech apps, dashboards and AI agents. Pull FinTwit buzz scores, mentions, bullish ratios, trend direction and historical rankings via REST.

12,000+

Tickers monitored

1h

Update frequency

Grok

AI-powered analysis
Get API Key View X Top 20
The Problem

FinTwit moves fast. You can't track it manually.

Traders share ideas across thousands of accounts. Trending tickers surface and fade within hours. Scanning cashtags and influencer posts takes time and you still miss signals from smaller accounts.

Too Many Sources

Thousands of FinTwit accounts posting daily. Impossible to track manually.

Noisy Signals

Hype, bots and duplicate posts make raw cashtag counts unreliable.

No Normalization

You need a single score to compare $TSLA buzz vs $PLTR buzz objectively.

The Solution

How It Works

REST endpoints that fit into any trading workflow, from single-ticker analysis to market-wide sentiment snapshots. Grok-powered analysis from X with cross-platform Reddit validation.

api-demo.sh
# 1. Discover trending tickers
$ curl api.adanos.org/x/stocks/v1/trending
[{ "ticker": "TSLA", "buzz_score": 100, "trend": "rising", "is_validated": true }]
# 2. Analyze specific stock
$ curl api.adanos.org/x/stocks/v1/stock/TSLA
{ "ticker": "TSLA", "buzz_score": 100, "trend": "rising", "bullish_pct": 72 }
# 3. Cross-platform validation
$ curl api.adanos.org/reddit/stocks/v1/stock/TSLA
{ "ticker": "TSLA", "sentiment_score": 0.23, "bullish_pct": 68, "source": "reddit" }

Update Frequency

Grok analysis fetched hourly from X. Trends calculated on rolling 24h windows.

Cross-Platform Validation

Tickers trending on both X and Reddit are flagged for higher confidence signals.

Buzz Score Formula

Grok ranking, mention frequency and trend momentum combined into one 0-100 score.

Power your trading tools with X sentiment data

Integrate X/Twitter trending data into your trading algorithms, dashboards, or research tools. Our API provides clean, structured data updated every 60 minutes.

  • Top 100 trending tickers from FinTwit
  • Buzz scores & trend detection
  • Cross-platform validation with Reddit
  • Grok-powered analysis from X/Twitter
  • Free tier: 250 requests/month
  • 12,000+ tickers monitored hourly and growing
  • Reddit Stock Sentiment API also available

Request API Access

Fill out the form below. We'll send you a secure link to retrieve your API key.

Check your email

We've sent a link to retrieve your API key. The link expires in 24 hours and can only be used once.

Endpoints

RESTful JSON API. All requests require authentication via X-API-Key header. View full documentation → · BuzzScore Whitepaper →

Base URL

https://api.adanos.org/x/stocks

Authentication

X-API-Key: sk_live_...

Rate Limit

Free: 100 requests/minute · 250 requests/month
Paid: 1000 requests/minute · unlimited requests/month

Response Format

JSON (UTF-8)
GET /v1/stock/{ticker}

Returns X/Twitter trending data for a specific ticker including buzz score, sentiment metrics and daily trend history.

Path Parameters

tickerStock ticker symbol (1-10 uppercase letters, e.g., TSLA)

Query Parameters

daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7)

Response

{
  "ticker": "TSLA",
  "company_name": "Tesla, Inc.",
  "found": true,
  "buzz_score": 72.5,
  "trend": "rising",
  "mentions": 156,
  "sentiment_score": 0.35,
  "bullish_pct": 45,
  "bearish_pct": 12,
  "positive_count": 70,
  "negative_count": 19,
  "neutral_count": 67,
  "total_upvotes": 2847,
  "unique_tweets": 42,
  "period_days": 7,
  "is_validated": true,
  "daily_trend": [
    { "date": "2025-12-28", "mentions": 42, "sentiment_score": 0.15, "buzz_score": 52.3, "avg_rank": 3.5 },
    { "date": "2025-12-27", "mentions": 38, "sentiment_score": 0.22, "buzz_score": 48.1, "avg_rank": 5.2 }
  ],
  "top_tweets": [
    {
      "text_snippet": "$TSLA breaking out! 🚀",
      "sentiment_score": 0.85,
      "sentiment_label": "positive",
      "likes": 1247,
      "retweets": 89,
      "views": 52340,
      "author": "stockguru",
      "created_at": "2025-12-28T14:32:00Z"
    }
  ]
}

Response Fields

tickerStock ticker symbol
company_nameCompany name (null if not found)
foundWhether ticker was found in X trending
buzz_scoreBuzz score (0-100, null if not found)
trendrising, falling, or stable (rolling 24h window)
mentionsTotal tweet mentions in the period
sentiment_scoreAverage sentiment (-1 to +1, null if unavailable)
bullish_pctPercentage of bullish mentions (0-100, null if unavailable)
bearish_pctPercentage of bearish mentions (0-100, null if unavailable)
positive_countNumber of bullish mentions (null if unavailable)
negative_countNumber of bearish mentions (null if unavailable)
neutral_countNumber of neutral mentions (null if unavailable)
total_upvotesTotal likes across mentions (null if unavailable)
unique_tweetsNumber of unique tweets (null if unavailable)
period_daysTime period analyzed
is_validatedWhether ticker is also trending on Reddit
daily_trendArray of daily data with date, mentions, sentiment_score, buzz score and avg_rank
top_tweetsTop tweets by engagement with likes, retweets and sentiment labels

Error Codes

401Missing or invalid API key
GET /v1/stock/{ticker}/explain

Returns an AI-generated summary of why a ticker is trending on X/Twitter, based on recent FinTwit activity.

Path Parameters

tickerStock ticker symbol (1-10 uppercase letters, e.g., TSLA)

Response

{
  "ticker": "TSLA",
  "explanation": "Tesla is trending on X as traders discuss delivery expectations, options flow and renewed momentum in large-cap growth names."
}

Response Fields

tickerStock ticker symbol
explanationConcise AI-generated X/Twitter trend explanation

Error Codes

401Missing or invalid API key
404No explanation available for this ticker
GET /v1/compare

Compare sentiment metrics for up to 10 stocks side by side using X/Twitter data.

Query Parameters

tickersComma-separated list of tickers (max 10, required)
daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7)

Response

{
  "period_days": 7,
  "stocks": [
    {
      "ticker": "TSLA",
      "company_name": "Tesla, Inc.",
      "buzz_score": 72.5,
      "trend": "rising",
      "mentions": 156,
      "unique_tweets": 42,
      "sentiment_score": 0.35,
      "bullish_pct": 45,
      "bearish_pct": 12,
      "total_upvotes": 2847
    },
    {
      "ticker": "NVDA",
      "company_name": "NVIDIA Corporation",
      "buzz_score": 85.2,
      "trend": "stable",
      "mentions": 121,
      "unique_tweets": 31,
      "sentiment_score": 0.29,
      "bullish_pct": 41,
      "bearish_pct": 15,
      "total_upvotes": 1985
    }
  ]
}

Response Fields

period_daysAnalysis period in days
stocksArray of stock comparison data
stocks[].tickerStock ticker symbol
stocks[].company_nameCompany name (null if not found)
stocks[].buzz_scoreOverall buzz score (0-100)
stocks[].trendRecent activity trend
stocks[].mentionsTotal number of X mentions
stocks[].unique_tweetsDistinct tweet count in the selected period
stocks[].sentiment_scoreAverage sentiment (-1 to +1)
stocks[].bullish_pctPercentage of bullish mentions
stocks[].bearish_pctPercentage of bearish mentions
stocks[].total_upvotesTotal likes across all mentions

Error Codes

400Maximum 10 tickers allowed
401Missing or invalid API key
GET /v1/market-sentiment

Returns a market-wide X/Twitter sentiment snapshot with aggregate FinTwit activity, author breadth and the tickers currently driving the conversation.

Query Parameters

daysTime period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 1)

Response

{
  "buzz_score": 61.7,
  "trend": "rising",
  "mentions": 9210,
  "unique_tweets": 2814,
  "unique_authors": 1649,
  "total_upvotes": 149320,
  "active_tickers": 236,
  "sentiment_score": 0.21,
  "positive_count": 3776,
  "negative_count": 1542,
  "neutral_count": 3892,
  "bullish_pct": 41,
  "bearish_pct": 17,
  "trend_history": [49.4, 52.1, 54.2, 56.9, 58.5, 60.3, 61.7],
  "drivers": [
    { "ticker": "TSLA", "mentions": 156, "buzz_score": 72.5, "sentiment_score": 0.35 },
    { "ticker": "NVDA", "mentions": 121, "buzz_score": 85.2, "sentiment_score": 0.29 }
  ]
}

Response Fields

buzz_scoreRelative FinTwit heat vs. the trailing 90-day X stocks baseline (~50 is normal)
trendrising, falling, or stable for the aggregate X market snapshot
mentionsTotal ticker mentions across the selected window
unique_tweetsNumber of distinct tweets represented in the aggregate snapshot
unique_authorsNumber of distinct authors contributing to the aggregate snapshot
total_upvotesTotal likes across all matched tweets
active_tickersNumber of tickers active in the selected window
sentiment_scoreAverage sentiment across all matched X mentions (-1 to +1)
positive_countNumber of bullish mentions in the aggregate window
negative_countNumber of bearish mentions in the aggregate window
neutral_countNumber of neutral mentions in the aggregate window
bullish_pctPercentage of bullish mentions across the whole X stocks universe
bearish_pctPercentage of bearish mentions across the whole X stocks universe
trend_historyDaily aggregate buzz-score history (oldest to newest)
driversTop tickers currently driving the broader X market mood
Pricing

Simple, transparent pricing

All plans include access to the same powerful API.

Free

$0 /month

Perfect for quick tests, API exploration and early prototypes. No credit card required.

  • 100 requests/minute
  • 250 requests/month
  • Access to all API endpoints
  • 30 days historical data
  • Community support
Non-commercial use only
Get Started

Hobby

$19.99 /month

For professional traders, personal trading bots, academic research & side projects

  • 1000 requests/minute
  • Unlimited requests/month
  • Access to all API endpoints
  • 90 days historical data
  • Email support
Non-commercial use only
Get Hobby

Non-profit & Education: Free access for qualifying organizations. Learn more →

FAQ

Frequently Asked Questions

Everything you need to know about the X Stock Sentiment API.

What data sources do you track?

We use a two-layer pipeline for X/Twitter. Grok identifies which cashtags ($TSLA, $NVDA, etc.) are currently trending, then we enrich those symbols with real tweets and direct replies collected from FinTwit via twscrape. This includes posts from traders, financial news sources, influential accounts and broader market discussions.

How is sentiment calculated?

We use a hybrid VADER + Twitter-RoBERTa model, with VADER enhanced by a finance-specific lexicon of terms like moon, tendies, bearish and short squeeze. Emojis are also analyzed, such as 🚀, 🐻 and 💎🙌. Scores range from -1.0 (bearish) to +1.0 (bullish) and bullish_pct / bearish_pct show the positive/negative share. Non-English tweets are usually skipped.

How is buzz score calculated?

Buzz score (0-100) combines five weighted factors from real tweet data: mentions (20), sentiment (20), quality (10), author diversity (14, HHI-based) and trend (-10 to +20). Scores above 50 use asymptotic scaling to prevent ceiling clustering.

How is trend calculated?

Trend compares rolling 24h windows based on X ranking history. Result: rising (>+10% improvement vs 24h ago), falling (<-10% decline), or stable (within ±10%). The trend_history array shows daily buzz scores for the past 7 days.

How often is data updated?

Grok analysis is fetched hourly from X/Twitter. Trends are calculated on rolling 24h windows. Historical data is available for up to 365 days.

What's included in the free tier?

The free tier includes 250 API calls per month, 100 requests per minute, access to all endpoints including the market-wide sentiment snapshot and 30 days historical data. Perfect for personal projects and prototyping. Paid plans extend historical access up to 365 days.

What format is the API response?

All responses are JSON (UTF-8). The /v1/stock/{ticker} endpoint returns detailed per-ticker data: daily_trend, sentiment metrics and cross-platform validation status. For a broader view, /v1/market-sentiment returns aggregate buzz, author breadth and the tickers driving the current FinTwit mood.

Is there rate limiting?

Yes. Free tier keys are limited to 100 requests per minute and 250 requests per month. Paid tiers allow 1000 requests per minute with unlimited monthly usage. Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response. Exceeding limits returns HTTP 429.

What is cross-platform validation?

Tickers that appear on both X/Twitter and Reddit trending lists are marked as is_validated: true. This provides higher confidence that a stock is genuinely trending across multiple platforms, filtering out platform-specific noise.

Can I use this for trading decisions?

Our data is for informational purposes only. Sentiment is one signal among many. It reflects social media discussion, not institutional activity or fundamentals. Many traders use it as a contrarian indicator or for timing. Past sentiment is not indicative of future performance. Always do your own research.

For Professionals

Need more API requests?

Running a hedge fund, building a fintech product, or need high-volume access for your trading platform? Our Enterprise plan offers significantly higher rate limits for professional use cases.

View Pricing