Recipes / Find who reported a story first
Find who reported a story first
/search 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 /search
?q=<story>
&mode=hybrid
&from=<window start>
&to=<window end>
# order by published_at ascending As a call you can paste:
curl -s -G "https://api.unzoi.com/search" \
-H "x-api-key: $UNZOI_KEY" \
--data-urlencode "q=<story>" \
--data-urlencode "mode=hybrid" \
--data-urlencode "from=<window start>" \
--data-urlencode "to=<window end>"
For an agent rather than a script, the same query is the search_news
MCP tool with these as its arguments.
Parameters used here
What comes back
Articles in publication order. The gap between the first item and the bulk is a rough measure of how much of a scoop it was.
Field by field: the /search response reference.
How this goes wrong
Trusting timestamps to the second. Publishers stamp articles inconsistently, and some back-date. Treat the ordering as indicative of sequence, not as evidence.
Adapting it
Repeating the query with a wider window turns a single ordering into a propagation trace, which is the more defensible output. Adding the country or language filter and comparing traces shows how a story crossed markets, and the crossing point is often more interesting than the origin. For syndication specifically, compare the article count against the outlet count over the same window.
Running it for real
Request a large limit in one call rather than paging, because the ordering is only meaningful over a complete set and a partial page silently truncates the tail. Re-run any analysis at least a day later: late-indexed articles from slower or paywalled publishers change the early part of the ordering, which is exactly the part the recipe is about.
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.