One ticker, three reasons
In the days up to November 11, 2026, Amazon was trending in financial news, on Reddit and on X. We asked the explain endpoint of each source why. These are the three answers, word for word after the opening "AMZN is trending because":
| Source | Explanation, November 11, 2026 |
|---|---|
| News | Its cloud unit posted its fastest growth in nearly five years, strengthening the company's cloud story in the latest quarterly earnings report. |
| Amazon added Uber Eats ordering into Prime, giving members a delivery-fee waiver on qualifying orders placed through Amazon without an Uber account. | |
| X | Amazon made Uber Eats the official food delivery partner for Prime members, alongside discussion of its cloud disclosure call and data center capacity constraints. |
Both stories are real. Amazon reported on October 29 that AWS sales grew 39.3% in the third quarter, its fastest growth in nearly five years (Amazon investor relations). On November 5 it announced restaurant delivery through Uber Eats with no delivery fee for Prime members on orders of $25 or more (Amazon press release).
The news answer is about the quarter. The Reddit answer is about the Prime perk. X leads with the perk and mentions the cloud only in passing. Asked one source at a time, the API shows both stories and which crowd talks about which.
What the explain endpoint returns
Each source has the same path: /news/stocks/v1/stock/{ticker}/explain, /reddit/stocks/v1/stock/{ticker}/explain and /x/stocks/v1/stock/{ticker}/explain. It takes the ticker and nothing else (API reference). The answer is small:
{
"ticker": "AMZN",
"company_name": "Amazon.com Inc",
"explanation": "AMZN is trending because its cloud unit posted its fastest growth in nearly five years, strengthening the company's cloud story in the latest quarterly earnings report.",
"cached": true,
"generated_at": "2026-11-11T04:04:46.683510+00:00",
"model": "deepseek-ai/DeepSeek-V4.1-Flash-1017"
}Four fields matter. explanation is the text. model names the language model that wrote it. It reads fallback when there is no clear catalyst. The text then says the stock "shows mixed sentiment without a clear catalyst". cached and generated_at tell you how fresh the answer is.
The script in 26 lines
The script takes the five most covered stocks in the news, then asks all three sources why each one is trending. It needs Python 3.8 or newer, requests and an API key in ADANOS_API_KEY. Save it as why_trending.py and run python why_trending.py:
pip install requests
export ADANOS_API_KEY=your_keyimport os
import textwrap
import requests
API = "https://api.adanos.com"
HEADERS = {"X-API-Key": os.environ["ADANOS_API_KEY"]}
wrap = textwrap.TextWrapper(width=88, subsequent_indent=" " * 9)
def get(path, **params):
r = requests.get(API + path, headers=HEADERS, params=params, timeout=60)
r.raise_for_status()
return r.json()
for stock in get("/news/stocks/v1/trending", limit=5, type="stock"):
ticker = stock["ticker"]
print(f"\n{ticker} {stock['company_name']}")
for source in ("news", "reddit", "x"):
try:
why = get(f"/{source}/stocks/v1/stock/{ticker}/explain")["explanation"]
except requests.HTTPError as err:
if err.response.status_code != 404:
raise
why = "no mentions in the last 7 days (404)"
print(wrap.fill(f" {source:<7}{why}"))One run makes 16 requests: one for the trending list, then three per ticker. Every request counts against the monthly quota, cached answers included. The free tier has 250 requests a month, enough for about 15 runs. A run took about six seconds in our test.
The try block catches one case. A source with no mentions of the ticker in the last 7 days answers with 404. The script prints that and moves on. Any other error stops the script, for example 401 for a wrong key or 429 when the quota is used up. That way a used-up quota never looks like a quiet stock.
What a run looks like
Here are two of the five tickers from a run on November 11, 2026:
CRWV CoreWeave, Inc.
news CRWV is trending because CoreWeave reported stronger-than-expected quarterly
results, raised its full-year guidance and cited a large revenue backlog, which
it said reinforced demand for its AI compute capacity.
reddit CRWV is trending because CoreWeave reported better-than-expected revenue and
raised its guidance, which was described as easing concerns about a slowdown in
AI spending.
x CRWV is trending because CoreWeave is due to report earnings after a sharp
multi-month share decline, with discussion framing a beat and raised guidance
as a signal of accelerating AI infrastructure demand.
ANT Anthropic, PBC
news ANT is trending because Anthropic is seeking a multitrillion-dollar valuation
in its imminent stock market flotation, with shares expected to be priced
within a disclosed range.
reddit no mentions in the last 7 days (404)
x no mentions in the last 7 days (404)CoreWeave had reported the evening before. Revenue beat estimates and the company raised its full-year guidance (CNBC). News and Reddit say exactly that. X still describes the report as upcoming, probably because its explanation also draws on posts from before the release.
Anthropic shows the other case. The news explanation is about its planned IPO. Reddit and X return 404 with the message "No mentions found for $ANT in the last 7 days."
How to read three answers
- All three agree. The event is the story. CoreWeave's earnings are the example above. Check whether one source is behind the others, as X was here.
- News and the crowd split. The articles and the posts are about different things, as with Amazon. This is the case worth a closer look. Flag these tickers in your script, then read the
top_mentionsof each source for them. - One source has nothing. A 404 means that source tracked no mentions of the ticker in the last 7 days, as with Anthropic on Reddit and X. A
fallbackanswer is a different case. The stock is discussed there, just without a clear catalyst.
What the endpoint does not tell you
The explanation summarizes what a source says. It is not a fact check. On X that includes rumors. Treat each answer as a pointer to the coverage, then read the coverage. The stock endpoint of each source returns top_mentions with the posts or articles behind the number.
One or two sentences also leave things out. The Amazon news answer names the cloud growth. It says nothing about how the share price reacted to the quarter. The window is also fixed. The endpoint explains the recent period, so you cannot ask why a stock trended last month. For a fixed window, use the stock endpoint with from and to.
FAQ
How do I find out why a stock is trending?
Call the explain endpoint for the ticker. GET /news/stocks/v1/stock/{ticker}/explain returns one or two sentences on why the stock is trending in financial news. The same path under /reddit and /x answers for those platforms. Read the three answers together. Where they differ, the sources are reacting to different things.
Who writes the explanation?
A language model writes it from the posts or articles of that source. The model field names the model. When there is no clear catalyst, the field reads fallback and the text says the stock shows mixed sentiment without a clear catalyst. The text repeats what the source says, rumors included. Check facts against the articles before you act on them.
Is the explain endpoint on the free plan?
Yes. Explain is not a Pro endpoint, so every plan has it, including the free tier with 250 requests per month. Every call counts against the monthly quota, cached answers included. The script in this article makes 16 requests per run, so the free tier covers about 15 runs a month.
Why does the endpoint return 404 for some tickers?
A 404 means that source tracked no mentions of the ticker in the last 7 days. The message reads, for example, "No mentions found for $ANT in the last 7 days." Treat it as no signal from that source. Treat other errors such as 401 or 429 as failures that stop your code.
Can I choose the time window of the explanation?
No. The endpoint takes only the ticker and explains the recent period. The response carries generated_at and cached, so you can see how old the answer is. For a fixed window, use the stock endpoint of each source with from and to.