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

Recipes / Follow a sector, but only in publications you trust

Follow a sector, but only in publications you trust

/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=<sector terms>
  &mode=hybrid
  &source=<domain>
  &from=<now - 3d>

# repeat per outlet, merge client-side

As a call you can paste:

curl -s -G "https://api.unzoi.com/stories" \
  -H "x-api-key: $UNZOI_KEY" \
  --data-urlencode "q=<sector terms>" \
  --data-urlencode "mode=hybrid" \
  --data-urlencode "source=<domain>" \
  --data-urlencode "from=<now - 3d>"

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

Coverage from only those publishers. Because you fixed the outlet set, week-over-week comparisons within it are meaningful rather than an artefact of which sites happened to match.

Field by field: the /stories response reference.

How this goes wrong

Assuming a trusted-outlet list gives you completeness. It gives you precision. Run a wider unscoped query periodically to check what your list is missing.

Adapting it

The same shape works for regional scoping — a set of outlets in one market is usually a sharper filter than a country code, because it excludes the national press writing about that market from outside it. For editorial-position comparison, build two sets rather than one and query both, then compare the story lists: what appears in one and not the other is the finding, and merging them into a single feed destroys it.

Running it for real

One request per outlet per poll multiplies quickly, so keep the set small and deliberate rather than comprehensive. A dozen outlets polled hourly is roughly nine thousand requests a month before anything else. Where the set is large, poll it less often and use an unconstrained query at a higher frequency as the tripwire, falling back to the per-outlet sweep only when the tripwire fires. Re-audit the set quarterly: publications fold and get acquired, and a dead domain returns zero results indefinitely without erroring.

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.