Search page source
searchFind websites whose page source (HTML, JavaScript, CSS) contains a string: a library name, a script url, a tracking or widget id, a meta tag, any code fragment. Results are ranked by site popularity. Look a technology up by its ready-made query on the examples pages (read_docs: the Technologies pages listed in its table of contents), not by its name. Query syntax: quote an exact phrase ("angular.min.js"); several words must all appear; a leading minus excludes a word (-wordpress); | means OR; site:de limits to a top-level domain, site:example.com lists the pages of one site, -site:com or -site:example.com leaves them out; depth:all searches inner pages too (by default only home pages, one per site) - then total counts pages, and sites counts the distinct websites among them (a lower bound when sites_exact is false; without depth: there is no sites). Websites about a topic or like a given one, most similar first instead of by popularity: like:"a few words" - websites about that topic, in any language, by meaning rather than the exact words (site:de keeps only that domain zone); like:example.com - websites about the same thing as that one (it compares home pages: when a shop or landing page has too little text there, the search finds nothing - describe the topic in words instead); with words, like: orders their results. like: is the topic of a site, not its code: websites that share code with given ones are found by build_signatures on a cluster of them. With like:, total counts everything the filters let through: read the first rows rather than total. rank is the place by popularity, 1 being the most popular, an estimate with no guarantees. More operators are in read_docs. Searches count against the account's daily allowance. At most 10 calls a minute of search and the cluster tools, shared with the REST API; account and read_docs do not count. On too_many_requests wait retry_after seconds. Ask for a small number of rows first.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "search"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number; page * rows cannot exceed the plan's rows per query. | |
| rows | No | Results per page, 20 by default. The plan caps it; larger pages are long - 100 is plenty for a model. | |
| query | Yes | What to search for, in PublicWWW query syntax. | |
| snippets | No | Also return up to 3 short fragments of page source around the match for each result. It spends a snippet search. A query with no phrase to match (like: or site: alone) gets the page title instead. |