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, monitor the market-wide news mood and get AI-powered explanations. RESTful JSON endpoints that integrate into trading bots, dashboards, or research tools.
News data refreshes every 10 minutes. Today shows coverage so far, while trends are calculated on rolling 24h windows.
Distinct publisher counts are included on trending, detail and market-sentiment 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 (Free: 1-30, Hobby: 1-90, Professional: 1-365; 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 (Free: 1-30, Hobby: 1-90, Professional: 1-365; 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 (Free: 1-30, Hobby: 1-90, Professional: 1-365; 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 (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7) |
{
"ticker": "TSLA",
"company_name": "Tesla, Inc.",
"found": true,
"buzz_score": 87.5,
"trend": "rising",
"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_score": 0.31, "buzz_score": 42.8 },
{ "date": "2026-03-04", "mentions": 48, "sentiment_score": 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) |
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_score 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,
"period_days": 7,
"results": [
{
"ticker": "TSLA",
"name": "Tesla Inc.",
"type": "Stock",
"exchange": "NASDAQ",
"sector": "Consumer Discretionary",
"country": "United States",
"aliases": ["Tesla", "Elon"],
"summary": {
"mentions": 342,
"buzz_score": 87.5,
"trend": "rising",
"sentiment_score": 0.23,
"bullish_pct": 45,
"bearish_pct": 18,
"source_count": 8
}
}
]
}
query | Original search query |
count | Number of results found |
period_days | Lookback window used for each summary block |
results | Array of matching stocks |
results[].ticker | Stock ticker symbol |
results[].name | Company name |
results[].type | Asset type (e.g., Stock, ETF) |
results[].exchange | Exchange (e.g., NASDAQ, NYSE) |
results[].sector | Industry sector |
results[].country | Country of headquarters |
results[].aliases | Alternative names or aliases |
results[].summary | Recent-period news summary for the matching asset |
results[].summary.mentions | Mentions in the selected period |
results[].summary.sentiment_score | Average sentiment in the selected period |
results[].summary.source_count | Distinct publisher count in the selected period |
/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 (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 7) |
{
"period_days": 7,
"stocks": [
{
"ticker": "TSLA",
"company_name": "Tesla, Inc.",
"buzz_score": 87.5,
"trend": "rising",
"mentions": 342,
"source_count": 8,
"sentiment_score": 0.23,
"bullish_pct": 45,
"bearish_pct": 18
},
{
"ticker": "NVDA",
"company_name": "NVIDIA Corporation",
"buzz_score": 72.3,
"trend": "stable",
"mentions": 189,
"source_count": 6,
"sentiment_score": 0.45,
"bullish_pct": 51,
"bearish_pct": 16
}
]
}
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[].trend | Recent activity trend |
stocks[].mentions | Total number of mentions |
stocks[].source_count | Number of distinct sources with mentions in the period |
stocks[].sentiment_score | Average sentiment (-1 to +1) |
stocks[].bullish_pct | Percentage of bullish mentions |
stocks[].bearish_pct | Percentage of bearish mentions |
400 | Maximum 10 tickers allowed |
401 | Missing or invalid API key |
/v1/market-sentiment
Returns a one-request snapshot of the full stock news dataset, including aggregate coverage intensity, publisher breadth, sentiment balance and the tickers driving headlines.
days | Time period in days (Free: 1-30, Hobby: 1-90, Professional: 1-365; default: 1) |
{
"buzz_score": 58.6,
"trend": "stable",
"mentions": 6408,
"unique_articles": 3917,
"source_count": 214,
"active_tickers": 287,
"sentiment_score": 0.12,
"positive_count": 2098,
"negative_count": 1236,
"neutral_count": 3074,
"bullish_pct": 33,
"bearish_pct": 19,
"trend_history": [51.8, 53.4, 54.1, 55.3, 56.8, 57.9, 58.6],
"drivers": [
{ "ticker": "TSLA", "mentions": 342, "buzz_score": 87.5, "sentiment_score": 0.23 },
{ "ticker": "NVDA", "mentions": 189, "buzz_score": 72.3, "sentiment_score": 0.45 }
]
}
buzz_score | Relative news-market heat vs. the trailing 90-day news stocks baseline (~50 is normal) |
trend | rising, falling, or stable for the aggregate news snapshot |
mentions | Total stock news mentions across the selected window |
unique_articles | Number of distinct articles represented in the aggregate snapshot |
source_count | Number of distinct publishers contributing to the aggregate snapshot |
active_tickers | Number of tickers active in the selected window |
sentiment_score | Average sentiment across all matched articles (-1 to +1) |
positive_count | Number of bullish mentions in the aggregate window |
negative_count | Number of bearish mentions in the aggregate window |
neutral_count | Number of neutral mentions in the aggregate window |
bullish_pct | Percentage of bullish mentions across the whole news universe |
bearish_pct | Percentage of bearish mentions across the whole news universe |
trend_history | Daily aggregate buzz-score history (oldest to newest) |
drivers | Top tickers currently driving market-wide news coverage |
/v1/stock/{ticker}/mentions
Pro
Returns raw news mention rows for one ticker within the live raw-data retention window. Use it when you need article-level snippets, original timestamps and publisher-level evidence behind the aggregate sentiment view.
days | Raw mention lookback window in days (Professional only, 1-90; default: 7) |
limit | Maximum raw rows to return (1-100, default: 50) |
{
"ticker": "AAPL",
"period_days": 7,
"count": 1,
"results": [
{
"article_id": "news-123",
"source": "reuters",
"url": "https://example.com/article",
"title": "Apple supplier outlook lifts sentiment",
"summary": "Suppliers signaled stronger-than-expected demand...",
"text_snippet": "Suppliers signaled stronger-than-expected demand...",
"author": "Jane Doe",
"created_utc": "2026-03-20T09:03:00Z",
"sentiment_score": 0.21,
"sentiment_label": "positive"
}
]
}
ticker | Resolved ticker symbol |
period_days | Applied raw mention lookback window |
count | Total matching raw article rows before the limit cut |
results | Newest-first raw article rows for the ticker |
results[].article_id | Stable article row id |
results[].source | Canonical publisher/source id |
results[].url | Original article URL |
results[].title | Article headline |
results[].summary | Short summary or excerpt when available |
results[].text_snippet | Short text extract from the article row |
results[].author | Public byline/author when available |
results[].created_utc | Original UTC timestamp for the article row |
results[].sentiment_score | Sentiment score for that raw row (-1 to +1) |
results[].sentiment_label | Sentiment class for that raw row |
401 | Missing or invalid API key |
403 | Professional plan required for raw mention access |
422 | Invalid ticker or query parameter |
All plans share the same base API. Professional adds raw mention data and commercial rights.
Perfect for quick tests, API exploration and early prototypes. No credit card required.
For professional traders, personal trading bots, academic research & side projects
For hedge funds, fintech startups, trading platforms & commercial applications
Enterprise: Get in touch for API access, higher rate limits or custom data feeds. We work with quant teams, fintech startups and research groups across stock and crypto sentiment. Contact us → Non-profit or education use? Apply for free access →
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. Historical data is available for up to 365 days.
The free tier includes 250 API calls per month, 100 requests per minute, access to the full base endpoint surface including market-wide sentiment snapshots, and 30 days historical data. Raw mention endpoints are Professional-only. Perfect for personal projects and prototyping. Upgrade for 250,000 Hobby requests/month or 2,500,000 Professional requests/month.
All responses are JSON (UTF-8). The /v1/stock/{ticker} endpoint returns the richest per-ticker data: daily_trend, top_sources, top_mentions and sentiment distribution counts. For a broader view, /v1/market-sentiment returns aggregate coverage intensity, source breadth and the tickers driving the current news cycle. Professional accounts can also call /v1/stock/{ticker}/mentions for raw article rows with count and results.
Yes. Free tier keys are limited to 100 requests per minute and 250 requests per month. Hobby allows 1000 requests per minute with 250,000 requests per month. Professional allows 2,500,000 requests per month. 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.
Need a higher-volume or custom data setup? Contact us and we will help map the right access model.