Radar
What an account watches, as lines of chips or as words in countries' calls for tender, and when it is swept.
{
"id": 37,
"name": "Competitors and AI",
"type": "news",
"folder": { "id": 5, "name": "Competitors" },
"query": {
"lines": [
{ "joiner": null, "chips": [
{ "kind": "event", "id": 212, "key": "mergers_acquisitions", "label": "M&A" },
{ "kind": "event", "id": 215, "key": "funding_events", "label": "Funding Events" },
{ "kind": "written", "id": 301, "key": null, "label": "A competitor launching or…" }
] },
{ "joiner": "AND", "chips": [
{ "kind": "group", "id": 3, "key": null, "label": "French banks", "member_ids": [91, 92, 93] },
{ "kind": "company", "id": 94, "key": null, "label": "Revolut" }
] },
{ "joiner": "NOT", "chips": [
{ "kind": "mute", "id": 230, "key": "stock_analyses", "label": "Stock Analyses" }
] }
]
},
"query_text": "M&A or Funding Events or A competitor launching or… at French banks or Revolut, not Stock Analyses",
"sources": ["linkedin", "open_web"],
"custom_source_ids": [12, 14],
"source_group_ids": [4],
"cadence": "weekly",
"window_days": 7,
"searchable": true,
"sweeping": false,
"last_sweep_at": "2026-09-21T06:12:40Z",
"next_sweep_at": "2026-09-28T06:00:00Z",
"created_at": "2026-09-14T09:30:02Z"
}folderis the folder the radar lives in. Every radar lives in exactly one.- The query is lines of chips. Chips on a line are alternatives (any of them). Lines hold
together (
AND). ANOTline must not hold. The first line'sjoinerisnull. - A chip's
kind:event(what happened),topic(what it is about),mute(content to leave out),written(a filter in the account's own words),company, orgroup, one of the account's company groups.keyis the catalogue key,nullfor a written filter, a company or a group. A group'smember_idsare its companies now: the radar follows the group, and each sweep searches its companies as they are then, so a company added to the group is searched from the next sweep with no change to the radar. query_textis the sentence the radar page shows.sourcessay what the radar reads:open_web, the news the searches find, andlinkedin, the posts of its companies' LinkedIn company pages; sorted. It is[]when the radar reads its custom sources alone.custom_source_idsare the account's custom sources it also searches, andsource_group_idsthe website groups it follows, whose custom sources it searches as they are at each sweep. It searches at most 30 custom sources, each counted once. A radar reads at least one source: the open web, LinkedIn, a custom source or a website group.searchableisfalsewhen the radar has nothing to read: neither a company (alone or in one of its groups) nor a written filter left, after a company was deleted, or, reading onlylinkedin, no company with a LinkedIn company page. It is not swept until it has.sweepingistruewhile a sweep is queued or running.
A tender radar
A radar of type tenders watches public calls for tender instead of the news. It has
countries and words in place of a query, and is swept every day.
{
"id": 41,
"name": "Solar carports, France",
"type": "tenders",
"folder": { "id": 6, "name": "Public tenders" },
"countries": ["FRA"],
"words": [
{ "phrase": "ombrières photovoltaïques", "excluded": false },
{ "phrase": "toiture photovoltaïque", "excluded": false },
{ "phrase": "maintenance", "excluded": true }
],
"query_text": "ombrières photovoltaïques or toiture photovoltaïque not maintenance in France",
"cadence": "daily",
"searchable": true,
"sweeping": false,
"last_sweep_at": "2026-09-29T06:03:51Z",
"next_sweep_at": "2026-09-30T06:00:00Z",
"created_at": "2026-09-24T14:12:09Z"
}countriesdecide where the radar looks, by ISO 3166 alpha-3 code: France is searched on BOAMP and TED, so it gets every public call from €90,000; any other country of the EU and the EEA on TED, so its calls above the EU thresholds.words: a call matches when its notice has any word that is not excluded, as an exact phrase, with or without accents. Anexcludedword drops a call when its title has it.searchableisfalsewhen every word is excluded.- Its calls are read with
GET /radars/{id}/tenders, not as signals.
An exchange rate radar
A radar of type rates follows currency pairs against the euro, euro area interest
rates, or both, instead of the news. It has pairs and interest_rates in place of a query,
and is never swept: its rates are the European Central Bank's, read once a working day for
every account.
{
"id": 44,
"name": "Caillau Mobility, currencies",
"type": "rates",
"folder": { "id": 7, "name": "Markets" },
"pairs": ["USD", "CNY", "BRL"],
"interest_rates": ["estr", "aaa_3m"],
"query_text": "EUR/USD, EUR/CNY, EUR/BRL, €STR, 3-month rate, AAA bonds",
"created_at": "2026-09-29T15:02:44Z"
}pairs: the currencies it follows, each quoted against the euro (USDfor EUR/USD), in the order the radar page shows them. Any of the 29 the ECB publishes.interest_rates: the interest rates it follows, by code, in order; empty when it follows pairs only. Pairs and interest rates together are 1 to 20.- Its rates and interest rates are read with
GET /radars/{id}/rates.
A price radar
A radar of type commodity_prices follows raw materials instead of the news. It has
commodities in place of a query, and is never swept: its prices are read once a day for
every account from each commodity's publisher.
{
"id": 45,
"name": "Mathevon, raw materials",
"type": "commodity_prices",
"folder": { "id": 7, "name": "Markets" },
"commodities": ["nickel", "cobalt", "brent"],
"query_text": "Nickel, Cobalt, Brent crude",
"created_at": "2026-09-30T09:12:05Z"
}commodities: the codes it follows, in the order the radar page shows them:nickel,cobalt,molybdenum,aluminium,copper,zinc,tin,lead,iron_ore,brent,henry_hub,power_fr,ttf,chromium.- Its prices are read with
GET /radars/{id}/prices.
To create or change a radar, see Radars in the endpoints guide.