Recipes / Track a brand across every language you don't read
Track a brand across every language you don't read
/stories in hybrid mode. This page is the
operational half — what comes back, how it breaks, and what running it for real takes.
The request
GET /stories
?q=<brand name>
&mode=hybrid
&from=2026-07-28
&to=2026-07-29 As a call you can paste:
curl -s -G "https://api.unzoi.com/stories" \
-H "x-api-key: $UNZOI_KEY" \
--data-urlencode "q=<brand name>" \
--data-urlencode "mode=hybrid" \
--data-urlencode "from=2026-07-28" \
--data-urlencode "to=2026-07-29"
For an agent rather than a script, the same query is the list_stories
MCP tool with these as its arguments.
Parameters used here
What comes back
One item per event, each carrying the outlets that ran it and the languages they published in. The outlet list is the field that matters — a story carried by three outlets in one country and one carried by thirty across four languages are different situations that identical article counts would hide completely.
Field by field: the /stories response reference.
How this goes wrong
Teams filter to English first "to keep it manageable" and then discover a problem days late because it broke in a market they were not reading. If volume is the concern, tighten the time window rather than dropping languages — a shorter window in every language beats a long window in one.
Adapting it
Swap the brand for a product line, an executive name or a ticker and the shape holds. For an executive, expect more transliteration variance than for a company, so lean harder on hybrid mode. If you need per-market breakdowns rather than a single global feed, run one query per language rather than one unscoped query, and compare the outlet lists — the same story reaching thirty outlets in one market and three in another is the finding, not an artefact.
Running it for real
Run it on a schedule, keep the last-seen timestamp, and request only what has published since. Deduplicate on the story identifier. For escalation, a rule that works without tuning: one outlet is a mention, five unrelated outlets inside an hour is a story, and a story still acquiring outlets after the first hour is the one someone senior needs to see. Review the acted-on rate monthly — brand monitoring decays by losing precision while coverage stays fine, and nobody notices until a real story lands in a channel people stopped reading.
Related recipes
Why this approach
The case for these parameters over the obvious alternatives — and when this recipe is the wrong tool entirely — is on the recipe's page on unzoi.com. It is kept there rather than repeated here, so the argument and the operations cannot drift apart.