---
title: "Perform a news search using the Brave Search API."
method: POST
path: "/newsSearch"
---

# Perform a news search using the Brave Search API.

`POST /newsSearch`

This function allows users to search for news articles using the Brave Search API. It provides a wide range of parameters to customize the search, including query, country, language, and result filtering options. The function returns a promise that resolves to a detailed news search response containing article information and metadata.

## Request body

- object
  - `body` object — Body of the newsSearch sls call
    - `arguments` object, required — Parameters for the news search function
      - `q` string, required — The search query (max 400 characters, 50 words)
      - `country` string — 2-letter country code
      - `search_lang` string — Search language
      - `ui_lang` string — UI language
      - `count` integer — Number of results (1-20)
      - `offset` integer — Offset for pagination (0-9)
      - `safesearch` 'off' | 'moderate' | 'strict' — Safe search level
      - `freshness` union — Freshness of results
        - 'pd' | 'pw' | 'pm' | 'py' — Predefined freshness options
        - string — Custom date range in format 'YYYY-MM-DDtoYYYY-MM-DD'
      - `text_decorations` boolean — Include decoration markers
      - `spellcheck` boolean — Enable spellchecking
      - `result_filter` string — Comma-separated list of result types
      - `goggles` string[] — Goggle definitions for custom re-ranking
      - `units` 'metric' | 'imperial' — Units for measurements
    - `constructor` 'createBraveSDK' — Name of the constructor to use.

## Response `200`

Successful news search response

- object
  - `type` 'news'
  - `query` object
    - `original` string
    - `altered` string
    - `cleaned` string
  - `results` object[]
    - `type` 'news_result'
    - `url` string
    - `title` string
    - `description` string
    - `age` string
    - `page_age` string
    - `page_fetched` string
    - `breaking` boolean
    - `thumbnail` object
      - `src` string
      - `width` integer
      - `height` integer
    - `meta_url` object
      - `source` string
      - `domain` string
    - `extra_snippets` string[]

## Other responses

- `400` — Bad request - invalid parameters
- `401` — Unauthorized - invalid or missing API key
- `429` — Too Many Requests - rate limit exceeded
- `500` — Internal server error

## Changes

- **2025-07-10** `9eaa0f04b5e0` — 4 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `429`
  - added the optional property `message` to the response with the `400` status
  - added the optional property `message` to the response with the `500` status
- **2025-07-06** `dce2d97c0918` — 2 breaking, 2 warning, 12 info
  - added the new required request property `body/arguments/q`
  - the `body/arguments` request property type changed from `array` to `object`
  - removed the request property `body/auth`
  - removed the request property `body/packageName`
  - …12 more
- **2025-05-27** `cd262405e49a` — 1 breaking, 15 warning, 4 info
  - the `body/arguments` request property type changed from `object` to `array`
  - removed the request property `body/arguments/count`
  - removed the request property `body/arguments/country`
  - removed the request property `body/arguments/freshness`
  - …16 more

[Change history](https://skmtc.dev/microfox-ai/apis/brave-search/changes/newsSearch/post.md)

---

[API](https://skmtc.dev/microfox-ai/apis/brave-search.md) · [All operations](https://skmtc.dev/microfox-ai/apis/brave-search/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/microfox-ai/brave-search/revisions/2284eaa411cf/schema)
