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

Recipes / Monitor trial results, approvals and safety signals

Monitor trial results, approvals and safety signals

/stories in semantic 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=trial results approval regulator safety recall label change
  &mode=semantic
  &from=<now - 7d>

As a call you can paste:

curl -s -G "https://api.unzoi.com/stories" \
  -H "x-api-key: $UNZOI_KEY" \
  --data-urlencode "q=trial results approval regulator safety recall label change" \
  --data-urlencode "mode=semantic" \
  --data-urlencode "from=<now - 7d>"

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

Story clusters spanning the announcement and its pickup.

Field by field: the /stories response reference.

How this goes wrong

Treating news coverage as a substitute for regulatory sources. Coverage is selective and skews toward large companies and dramatic outcomes; use it for timeliness and the primary sources for completeness.

Adapting it

Splitting into three queries — one scoped to regulator communications, one to trade press, one to company announcements — gives three streams with very different reliability, and keeping them separate is more useful than the combined feed. For supply and shortage monitoring specifically, pharmacy and clinical trade outlets lead general coverage by a wide margin and deserve their own outlet-scoped query.

Running it for real

Regulatory decision and conference calendars are published in advance, so schedule around them rather than polling uniformly — most of the volume on this topic is calendar-driven. Never wire this to anything clinical or to anything that acts automatically: the recipe surfaces what is being reported, the gap between report and regulatory reality is widest exactly where the stakes are highest, and a human belongs in the loop by default.

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.