News headlines API
Search current news on any topic and get the latest headlines as JSON: title, URL, snippet, publisher domain and age, from the Brave Search news index, 1-20 per call, limited to the past day, week or month on request.
When an agent wants this
- Give an agent today's headlines on a company, coin or event
- Read a story in full afterwards with the URL to Markdown tool
- Get the tone of the coverage with the news sentiment pack
News headlines, latest news: search current news articles (Brave) $0.01
News headlines on any topic, crypto included, as JSON: title, URL, snippet, publisher domain and age, from the Brave Search API's news index. 1-20 results per call; freshness limits results to the past day, week or month. Results are for the caller's immediate use only: no storing, resale or model training (Brave API terms). Upstream failures return 503, uncharged. Use when an agent needs current news on a topic.
Inputs: q (required): News search query, at most 400 characters; count: Number of results (1-20, default 10); freshness: Only articles from the past day, week or month (default: any age).
Not in the free calls (it costs capacity per call); pay from the first call.
With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:
curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/news?q=bitcoin%20ETF"
curl "https://tools.funwords.eu/news?q=bitcoin%20ETF&api_key=adt_…"
Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is news.
Example result
{
"query": "bitcoin ETF",
"provider": "Brave News",
"count": 1,
"results": [
{
"title": "Bitcoin ETFs see record inflows",
"url": "https://www.example-news.com/markets/bitcoin-etf-inflows",
"snippet": "Spot bitcoin ETFs took in…",
"source": "example-news.com",
"age": "3 hours ago"
}
],
"terms": "Results are for the caller's immediate use: no storing or caching beyond the current task, no resale and no model training (Brave Search API terms)."
}Brand sentiment, news sentiment: headlines with sentiment scores $0.03
Brand sentiment from the news on a topic in one call: the latest headlines from the Brave News index (title, URL, publisher, age), each with a positive or negative score from a DistilBERT model, and the balance across them. Up to 10 articles from the past day, week or month. Not a market signal. Results are for the caller's immediate use only (Brave API terms). Use for a market mood check, brand monitoring or a news brief.
Inputs: q (required): News topic, at most 400 characters; count: Number of articles (1-10, default 5); freshness: Only articles from the past day, week or month (default: week).
Not in the free calls (it costs capacity per call); pay from the first call.
With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:
curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/pack/news-sentiment?q=bitcoin"
curl "https://tools.funwords.eu/pack/news-sentiment?q=bitcoin&api_key=adt_…"
Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is pack_news_sentiment.
Example result
{
"pack": "news-sentiment",
"query": "bitcoin",
"summary": {
"articles": 5,
"positive": 3,
"negative": 2,
"averageScore": 0.21,
"tone": "mixed, leaning positive"
},
"articles": [
{
"title": "Bitcoin ETFs see record inflows",
"url": "https://www.example-news.com/markets/bitcoin-etf-inflows",
"source": "example-news.com",
"age": "3 hours ago",
"sentiment": "POSITIVE",
"score": 0.98
}
],
"terms": "Results are for the caller's immediate use…",
"failed": {}
}Questions
Where do the articles come from?
The Brave Search API's news index, one request per paid call. Results are for the caller's immediate use: no storing, resale or model training.
What if the source is down?
The call answers 503 and nothing is charged.
What if the provider is down or the daily capacity is used up?
The call answers 503 and nothing is charged.
How do I pay?
Each successful call costs the tool's price; failed calls are not charged. Then pay with card credits from $1 (the key goes in an Authorization header or as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.