> ## Documentation Index
> Fetch the complete documentation index at: https://clair.im/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# News rapidapi listing

# RapidAPI listing copy — News API

═══════════════════════════════════════════════════════════════════════════════
FIELD 0: NAME, CATEGORY & TAGS
═══════════════════════════════════════════════════════════════════════════════

* **Name:** `Clair News Search API`
* **Category:** News, Media
* **Tags:** news, news search, news data, keyword search, full text search,
  news monitoring, media monitoring, alerts, article content, news feed,
  cursor pagination, RAG, NewsAPI alternative

═══════════════════════════════════════════════════════════════════════════════
FIELD 1: SHORT DESCRIPTION
═══════════════════════════════════════════════════════════════════════════════

Search 3 months+ of broad editorial news from validated publishers. Filter by
keyword, source, category, language, and time with article metadata and stable cursor
pagination.

═══════════════════════════════════════════════════════════════════════════════
FIELD 2: LONG DESCRIPTION
═══════════════════════════════════════════════════════════════════════════════

**Broad recent news in a searchable, publisher-aware API.**

Clair collects editorial reporting from validated publishers across world
affairs, politics, business, technology, science, health, sports,
entertainment, and the environment. Coverage extends 3 months+ and is
continuously refreshed.

**Endpoints**

* `GET /v1/news` — search by keyword or browse canonical articles newest
  first. Supports quoted phrases, uppercase `OR`, minus exclusions, exact
  source filters, categories, publication windows, relevance sorting, and
  opaque cursor pagination.
* `GET /v1/sources` — list the exact active publisher names accepted by source
  filters.

**Included:** editorial articles with publisher attribution, original URL,
publication and collection times, category, bylines, image, description, and a
bounded cleaned snippet where available. Missing fields remain explicit.

**Excluded:** non-article and utility formats such as weather pages, recipes,
audio, video, podcasts, and galleries; duplicate coverage; superseded edits by
default; and full-article redistribution. Public requests search Clair's
prepared index and do not crawl publisher sites on demand.

**Use cases:** news monitoring, alerts, research, trend analysis, media
intelligence, searchable feeds, incremental ingestion, and the acquisition
layer for customer-owned semantic search or RAG systems.

[Product overview](https://clair.im/dashboard/apis/news) ·
[Dataset coverage](https://clair.im/resources/datasets/world-news) ·
[Full documentation](https://clair.im/docs/news-api/introduction) ·
[Pricing](https://clair.im/pricing)

═══════════════════════════════════════════════════════════════════════════════
FIELD 3: DOCUMENTATION / README
═══════════════════════════════════════════════════════════════════════════════

# Clair News Search API

Search 3 months+ of broad editorial news, or omit the query to browse
canonical articles newest first.

* **Search:** `GET /v1/news`
* **Coverage discovery:** `GET /v1/sources`
* **Pagination:** opaque cursor, 25 results by default, 100 maximum
* **Authentication:** RapidAPI
* **Full docs:** [https://clair.im/docs/news-api/introduction](https://clair.im/docs/news-api/introduction)
* **Dataset coverage:** [https://clair.im/resources/datasets/world-news](https://clair.im/resources/datasets/world-news)

***

## Endpoint navigation

| Endpoint          | Use it to                                                                   |
| ----------------- | --------------------------------------------------------------------------- |
| `GET /v1/news`    | Search, filter, or browse canonical articles with stable cursor pagination. |
| `GET /v1/sources` | Retrieve exact publisher names for source include/exclude filters.          |

***

## Authentication

Send your RapidAPI key and the host shown on the listing:

```sh theme={null}
X-RapidAPI-Key: YOUR_RAPIDAPI_KEY
X-RapidAPI-Host: clair-news-api.p.rapidapi.com
```

RapidAPI manages key issuance, plan quotas, rate limiting, and billing.

***

## Quick start

```sh theme={null}
curl -G 'https://clair-news-api.p.rapidapi.com/v1/news' \
  -H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  -H 'X-RapidAPI-Host: clair-news-api.p.rapidapi.com' \
  --data-urlencode 'q="central bank" OR inflation -sports' \
  --data-urlencode 'from=2026-07-01T00:00:00Z' \
  --data-urlencode 'sort_by=published_at' \
  --data-urlencode 'limit=25'
```

```json theme={null}
{
  "query": "\"central bank\" OR inflation -sports",
  "language": "en",
  "sort_by": "published_at",
  "count": 1,
  "items": [
    {
      "id": "8cbabdf6-31cc-4677-8cf3-a39f8152aa08",
      "title": "Article title",
      "url": "https://publisher.example/article",
      "source": { "name": "Publisher" },
      "description": "Publisher summary or normalized short description",
      "image_url": "https://publisher.example/image.jpg",
      "authors": ["Reporter Name"],
      "language": "en",
      "category": "politics",
      "published_at": "2026-07-29T10:15:30.123456Z",
      "collected_at": "2026-07-29T10:16:04.654321Z",
      "content": "Cleaned article text or feed excerpt",
      "content_available": true,
      "content_truncated": false,
      "is_update": false,
      "relevance_score": 0.42
    }
  ],
  "next_cursor": "OPAQUE_CURSOR"
}
```

Sample values are illustrative. `relevance_score` is a query-local ranking
signal, not a probability.

***

## Query syntax

| Input                | Meaning                                      |
| -------------------- | -------------------------------------------- |
| `inflation`          | Match a searchable form of the term.         |
| `"central bank"`     | Match the phrase.                            |
| `inflation OR rates` | Match either branch. `OR` must be uppercase. |
| `inflation -sports`  | Match inflation and exclude sports.          |

A query containing only English stop words returns `empty_query`.

***

## Request parameters

| Field             | Type     | Default        | Notes                                                                                                                       |
| ----------------- | -------- | -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `q`               | string   | -              | Optional query, up to 300 characters. Omit it for a newest-first corpus walk.                                               |
| `sources`         | CSV      | all            | Exact names from `/v1/sources`, at most 50.                                                                                 |
| `exclude_sources` | CSV      | -              | Exact names to omit, at most 50. Mutually exclusive with `sources`.                                                         |
| `from` / `to`     | RFC 3339 | -              | Inclusive publication-time bounds.                                                                                          |
| `sort_by`         | enum     | `published_at` | `published_at` or `relevance`; relevance requires `q`.                                                                      |
| `category`        | enum     | all            | `general`, `world`, `politics`, `business`, `technology`, `science`, `health`, `sports`, `entertainment`, or `environment`. |
| `language`        | string   | `en`           | ISO 639-1 code (`uk`, `ko`, `fr`, …) or `all`.                                                                              |
| `include_edits`   | bool     | `false`        | Include later revisions of the same publisher URL.                                                                          |
| `limit`           | integer  | `25`           | 1–100.                                                                                                                      |
| `cursor`          | string   | -              | Opaque cursor from the previous page.                                                                                       |

***

## Newest-first corpus walk

Omit `q` to return canonical articles newest first:

```sh theme={null}
curl -G 'https://clair-news-api.p.rapidapi.com/v1/news' \
  -H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  -H 'X-RapidAPI-Host: clair-news-api.p.rapidapi.com' \
  --data-urlencode 'from=2026-07-29T00:00:00Z' \
  --data-urlencode 'limit=100'
```

In this mode, `query` and `relevance_score` are null.

***

## Pagination

When `next_cursor` is not null, repeat the exact request and pass that value as
`cursor`. A cursor is bound to the query, source and time filters, sort, and
`include_edits` value. Changing an input returns `bad_cursor`.

Stop when `next_cursor` is null.

***

## Coverage

```sh theme={null}
curl 'https://clair-news-api.p.rapidapi.com/v1/sources' \
  -H 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  -H 'X-RapidAPI-Host: clair-news-api.p.rapidapi.com'
```

The endpoint returns active names alphabetically. Use those exact strings in
`sources` or `exclude_sources`; an unknown source returns `unknown_source`.

***

## Content and revisions

`content` is a bounded cleaned snippet when extraction succeeded, a feed
excerpt when one was available, or null. Returned content is capped at 2,000
characters. Clair does not expose a full-article archive. Inspect
`content_available` and `content_truncated` instead of guessing from the
string.

By default, results contain only the canonical version of each publisher URL.
Set `include_edits=true` to include later records; those have `is_update=true`.

***

## Errors

Branch on the stable `error` code. `detail` is human-readable and may change.

| Status | `error`                                                          | Meaning                                                   |
| ------ | ---------------------------------------------------------------- | --------------------------------------------------------- |
| `400`  | `bad_request`                                                    | One or more parameters failed validation.                 |
| `400`  | `bad_cursor`                                                     | Cursor malformed or bound to different inputs.            |
| `400`  | `empty_query`                                                    | No searchable terms remained after English normalization. |
| `400`  | `unknown_source`                                                 | A source name is not active.                              |
| `401`  | `unauthorized`                                                   | Missing or invalid authorization.                         |
| `429`  | Gateway-managed                                                  | RapidAPI plan rate limit exceeded.                        |
| `500`  | `internal`                                                       | Unexpected internal error.                                |
| `503`  | `dependency_unavailable`, `product_unavailable`, or `overloaded` | Retryable availability failure. Honor `Retry-After`.      |
| `504`  | `timeout`                                                        | Request exceeded its processing deadline.                 |

Full documentation: [https://clair.im/docs/news-api/introduction](https://clair.im/docs/news-api/introduction)

═══════════════════════════════════════════════════════════════════════════════
END
═══════════════════════════════════════════════════════════════════════════════
