> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nimbleway.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Controlling Sources

> Allow, block, prioritize and avoid: steer where the agent looks, and know which sites it cannot read

The agent decides where to look. `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

| Knob | Type | Use it for |
| - | - | - |
| `allow` | Groups of domains, ordered | A closed corpus: the company's own site plus filings; a named set of retailers; tiered platforms and outlets |
| `block` | Groups of domains | Proxies, mirrors, translation caches, content farms, sites you never want cited |
| `prioritize` | Free text | Which sources win when they disagree, and which are discovery-only |
| `avoid` | Free text | Softer than block: "listicles as the sole evidence", "net-worth aggregators", "search results pages as citations" |

```json theme={"system"}
{
  "allow": [
    { "title": "Tier 1: primary", "domains": ["sec.gov", "companieshouse.gov.uk"], "order": 0 },
    { "title": "Tier 2: premium press", "domains": ["reuters.com", "ft.com", "bloomberg.com", "techcrunch.com", "sifted.eu"], "order": 1 },
    { "title": "Tier 3: discovery only", "domains": ["news.google.com", "crunchbase.com"], "order": 2 }
  ],
  "block": [
    { "title": "Proxies and mirrors", "domains": ["translate.google.com", "webcache.googleusercontent.com"] }
  ],
  "prioritize": "Tier 1 for any financial or legal fact. Tier 2 is the preferred citation for news. Tier 3 is discovery only: use it to find the underlying page and cite that page, never the directory or search result itself.",
  "avoid": "Listicles, AI-generated summary sites and aggregator query URLs as the evidence for any claim."
}
```

`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 in `prioritize` 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 at `x-high`. The exhaustive instruction that fails on the open web works here. See [Running at Scale](https://docs.nimbleway.com/nimble-sdk/web-search-agents/best-practices/running-at-scale.md) 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:

| Source | What happens | Do instead |
| - | - | - |
| LinkedIn profiles, jobs, company pages | Profile pages are not readable. The agent stitches from third-party mirrors, often wrong or padded | Drop the person field, or enable Nimble's social data access on your account and ask your account manager |
| Instagram, TikTok, X, Facebook, Reddit | Same. Public post pages sometimes read, feeds and profiles do not | Use the site's [Extract Template](https://docs.nimbleway.com/nimble-sdk/agentic/agent-gallery.md) where one exists (TikTok, Instagram, and others) |
| Glassdoor, Zillow, LoopNet, Craigslist | Anti-bot walls. Zillow-based tasks shipped partial output more than two thirds of the time in a recent month | Public registries, MLS feeds via a template, or the source's own API |
| Login-walled marketplaces (Tmall, some B2B portals) | Empty shells | A template, or the platform's API |
| Heavy JavaScript apps with no server-rendered content | Sometimes empty | Test one URL with [Extract](https://docs.nimbleway.com/nimble-sdk/web-tools/extract/quickstart.md) first. If Extract cannot read it, the agent cannot either |
| Paywalled journals and databases | Abstract only | Open-access mirrors, preprint servers |

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".

> [!WARNING]
>
> Some Nimble-published gallery templates list these sites in their sources. Treat those entries as discovery hints, not as evidence the agent can read the site. Check the template's `sources` after copying it; goals and sources do not always carry over.

## Next Steps

> **[Choosing the Right Tool](https://docs.nimbleway.com/nimble-sdk/web-search-agents/choosing-the-right-tool.md)**
>
> When a template or Extract beats an agent

> **[Writing the Task](https://docs.nimbleway.com/nimble-sdk/web-search-agents/best-practices/writing-the-task.md)**
>
> Name channels in the prompt

> **[API reference: sources](https://docs.nimbleway.com/api-reference/public-api/create-agent.md)**
>
> The full `sources` object


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.