sources lets you narrow, rank and fence that decision. Used well, it is the difference between a row target hit and a row target missed. Left empty on a task with a closed corpus, it invites listicles and aggregators in as evidence.
The four knobs
allow and block groups take a title and a domains list. An allow group with an empty domains list (“Company websites”) tells the agent the category without naming hosts.
Rules
Tier the allow list
Primary sources first, named premium outlets second, discovery channels last, and say inprioritize that discovery pages are never the citation. Without that sentence the agent will cite the search result it found the page through.
Name channels in the prompt too
sources shapes ranking; the prompt shapes search. On a cold discovery task, naming the channels to search (“funding news, accelerator portfolios, investor portfolio pages, each company’s own site”) moved one user’s results from 47% under the row target to on target across three runs.
Block what you never want cited
Translation proxies, cache mirrors and content farms produce citations that look real and point nowhere useful. Block them once on the agent.One site plus x-high is the one time “everything” works
When the whole corpus is a single named site (a manufacturer’s catalog section, an agency’s listing pages), allow only that site and run atx-high. The exhaustive instruction that fails on the open web works here. See Running at Scale for splitting a large site into runs.
Localization is a prompt instruction
There is no location parameter. Say it: “prices as shown to a shopper in Germany”, “search in Portuguese, return field values in English”. Test it in your first runs; behavior differs by site.Sites the agent cannot read
The agent reads the public web. It does not log in, hold a session, or solve challenges. Tasks built on these sources return thin or partial results, and the run is still billed:
Contact-detail hunts (personal emails, mobile numbers) fall in the same category for a different reason: the data is rarely on a public page, and asking for it invites construction from patterns. Ask for the page URL where contact details are published instead, and say “never construct an email from a pattern”.
Next Steps
Choosing the Right Tool
When a template or Extract beats an agent
Writing the Task
Name channels in the prompt
API reference: sources
The full
sources object