What you get
An unattended job that re-runs a fixed query set on a schedule, stores what it has seen, and produces a delta — the papers that are new since last time, ranked by whether they change a decision you have already made. One research team runs this across 121 countries every six hours to track education-reform literature, feeding a public site. The shape generalizes to any entity list: compounds, competitors, materials, indications, regions.Who it’s for
Engineers and technical researchers maintaining a living evidence base rather than answering a one-off question. Runs from Codex, Claude Code, a GitHub Action, or any scheduler.How it works
1
Fix the entity list and the query template
Separate the two. One template — “education reform outcomes in ” — crossed with an entity list is far easier to maintain and audit than hundreds of hand-written queries.
2
Window every run
Set
year_min and month_min to the last successful run rather than filtering client-side. You retrieve less, pay for less, and get a cleaner set.3
Paginate to exhaustion per entity
Walk
page from 0 while is_end is false. Pagination runs to page 49 and page_size caps at your plan’s maximum, so one query can reach tens of thousands of records.4
Diff on DOI against stored state
Persist every DOI you have reported. The run’s output is the set difference, not the search results.
5
Log the empty runs too
A run that finds nothing is a record you need — it distinguishes “no new evidence” from “the job silently broke three weeks ago.”
The pipeline
Pagination and page sizes above the default of 20 require a paid plan or an Enterprise API key.
page_size caps at 300 on Pro and Teams, 750 on Deep, and higher on Enterprise keys. A request over your ceiling is clamped rather than rejected — read the page_size echoed back in the response.Rate limits and backoff
Build backoff in before you widen the entity list, not after.- Pace to one search per second. That is the limit on every plan except Enterprise, so build the pacing into the pipeline rather than firing entities in parallel. Honour
retry-afterand add jitter between entities. - A 429 mentioning your monthly search allowance is a usage limit, not a rate limit — retrying will not help. Turn on additional usage in your account settings to keep searching past the included allowance.
- Scheduled runs consume searches like any other request. A 121-entity sweep every six hours is roughly 484 entity-sweeps a day before pagination; size your plan for it.
Reporting the delta
Rank the new papers by whether they change a decision, not by citation count — a paper published this week has none yet. A useful report is five items with one line each and a link, plus an explicit “nothing notable this run” state that actually gets used.What to check before you trust it
- Alert on the job, not just the findings. A silent pipeline looks identical to a quiet literature. Persist per-run counts and alert when a run returns zero results across all entities.
- Version the query template. When you change it, the delta becomes incomparable to previous runs. Record the template version alongside each run.
- Watch for entity-name collisions. Short or ambiguous entity names pull in unrelated work. Spot-check the highest-volume entities.
- Cache if you re-query. Heavy users hit this fast; cache on the full parameter set with a short TTL.
Related
Monitor new research about a drug, device, or brand
The same machinery, pointed at a commercial watchlist.
Build a reusable literature-review workflow
The interactive version of the same method.
Best practices
Exhaustive sweep and diff-against-last-run in detail.
All use cases
Browse the gallery by persona.