web-search returns ranked sources. Each result has a title, URL, snippet, and domain. It does not fetch page bodies.

The include_text input remains accepted so existing callers keep working. The response always sets include_text: false. A caller that needs page text can send the selected URL to scrape-to-json after it has chosen a source.

That boundary now appears on web-search and its search aliases before an agent pays. The route, price, and response fields stay the same.