
News Search
Pull fresh news articles with titles, URLs, age, and thumbnails from Brave Search when validating markets or monitoring your niche.
Overview
news-search is an agent skill most often used in Idea (also Launch distribution, Grow content) that fetches news articles from the Brave Search News API with freshness and date filters.
Install
npx skills add https://github.com/brave/brave-search-skills --skill news-searchWhat is this skill?
- Brave News Search API at `https://api.search.brave.com/res/v1/news/search` with GET and POST
- Returns title, URL, description, age, and thumbnail per article
- Freshness filters including past-day (`pd`) and custom date ranges via `freshness=YYYY-MM-DDtoYYYY-MM-DD`
- Country, count, SafeSearch, and Goggles hooks for custom ranking
- Requires Brave Search API key via `X-Subscription-Token` on the Search plan
- 2 HTTP methods supported: GET and POST on the same news search path
Adoption & trust: 665 installs on skills.sh; 148 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need timely news results with consistent fields for your agent to cite, but ad-hoc web scraping breaks and lacks freshness controls.
Who is it for?
Indie builders with a Brave Search API key who want citable, filterable news JSON during research or content workflows.
Skip if: General web page search or deep academic research where you need non-news indexes or full-text archives without an API budget.
When should I use this skill?
USE FOR news search when the agent needs articles with title, URL, description, age, and thumbnail from Brave.
What do I get? / Deliverables
Authenticated API calls return normalized news hits you can filter by recency or date range for research memos, launch angles, or monitoring digests.
- JSON news result sets with article metadata
- Filtered queries by freshness, country, and count
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Idea-phase research is the primary shelf because founders use news search to scan timing, competitors, and regulatory shifts before committing to build. Research subphase fits structured news queries with freshness and date windows that replace manual Google News tab hopping.
Where it fits
Query `freshness=pd` for your problem space to see if a news cycle makes the idea timely or crowded.
Run country-scoped searches on rival product names to capture funding or partnership announcements.
Pull recent articles mentioning the pain point to quote trends on a validation landing page.
Find niche press coverage angles from the last week before outreach.
Date-range filter a month of industry news to seed a digest post or changelog intro.
How it compares
Use instead of generic web-search skills when you specifically need the Brave news endpoint with freshness=`pd` and date-range filters.
Common Questions / FAQ
Who is news-search for?
Solo builders and agent authors who subscribe to Brave Search and want SKILL.md procedures for the news/search endpoint.
When should I use news-search?
While researching a market in Idea, checking launch-week coverage in Launch, or drafting growth updates grounded in recent headlines in Grow.
Is news-search safe to install?
Check the Security Audits panel on this page; the skill instructs network calls that send your API key—store secrets in env vars, not repos.
SKILL.md
READMESKILL.md - News Search
# News Search > **Requires API Key**: Get one at https://api.search.brave.com > > **Plan**: 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/search ``` **Authentication**: `X-Subscription-Token: <API_KEY>` header **Note**: Both GET and POST are supported. POST is useful for long queries or complex Goggles. ## Parameters | Parameter | Type | Required | Default | Description | |--|--|--|--|--| | `q` | string | **Yes** | - | Search query (1-400 chars, max 50 words) | | `country` | string | No | `US` | Search country (2-letter country code or `ALL`) | | `search_lang` | string | No | `en` | Language preference (2+ char language code) | | `ui_lang` | string | No | `en-US` | UI language (e.g., "en-US") | | `count` | int | No | `20` | Number of results (1-50) | | `offset` | int | No | `0` | Page offset (0-9) | | `safesearch` | string | No | `strict` | Adult content filter (`off`/`moderate`/`strict`) | | `freshness` | string | No | - | Time filter (`pd`/`pw`/`pm`/`py` or date range) | | `spellcheck` | bool | No | `true` | Auto-correct query | | `extra_snippets` | bool | No | - | Up to 5 additional excerpts per result | | `goggles` | string or array | No | - | Custom ranking filter (URL or inline; repeat param for multiple) | | `operators` | bool | No | `true` | Apply search operators | | `include_fetch_metadata` | bool | No | `false` | Include fetch timestamps in results | ### Freshness Values | Value | Description | |--|--| | `pd` | Past day (24 hours) - ideal for breaking news | | `pw` | Past week (7 days) | | `pm` | Past month (31 days) | | `py` | Past year (365 days) | | `YYYY-MM-DDtoYYYY-MM-DD` | 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 | |--|--|--| | `type` | string | Always `"news"` | | `query.original` | string | The original search query | | `query.altered` | string? | Spellcheck-corrected query (if changed) | | `query.cleaned` | string? | Cleaned/normalized query from spellchecker