Skip to content
unzoi docs
Search and navigation
Start here
REST API
MCP
Limits and plans
Agent clients
SDKs
Guides

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.

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.