NEWS MENTIONS ACROSS SYMBOLS TRACKED

Stock News
Sentiment API

REST API for traders, fintech apps, and AI agents. Query financial news buzz scores, mentions, source counts, bullish ratios, trend direction, and historical rankings in JSON.

12,000+

Searchable tickers

10m

Update frequency

50+

News sources
Get API Access View News Top 20
The Problem

News moves fast. You can't scan every source manually.

Financial headlines, analyst notes, and market summaries land all day. Important ticker clusters surface and fade within minutes. Reading terminals, publisher homepages, and newsletters one by one is slow and inconsistent.

Too Many Sources

Curated financial news feeds publish thousands of ticker references every day. Manual monitoring does not scale.

Noisy Signals

The same story can be syndicated, reframed, and repeated. Raw headline counts alone are misleading.

No Normalization

You need one normalized score that accounts for both mention volume and source diversity.

How It Works

Three API calls. Complete news sentiment.

Discover what's trending, analyze any ticker in detail, and get AI-powered explanations. RESTful JSON endpoints that integrate into trading bots, dashboards, or research tools.

api-demo.sh
# 1. Discover trending tickers
$ curl api.adanos.org/news/stocks/v1/trending
[{ "ticker": "TSLA", "buzz_score": 87.5, "trend": "rising", "mentions": 342, "source_count": 8 }]
# 2. Analyze specific stock
$ curl api.adanos.org/news/stocks/v1/stock/TSLA
{ "ticker": "TSLA", "buzz_score": 87.5, "trend": "rising", "bullish_pct": 45, "source_count": 8 }
# 3. Understand why it's trending
$ curl api.adanos.org/news/stocks/v1/stock/TSLA/explain
{ "explanation": "Tesla is trending after production headlines and analyst coverage..." }

Update Frequency

News data refreshes every 10 minutes. Trends are calculated on rolling 24h windows.

Source Awareness

Distinct publisher counts are included on trending and detail endpoints so you can separate one-source noise from broad coverage.

Buzz Score Formula

Mention volume, sentiment, source diversity, and momentum combine into one normalized 0-100 score.

Power your trading tools with financial news sentiment

Access structured stock sentiment analytics from 50+ financial news sources, including Reuters, Benzinga, and Finviz, normalized into canonical source ids for trading tools, fintech apps, and research workflows.

  • Curated financial news feeds with source-level aggregation
  • Sentiment scores, buzz scores & trend detection
  • AI-powered trend explanations
  • Compare up to 10 stocks side by side
  • Up to 90 days historical data
  • Free tier: 250 requests/month
  • 12,000+ searchable tickers

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/news/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}

Return the detailed news sentiment report for one stock ticker.

Path Parameters

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

Query Parameters

daysTime period in days (1-30 free, 1-90 paid; default: 7)

Response

{
  "ticker": "TSLA",
  "company_name": "Tesla, Inc.",
  "found": true,
  "buzz_score": 87.5,
  "trend": "rising",
  "total_mentions": 342,
  "sentiment_score": 0.23,
  "bullish_pct": 45,
  "bearish_pct": 18,
  "positive_count": 154,
  "negative_count": 62,
  "neutral_count": 126,
  "source_count": 8,
  "period_days": 7,
  "daily_trend": [
    { "date": "2026-03-05", "mentions": 52, "sentiment": 0.31, "buzz_score": 42.8 },
    { "date": "2026-03-04", "mentions": 48, "sentiment": 0.18, "buzz_score": 38.5 }
  ],
  "top_sources": [
    { "source": "reuters", "count": 89 },
    { "source": "benzinga", "count": 67 }
  ],
  "top_mentions": [
    {
      "text_snippet": "TSLA looking strong after production update...",
      "sentiment_score": 0.85,
      "sentiment_label": "positive",
      "source": "reuters",
      "created_utc": "2026-03-05T10:30:00+00:00"
    }
  ]
}

Response Fields

tickerStock ticker symbol
company_nameCompany name (null if not found)
foundWhether mentions were found
buzz_scoreOverall buzz score (0-100)
trendrising, falling, or stable (rolling 24h window)
total_mentionsTotal number of mentions
sentiment_scoreAverage sentiment (-1 to +1)
bullish_pctPercentage of bullish mentions
bearish_pctPercentage of bearish mentions
positive_countNumber of positive mentions
negative_countNumber of negative mentions
neutral_countNumber of neutral mentions
source_countNumber of sources with mentions
period_daysAnalysis period in days
daily_trendArray of daily mentions, sentiment, and buzz score values
top_sourcesTop sources by mention count
top_mentionsTop recent mentions with source and sentiment labels

Error Codes

404No mentions found for ticker in the specified period
401Missing or invalid API key
GET /v1/stock/{ticker}/explain

Generate or return a cached explanation for why a stock is trending in the news dataset.

Path Parameters

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

Response

{
  "ticker": "TSLA",
  "company_name": "Tesla, Inc.",
  "explanation": "Tesla is trending after a cluster of production headlines and renewed analyst coverage across major finance outlets.",
  "cached": true,
  "generated_at": "2026-03-05T12:30:00+00:00",
  "model": "llama-3.1-8b-instant"
}

Response Fields

tickerStock ticker symbol
company_nameCompany name (null if not found)
explanation1-2 sentence AI-generated summary of why the stock is trending
cachedWhether the response was served from cache
generated_atISO timestamp when the explanation was generated
modelLLM model used for generation (null if unavailable)

Error Codes

404No mentions found for ticker
401Missing or invalid API key
503Explanation service temporarily unavailable
GET /v1/compare

Compare multiple stock tickers side by side using the news sentiment dataset and buzz score model.

Query Parameters

tickersComma-separated list of tickers (max 10, required)
daysTime period in days (1-30 free, 1-90 paid; default: 7)

Response

{
  "period_days": 7,
  "stocks": [
    {
      "ticker": "TSLA",
      "company_name": "Tesla, Inc.",
      "buzz_score": 87.5,
      "mentions": 342,
      "source_count": 8,
      "sentiment": 0.23
    },
    {
      "ticker": "NVDA",
      "company_name": "NVIDIA Corporation",
      "buzz_score": 72.3,
      "mentions": 189,
      "source_count": 6,
      "sentiment": 0.45
    }
  ]
}

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[].mentionsTotal number of mentions
stocks[].source_countNumber of distinct sources with mentions in the period
stocks[].sentimentAverage sentiment (-1 to +1)

Error Codes

400Maximum 10 tickers allowed
401Missing or invalid API key
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.

  • 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. Get in touch →

FAQ

Frequently Asked Questions

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

Which sources do you track?

We ingest curated financial news feeds and canonicalize publishers into source ids. Coverage includes examples such as Reuters, Benzinga, and Finviz, among other finance publishers and market news feeds. That lets you aggregate coverage broadly or filter down to a specific outlet on the supported trending endpoints via the optional source parameter.

How is sentiment calculated?

We use a hybrid VADER + Twitter-RoBERTa model. Each news mention gets a score from -1.0 to +1.0 and a positive, negative, or neutral label, which rolls up into sentiment_score, bullish_pct, and bearish_pct for the selected news window.

How is buzz score calculated?

Buzz score (0-100) combines mention volume, sentiment, source diversity, and momentum into a normalized ranking. For the news dataset, source breadth replaces social engagement as the main quality signal.

How is trend calculated?

Trend compares rolling 24h windows using a weighted activity score: 60% mentions ratio, 25% baseline ratio, and 15% source ratio. Result: rising (>+10%), falling (<-10%), or stable (±10%).

How often is data updated?

The news dataset refreshes every 10 minutes. The public health endpoint exposes freshness and scheduler metadata, and historical data is available for up to 90 days depending on your plan.

What's included in the free tier?

The free tier includes 250 API calls per month, 100 requests per minute, access to all endpoints (trending, stock details, compare, search, explain), and 30 days historical data. Perfect for personal projects and prototyping. Upgrade for unlimited monthly usage and higher per-minute limits.

What format is the API response?

All responses are JSON (UTF-8). The /v1/stock/{ticker} endpoint returns the richest data: daily_trend (per-day breakdown), top_sources (where coverage is concentrated), top_mentions (recent news mentions with source and sentiment labels), and sentiment distribution (positive_count, negative_count, neutral_count).

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.

How does the AI explanation work?

The /v1/stock/{ticker}/explain endpoint uses Groq's llama-3.1-8b-instant model to summarize why a stock is trending in the news dataset. Explanations are cached for 6 hours to keep latency low.

Can I use this for trading decisions?

Our data is for informational purposes only. News sentiment is one signal among many. It reflects media coverage, not intrinsic value or future performance. Always combine it with your own research and risk controls.

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.

Contact Sales