How it works
Three search modes share the same Bigdata.com POST /v1/search endpoint
but ask for very different things. This page shows the plain-English flow and the exact payload shape
for each mode.
1. Company Topic News
Pick a ticker (or several). The app resolves it to a Bigdata entity ID, then runs
one natural-language query per editable topic. Each topic template contains
{company}, which is replaced with the company name before search.
- Scoped to that company via an entity filter
- Keeps positive and negative sentiment (drops neutral)
- Sources: public news and transcripts
- Optional AI query expansion multiplies each topic into more phrases
- UI relevance dropdown drops weak hits after results return
Search payload (one call per topic):
{
"query": {
"text": "Apple Inc. reported earnings results beating or missing revenue and profit expectations",
"filters": {
"timestamp": { "start": "...", "end": "..." },
"entity": { "all_of": ["<entity_id>"] },
"category": {
"mode": "INCLUDE",
"values": ["news_public", "transcripts"]
},
"sentiment": {
"values": ["positive", "negative"]
}
},
"max_chunks": 10
}
}2. Company Negative News
Same company desk, different question: show strongly negative public news where the company appears in the headline, grouped by risk categories (litigation, regulatory, credit stress, governance, cyber / product).
- Filter-only search — no query text
search_mode: "fast"- Sources: public news and transcripts (
news_public,transcripts) - Entity matched in the headline (avoids drive-by body mentions)
- Sentiment score in range
[-1, -0.1] - Bigdata taxonomy topics in
topic.any_of(editable per category) - One entity ID per request (clean ticker attribution on multi-ticker runs)
Search payload (one call per category × company):
{
"search_mode": "fast",
"query": {
"filters": {
"timestamp": { "start": "...", "end": "..." },
"category": {
"mode": "INCLUDE",
"values": ["news_public", "transcripts"]
},
"entity": {
"search_in": "HEADLINE",
"any_of": ["<entity_id>"]
},
"sentiment": {
"ranges": [{ "min": -1, "max": -0.1 }]
},
"topic": {
"search_in": "ALL",
"any_of": [
"society,legal,fraud,,",
"business,regulatory,regulatory-investigation,,"
]
}
},
"max_chunks": 10
}
}3. Sector / Commodity News
Commodities desk: pick Energy, Power, Shipping & Freight, or Metals. Each desk ships with editable theme phrases. Every phrase is searched verbatim — there is no company / entity filter, so the feed follows the theme, not a single issuer.
- Natural-language
query.text(desk phrase as written) - No entity filter, no taxonomy topic filter
- Positive + negative sentiment (neutral excluded)
- Sources: public news and transcripts
- Optional AI expansion uses a desk-specific prompt
Search payload (one call per theme phrase):
{
"query": {
"text": "Brent and WTI crude oil prices rise or fall on shifting supply and demand outlook",
"filters": {
"timestamp": { "start": "...", "end": "..." },
"category": {
"mode": "INCLUDE",
"values": ["news_public", "transcripts"]
},
"sentiment": {
"values": ["positive", "negative"]
}
},
"max_chunks": 20
}
}Quick compare
| Topic News | Negative News | Sector / Commodity | |
|---|---|---|---|
| Page | / |
/ |
/sector |
| API | POST /api/news/{ticker} |
POST /api/news/{ticker}negative_news: true |
POST /api/sector-news |
| Query text | Yes — topic with company name | No — filters only | Yes — theme phrase verbatim |
| Entity | all_of company |
Headline any_of (1 ID) |
None |
| Taxonomy topics | No | Yes — risk categories | No |
| Sentiment | positive + negative | range −1 … −0.1 | positive + negative |
| Sources | news_public, transcripts | news_public, transcripts | news_public, transcripts |