---
title: "Search news"
method: POST
path: "/news/search"
tags: ["News"]
---

# Search news

`POST /news/search`

## Request

- Base URL: `https://api.context.dev/v1`
- URL: `https://api.context.dev/v1/news/search`
- Auth: HTTP bearer

Find news about a company by name, domain, ticker, or ISIN, or search all news with a natural-language query. Filter articles and continue through results with a cursor.

## Request body

- object
  - `searchBy` union, required: What to search for: a specific company, or a natural-language query across all news.
    - NewsSearchByNaturalLanguage: Search all news with a plain-language query. Returns up to 100 matches, ordered by relevance.
      - `type` 'natural_language', required: Use `natural_language` to search all news with a plain-language query.
      - `query` string, required: What to search for, in plain language, such as "chip export restrictions to China".
    - NewsSearchByEntity: Find news about a specific company.
      - `type` 'entity', required: Use `entity` to find news about a specific company.
      - `entity` union, required: The company to search news for, identified by name, domain, ticker, or ISIN.
        - NewsSearchEntityByName: Identify the company by name.
          - `type` 'name', required: Use `name` to identify the company by name.
          - `name` string, required: Company name.
        - NewsSearchEntityByDomain: Identify the company by website domain.
          - `type` 'domain', required: Use `domain` to identify the company by website domain.
          - `domain` string, required: Company website domain, such as apple.com.
        - NewsSearchEntityByTicker: Identify the company by stock ticker, optionally scoped to an exchange.
          - `type` 'ticker', required: Use `ticker` to identify a publicly traded company.
          - `ticker` string, required: Public-company ticker.
          - `exchange` 'AMEX' | 'AMS' | 'AQS' | 'ASX' | 'ATH' | 'BER' | 'BME' | 'BRU' | 'BSE' | 'BUD' | 'BUE' | 'BVC' | 'CBOE' | 'CNQ' | 'CPH' | 'DFM' | 'DOH' | 'DUB' | 'DUS' | 'DXE' | 'EGX' | 'FSX' | 'HAM' | 'HEL' | 'HKSE' | 'HOSE' | 'ICE' | 'IOB' | 'IST' | 'JKT' | 'JNB' | 'JPX' | 'KLS' | 'KOE' | 'KSC' | 'KUW' | 'LIS' | 'LSE' | 'MCX' | 'MEX' | 'MIL' | 'MUN' | 'NASDAQ' | 'NEO' | 'NSE' | 'NYSE' | 'NZE' | 'OSL' | 'OTC' | 'PAR' | 'PNK' | 'PRA' | 'RIS' | 'SAO' | 'SAU' | 'SES' | 'SET' | 'SGO' | 'SHH' | 'SHZ' | 'SIX' | 'STO' | 'STU' | 'TAI' | 'TAL' | 'TLV' | 'TSX' | 'TSXV' | 'TWO' | 'VIE' | 'WSE' | 'XETRA': Stock exchange the ticker trades on, used to disambiguate tickers listed on multiple exchanges.
        - NewsSearchEntityByIsin: Identify the company by International Securities Identification Number.
          - `type` 'isin', required: Use `isin` to identify the company by its securities identifier.
          - `isin` string, required: International Securities Identification Number.
  - `sortBy` object: Result ordering. Defaults to newest for entity searches. Natural-language searches are always ordered by relevance.
    - `type` 'relevance' | 'newest', required: Result ordering.
  - `limit` integer: Maximum results to return. Defaults to 10.
  - `cursor` string, nullable: Opaque next_cursor from the previous response, or null for the first page.
  - `tags` string[]: Labels for filtering usage in the dashboard.

## Response `200`

Company news results

- object
  - `data` object[], required: Articles matching the search, in the requested order.
    - `id` string, required: Stable unique identifier for this article. Use it to deduplicate or reference an article across requests.
    - `story_id` string, required: Shared by articles covering the same story on the same day. Use it to group or collapse syndicated copies of one announcement across outlets.
    - `url` string, uri, required: Link to the article on the publisher site.
    - `title` string, required: Article headline.
    - `description` string, nullable, required: Article summary or excerpt. Natural-language search descriptions include matching passages and are capped at 2,000 characters.
    - `language` string, nullable, required: Language the article is written in, as a lowercase ISO 639-1 code such as en. Null when unknown.
    - `authors` string[], required: Bylined authors. Empty when no byline is available.
    - `image_url` string, nullable, required: Lead image for the article, when one is available.
    - `published_at` string, date-time, nullable, required: When the article was published, as an ISO 8601 timestamp. Null when the publisher does not state a reliable date.
    - `type` 'editorial' | 'press_release' | 'regulatory_filing' | 'advisory', required: Kind of coverage. Use it to separate independent reporting (editorial) from company-issued content (press_release, regulatory_filing, advisory).
    - `source` object, required: The publication that published the article.
      - `name` string, required: Name of the publication, such as Reuters.
      - `domain` string, required: Website domain of the publication.
      - `direct` boolean, required: True when Context observed this article in the publisher-owned feed.
    - `match` object, nullable, required: How the article relates to the company you searched for. Null for natural-language searches.
      - `level` 'primary' | 'secondary', required: primary when the article is mainly about the company, secondary when the company is mentioned but is not the main subject.
      - `confidence` number, nullable, required: How confident the match is, from 0 to 1. Null when a score is unavailable.
  - `has_more` boolean, required: True when more results are available beyond this page.
  - `next_cursor` string, nullable, required: Pass as cursor in the next request to fetch the following page. Null when there are no more results.
  - `meta` object, required: Summary information about this response.
    - `count` integer, required: Number of articles in this page.
  - `key_metadata` KeyMetadata: Credits this request used and your remaining balance.
    - `credits_consumed` integer, required: Credits charged for this request.
    - `credits_remaining` integer, required: Credits remaining for your organization.
  - `request_id` string, uuid, required: Unique ID of this request, also in `X-Request-Id`. Include it when contacting support.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits (`USAGE_EXCEEDED`); authentication is valid. Retry once funded. Legacy deployments may return 401.
- `404`: Not found
- `429`: Request exceeded the applicable rate limit.
- `500`: News search failed because the index or an upstream resolver was unavailable.

## Changes

- **2026-10-21** `61627728926b`: 6 warning
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `400`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `401`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `402`
  - added the new `NO_PUBLISHED_MARKDOWN` enum value to the `error_code` response property for the response status `404`
  - …2 more
- **2026-10-19** `4ddcf49b9fe5`: 2 breaking, 2 warning, 9 info
  - the `searchBy` request property type changed from `object` to no type
  - the response property `data/items/match` became nullable for the status `200`
  - removed the request property `searchBy/entity`
  - removed the request property `searchBy/type`
  - …9 more
- **2026-10-17** `935463eb965e`: 61 info
  - added the new `am` enum value to the request property `filterBy/articleLanguage/items/`
  - added the new `az` enum value to the request property `filterBy/articleLanguage/items/`
  - added the new `be` enum value to the request property `filterBy/articleLanguage/items/`
  - added the new `bg` enum value to the request property `filterBy/articleLanguage/items/`
  - …57 more
- **2026-10-16** `2125f3e94e52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/context/apis/brand-api/changes/news/search/post.md)

---

[API](https://skmtc.dev/context/apis/brand-api.md) · [All operations](https://skmtc.dev/context/apis/brand-api/llms.txt) · [OpenAPI document](https://skmtc.dev/context/apis/brand-api/revisions/9e2ab7841fb1?raw)
