brave-news-search
Original:🇺🇸 English
Translated
USE FOR news search. Returns news articles with title, URL, description, age, thumbnail. Supports freshness and date range filtering, SafeSearch filter and Goggles for custom ranking.
5installs
Added on
NPX Install
npx skill4agent add midnightv1/claude-code-feishu brave-news-searchTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →News Search
Requires API Key: Get one at https://api.search.brave.comPlan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe
Quick Start (cURL)
Basic Search
bash
curl -s "https://api.search.brave.com/res/v1/news/search?q=space+exploration" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"Recent News (Past 24 Hours)
bash
curl -s "https://api.search.brave.com/res/v1/news/search" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "q=cybersecurity" \
--data-urlencode "country=US" \
--data-urlencode "freshness=pd" \
--data-urlencode "count=20"Date Range Filter
bash
curl -s "https://api.search.brave.com/res/v1/news/search" \
-H "Accept: application/json" \
-H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
-G \
--data-urlencode "q=climate summit" \
--data-urlencode "freshness=2026-01-01to2026-01-31"Endpoint
http
GET https://api.search.brave.com/res/v1/news/search
POST https://api.search.brave.com/res/v1/news/searchAuthentication: header
X-Subscription-Token: <API_KEY>Note: Both GET and POST are supported. POST is useful for long queries or complex Goggles.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| string | Yes | - | Search query (1-400 chars, max 50 words) |
| string | No | | Search country (2-letter country code or |
| string | No | | Language preference (2+ char language code) |
| string | No | | UI language (e.g., "en-US") |
| int | No | | Number of results (1-50) |
| int | No | | Page offset (0-9) |
| string | No | | Adult content filter ( |
| string | No | - | Time filter ( |
| bool | No | | Auto-correct query |
| bool | No | - | Up to 5 additional excerpts per result |
| string or array | No | - | Custom ranking filter (URL or inline; repeat param for multiple) |
| bool | No | | Apply search operators |
| bool | No | | Include fetch timestamps in results |
Freshness Values
| Value | Description |
|---|---|
| Past day (24 hours) - ideal for breaking news |
| Past week (7 days) |
| Past month (31 days) |
| Past year (365 days) |
| Custom date range |
Response Format
json
{
"type": "news",
"query": {
"original": "space exploration"
},
"results": [
{
"type": "news_result",
"title": "New Developments in Space Exploration",
"url": "https://news.example.com/space-exploration",
"description": "Recent missions have advanced our understanding of...",
"age": "2 hours ago",
"page_age": "2026-01-15T14:30:00",
"page_fetched": "2026-01-15T15:00:00Z",
"meta_url": {
"scheme": "https",
"netloc": "news.example.com",
"hostname": "news.example.com",
"favicon": "https://imgs.search.brave.com/favicon/news.example.com",
"path": "/space-exploration"
},
"thumbnail": {
"src": "https://imgs.search.brave.com/..."
}
}
]
}Response Fields
| Field | Type | Description |
|---|---|---|
| string | Always |
| string | The original search query |
| string? | Spellcheck-corrected query (if changed) |
| string? | Cleaned/normalized query from spellchecker |
| bool? | Whether spellcheck was disabled |
| bool? | True if strict safesearch blocked results |
| object? | Applied search operators |
| bool | Whether operators were applied |
| string? | Query after operator processing |
| list[str]? | Domains from |
| string | Always |
| string | Article title |
| string | Source URL of the article |
| string? | Article description/summary |
| string? | Human-readable age (e.g. "2 hours ago") |
| string? | Publication date from source (ISO datetime) |
| string? | When page was last fetched (ISO datetime) |
| int? | Fetch timestamp (only with |
| string? | URL protocol scheme |
| string? | Network location |
| string? | Lowercased domain name |
| string? | Favicon URL |
| string? | URL path |
| string | Served thumbnail URL |
| string? | Original thumbnail URL |
| list[str]? | Up to 5 additional excerpts per result |
Goggles (Custom Ranking) — Unique to Brave
Goggles let you re-rank news results — boost trusted outlets or suppress unwanted sources.
| Method | Example |
|---|---|
| Hosted | |
| Inline | |
Hosted goggles must be on GitHub/GitLab, include,! name:,! description:headers, and be registered at https://search.brave.com/goggles/create. Inline rules need no registration.! author:
Syntax: / (1–10), , . Combine with commas: . Separate rules with ().
$boost=N$downrank=N$discard$site=example.com$site=example.com,boost=3\n%0AAllow list: — Block list:
$discard\n$site=docs.python.org\n$site=developer.mozilla.org$discard,site=pinterest.com\n$discard,site=quora.comSearch Operators
Use search operators to refine results:
- - Limit to specific news site
site:local-paper.com - - Match exact phrase
"exact phrase" - - Exclude term
-exclude
Set to disable operator parsing.
operators=falseUse Cases
- Breaking news monitoring: Use for the most recent articles on a topic.
freshness=pd - Custom news feeds with Goggles: Boost trusted sources and discard other sources — unique to Brave.
- Historical news research: Use to find articles from specific time periods.
freshness=YYYY-MM-DDtoYYYY-MM-DD - Multilingual news: Combine ,
country, andsearch_langfor cross-locale results.ui_lang - Data pipelines: Set for
include_fetch_metadata=trueon each result.fetched_content_timestamp
Notes
- SafeSearch: Defaults to
strict - Pagination: Use (0-9) with
offsetcount - Extra snippets: Up to 5 additional excerpts when
extra_snippets=true