Recipes
Worked query patterns for tasks people actually build. Each one names the retrieval mode, the filters that matter, and the mistake that makes it return the wrong thing.
The four decisions every query comes down to
Nearly every recipe below is a combination of the same four choices, and getting them right matters far more than the exact phrasing of the query.
Retrieval mode. Keyword for identifiers, semantic for concepts, hybrid for anything a model composed. Outside English, keyword is rarely the right answer.
Clustered or not. Cluster when results feed a context window or an alert. Do not cluster when the duplicates are the thing you are studying.
Time bound. Always set one. An unbounded semantic query over a deep archive returns confident results anchored to nothing.
Outlet scope. The most under-used filter. Restricting to a known set of publishers is usually a better proxy for region, sector or editorial stance than any other field, and it makes sentiment comparisons meaningful instead of accidental.
Tasks
| Task | Mode | The thing that decides it |
|---|---|---|
| Track every mention of a brand, in every language you do not read | hybrid | 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. |
| Detect layoff announcements as they are reported | semantic | Building this on a keyword alert for the word "layoffs". |
| Ground a model answer in current reporting without wasting the context window | hybrid | Using /search with a high limit and letting the model deduplicate. |
| Stop one wire report arriving as forty results | hybrid | Writing your own title-similarity clustering. |
| Build a morning digest someone will actually read | recent | A digest built on article search reads as twenty variations of the top three stories, and people stop opening it within a fortnight. |
| Follow one story as coverage accumulates, without re-reading it | hybrid | Re-running the full query each poll and diffing on headline. |
| Follow earnings coverage for a listed company | keyword | Using the company name in keyword mode and concluding coverage is thin. |
| Monitor a market whose language nobody on the team reads | semantic | Assuming English-language coverage of a country substitutes for that country's own press. |
| Compare how two markets covered the same event | semantic | Comparing sentiment across markets without fixing the outlet sets. |
| Catch supply chain disruption before it reaches the wires | semantic | Waiting for English coverage to confirm what a domestic outlet reported three days earlier. |
| Watch for regulatory action in a sector | hybrid | A seven-day window and a conclusion that coverage is sparse. |
| Build a crypto news feed that is not mostly press releases | hybrid | Ranking by recency alone. |
| Find coverage with a particular tone | hybrid | Averaging tone across an outlet set you did not choose. |
| Follow a sector, but only in publications you trust | hybrid | Assuming a trusted-outlet list gives you completeness. |
| Track what is being written about your competitors | hybrid | Treating volume as sentiment. |
| Query an exact window, down to the minute | keyword | Forgetting that publication timestamps reflect when the publisher stamped the article, which is not always when it appeared, and is occasionally back-dated. |
| Track a slow-moving topic without drowning in it | semantic | Using a single broad keyword like "climate". |
| Watch what is said about a named individual | hybrid | Querying a common name with no disambiguation and concluding the coverage is enormous. |
| Catch funding rounds, acquisitions and IPOs | semantic | Missing deals announced only in a local language. |
| Follow a topic in a specific language only | semantic | Leaving the language filter off and assuming the topic implies the market. |
| Monitor trial results, approvals and safety signals | semantic | Treating news coverage as a substitute for regulatory sources. |
| Find who reported a story first | hybrid | Trusting timestamps to the second. |
| Notice when coverage stops | hybrid | Alerting on a one-day gap. |
| Produce a machine-readable daily brief | recent | Letting the model pick what matters from an unranked list. |
Only recipes this API can actually serve are listed. Tasks that would need faceting or entity cross-referencing are deliberately absent rather than written up against capabilities that do not exist.
The mistake that accounts for most bad results
Reaching for article search when the task wanted story grouping. It is not obvious in testing, because a single test query on a quiet day returns a sensible-looking handful of results. The failure appears on the day something happens: coverage floods, the response fills with the same event, and whatever consumes it — a model, an alert channel, a digest — degrades exactly when it mattered most.
The second most common is trusting sentiment averaged across an unfixed outlet set. Editorial stance varies more between publishers than it does between weeks, so an average over whichever outlets your query happened to reach describes the sample, not the story. Fix the outlet set first, then compare over time within it.