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.
| # | Ticker | Company | Buzz | Mentions | Bullish | Trend |
|---|---|---|---|---|---|---|
| Loading trending stocks... | ||||||
This endpoint returns raw JSON for trending tickers, sectors, and countries from the news dataset. Want to compare publisher coverage with social and market signals? See the Reddit Stock Sentiment API, X Stock Sentiment API, and Polymarket Sentiment API.
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.
Curated financial news feeds publish thousands of ticker references every day. Manual monitoring does not scale.
The same story can be syndicated, reframed, and repeated. Raw headline counts alone are misleading.
You need one normalized score that accounts for both mention volume and source diversity.
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.
News data refreshes every 10 minutes. Trends are calculated on rolling 24h windows.
Distinct publisher counts are included on trending and detail endpoints so you can separate one-source noise from broad coverage.
Mention volume, sentiment, source diversity, and momentum combine into one normalized 0-100 score.
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.
Fill out the form below. We'll send you a secure link to retrieve your API key.
We've sent a link to retrieve your API key. The link expires in 24 hours and can only be used once.
RESTful JSON API. All requests require authentication via X-API-Key header. View full documentation → · BuzzScore Whitepaper →
https://api.adanos.org/news/stocks
X-API-Key: sk_live_...
/v1/trending
List trending stocks in the news dataset ranked by news buzz score, with optional asset-type and source filtering.
days | Time period in days (1-30 free, 1-90 paid; default: 1) |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
type | Filter by asset type: stock, etf, or all (default: all) |
source | Optional source filter using a canonical source id or known alias |
[
{
"ticker": "TSLA",
"company_name": "Tesla, Inc.",
"buzz_score": 87.5,
"trend": "rising",
"trend_history": [45.2, 52.1, 48.7, 67.3, 72.1, 78.4, 87.5],
"mentions": 342,
"source_count": 8,
"sentiment_score": 0.23,
"bullish_pct": 45,
"bearish_pct": 18
}
]
ticker | Stock ticker symbol |
company_name | Company name (null if not found) |
buzz_score | Overall buzz score (0-100) |
trend | rising, falling, or stable (rolling 24h window) |
trend_history | Array of daily buzz scores (oldest to newest, minimum 7 days) |
mentions | Total number of mentions |
source_count | Number of distinct news sources with mentions |
sentiment_score | Average sentiment (-1 bearish to +1 bullish) |
bullish_pct | Percentage of bullish mentions |
bearish_pct | Percentage of bearish mentions |
/v1/trending/sectors
List trending sectors in the news dataset ranked by aggregated news buzz and sentiment.
days | Time period in days (1-30 free, 1-90 paid; default: 1) |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
source | Optional source filter using a canonical source id or known alias |
[
{
"sector": "Technology",
"buzz_score": 78.4,
"trend": "rising",
"mentions": 4523,
"unique_tickers": 34,
"source_count": 15,
"sentiment_score": 0.28,
"bullish_pct": 54,
"bearish_pct": 22,
"top_tickers": ["NVDA", "AAPL", "MSFT", "AMD", "GOOGL"]
}
]
sector | Industry sector name |
buzz_score | Aggregated buzz score (0-100) |
trend | rising, falling, or stable |
mentions | Total mentions across all tickers in the sector |
unique_tickers | Number of unique tickers mentioned |
source_count | Number of distinct news sources with mentions |
sentiment_score | Weighted average sentiment (-1 to +1) |
bullish_pct | Percentage of bullish mentions |
bearish_pct | Percentage of bearish mentions |
top_tickers | Top 5 tickers by mention count |
/v1/trending/countries
List trending country exposures in the news dataset ranked by aggregated news buzz and sentiment.
days | Time period in days (1-30 free, 1-90 paid; default: 1) |
limit | Maximum results (1-100, default: 20) |
offset | Skip first N results for pagination (default: 0) |
source | Optional source filter using a canonical source id or known alias |
[
{
"country": "United States",
"buzz_score": 82.3,
"trend": "stable",
"mentions": 8934,
"unique_tickers": 156,
"source_count": 18,
"sentiment_score": 0.21,
"bullish_pct": 48,
"bearish_pct": 26,
"top_tickers": ["NVDA", "TSLA", "AAPL", "AMD", "PLTR"]
}
]
country | Country name |
buzz_score | Aggregated buzz score (0-100) |
trend | rising, falling, or stable |
mentions | Total mentions across all tickers from that country exposure |
unique_tickers | Number of unique tickers mentioned |
source_count | Number of distinct news sources with mentions |
sentiment_score | Weighted average sentiment (-1 to +1) |
bullish_pct | Percentage of bullish mentions |
bearish_pct | Percentage of bearish mentions |
top_tickers | Top 5 tickers by mention count |
/v1/stock/{ticker}
Return the detailed news sentiment report for one stock ticker.
ticker | Stock ticker symbol (1-10 letters, e.g., TSLA or NVDA) |
days | Time period in days (1-30 free, 1-90 paid; default: 7) |
{
"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"
}
]
}
ticker | Stock ticker symbol |
company_name | Company name (null if not found) |
found | Whether mentions were found |
buzz_score | Overall buzz score (0-100) |
trend | rising, falling, or stable (rolling 24h window) |
total_mentions | Total number of mentions |
sentiment_score | Average sentiment (-1 to +1) |
bullish_pct | Percentage of bullish mentions |
bearish_pct | Percentage of bearish mentions |
positive_count | Number of positive mentions |
negative_count | Number of negative mentions |
neutral_count | Number of neutral mentions |
source_count | Number of sources with mentions |
period_days | Analysis period in days |
daily_trend | Array of daily mentions, sentiment, and buzz score values |
top_sources | Top sources by mention count |
top_mentions | Top recent mentions with source and sentiment labels |
404 | No mentions found for ticker in the specified period |
401 | Missing or invalid API key |
/v1/stock/{ticker}/explain
Generate or return a cached explanation for why a stock is trending in the news dataset.
ticker | Stock ticker symbol (1-10 letters, e.g., TSLA) |
{
"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"
}
ticker | Stock ticker symbol |
company_name | Company name (null if not found) |
explanation | 1-2 sentence AI-generated summary of why the stock is trending |
cached | Whether the response was served from cache |
generated_at | ISO timestamp when the explanation was generated |
model | LLM model used for generation (null if unavailable) |
404 | No mentions found for ticker |
401 | Missing or invalid API key |
503 | Explanation service temporarily unavailable |
/v1/search
Search stocks by ticker, company name, or alias within the news platform universe.
q | Search query (ticker or company name, required) |
{
"query": "tesla",
"count": 1,
"results": [
{
"ticker": "TSLA",
"name": "Tesla Inc.",
"aliases": ["Tesla", "Elon"],
"mention_count": 342
}
]
}
query | Original search query |
count | Number of results found |
results | Array of matching stocks |
results[].ticker | Stock ticker symbol |
results[].name | Company name |
results[].aliases | Alternative names or aliases |
results[].mention_count | Total mentions in the dataset |
/v1/compare
Compare multiple stock tickers side by side using the news sentiment dataset and buzz score model.
tickers | Comma-separated list of tickers (max 10, required) |
days | Time period in days (1-30 free, 1-90 paid; default: 7) |
{
"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
}
]
}
period_days | Analysis period in days |
stocks | Array of stock comparison data |
stocks[].ticker | Stock ticker symbol |
stocks[].company_name | Company name (null if not found) |
stocks[].buzz_score | Overall buzz score (0-100) |
stocks[].mentions | Total number of mentions |
stocks[].source_count | Number of distinct sources with mentions in the period |
stocks[].sentiment | Average sentiment (-1 to +1) |
400 | Maximum 10 tickers allowed |
401 | Missing or invalid API key |
All plans include access to the same powerful API.
Perfect for quick tests, API exploration, and early prototypes.
For professional traders, personal trading bots, academic research & side projects
For hedge funds, fintech startups, trading platforms & commercial applications
Non-profit & Education: Free access for qualifying organizations. Get in touch →
Everything you need to know about the Stock News Sentiment API.
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.
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.
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.
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%).
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.
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.
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).
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.
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.
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.
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.