Imagine asking three job boards for remote Python roles. One returns records. One cannot apply the remote filter. The third is unavailable. A single successful response containing fourteen jobs hides two important facts: the search did not cover every source, and one source could never have satisfied your request.
Success needs a scope
A completed search with no matches is a useful answer. A source that could not be reached has not answered the question at all. Treating both as an empty list makes downstream decisions look more certain than they are.
TrueFetch is designed to preserve that distinction. A response identifies which sources delivered, which were excluded before execution, and which failed. The combined outcome describes the request as a whole.
Partial is a choice
Some workflows benefit from anything useful that comes back. Others need all selected sources. That choice belongs to the caller, so partial delivery must be explicitly allowed. Without it, an incomplete task cannot masquerade as a complete one.
A filter is not a suggestion
If a board cannot support a requested filter, quietly dropping it returns records that may not meet your criteria. The design checks source support before collection. An unsupported combination is refused, or the source is excluded when the request explicitly permits that behavior.
The receipt should explain the charge
For Job Scraper, the planned billing unit is a delivered record. The response should show the eligible quantity and amount, rather than forcing the caller to infer cost from a separate dashboard. A failed source is not a delivered record.
Our illustrative receipt shows fourteen records at an example rate of $0.003 each: $0.042. That arithmetic explains the model. It is not a published price or a claim of current source coverage.
Helpful for software. Essential for agents.
An AI client deciding whether to answer, retry or ask the user needs the same distinctions as a carefully written application. A structured response cannot guarantee good reasoning, but it can avoid hiding the evidence the client needs.
Inspect the example ↗