Show HN: Clair – open-source semantic news API

kaanersoy1 pts0 comments

Clair · Semantic News API

Open-Source Semantic news API<br>Every news API matches keywords. Clair matches meaning.<br>Keyword search returns everything that says the word and misses everything that means it. Describe what you’re watching for in a sentence and Clair returns the news that means it. Scored, explainable, and yours to reproduce, audit, and tune.<br>Get API Key →Github<br>example.sh<br>clair API<br>1# No client library needed in TEXT mode<br>2# the server embeds the query for you.<br>4curl -s -X POST \<br>5 https://clair-news-api.p.rapidapi.com/v1/match \<br>6 -H "X-RapidAPI-Key: $API_KEY" \<br>7 -d '{<br>8 "text": "Foundation models, GPUs, AI labs and chips.",<br>9 "min_score": 0.5<br>10 }'

zsh<br>$ sh example.sh<br>running…

example.py and its live output

SourcesBBC NewsThe GuardianAl JazeeraThe New York TimesThe Washington PostBloombergFinancial TimesThe Wall Street JournalThe EconomistCNBCNPRPoliticoAxiosDeutsche WelleFrance 24South China Morning PostThe Japan TimesProPublicaArs TechnicaWired<br>BBC NewsThe GuardianAl JazeeraThe New York TimesThe Washington PostBloombergFinancial TimesThe Wall Street JournalThe EconomistCNBCNPRPoliticoAxiosDeutsche WelleFrance 24South China Morning PostThe Japan TimesProPublicaArs TechnicaWired

Get started<br>[text][vector][corpus][sources]<br>View docs →<br>$curl -sX POST https://clair-news-api.p.rapidapi.com/v1/match -d '{"text":"central bank interest rate decision"}'<br>Send a phrase. We embed it server-side and return the news that means it. No vectors, no SDK, no local model.

How it works<br>Pure vector math, deterministic by design.<br>We split each article into smaller parts called chunks, and every chunk gets embedded, using bge-m3, an open model. We employ MaxSim algorithm to find the best-matching chunk. Even a long article that spends one paragraph squarely on your topic still reaches you. No LLM sits anywhere in this path, which is why the same article and the same query always produce the same score.

ArticleUS and Iran exchange strikes as Gulf tensions escalate→embed → score<br>US-Iran conflict

0.75returned<br>Middle East tensions

0.68returned<br>Oil price pressure

0.54returned<br>Space exploration

0.13filtered

Returned at min_score ≥ 0.50 (the default, and yours to change) · same input → same scores

ExplainableEvery result carries its score and the exact chunk of text that produced it, not an opaque relevance ranking.

AuditableDeterministic by construction: the same article and the same query always produce the same score.

No hallucinationsMatching is vector math, not generation. It can surface a weak match, but it can't invent an article or a quote.

Access<br>Call the API, read the algorithm behind it, ask for what’s missing.

Describe what you're watching for as a phrase, or send your own vector, and get back the articles that mean it, each with its score. Metered per request.<br>Explore the API →

Don't want to trust a black box? The scoring algorithm is public under Apache-2.0. Read exactly how a score is produced and reproduce it yourself.<br>View the source →

Need a source added, higher throughput, or an endpoint that isn't here yet? Tell us what you're working on. We'd love to help you build it.<br>Get in touch →

Build on the world’s news.<br>One endpoint, a curated set of trusted sources, and a score you can check. Explore the API, or read exactly how it works.<br>Explore the API →View the source

© 2026 ClairIntelligent information retrieval

news clair score source text article

Related Articles