search
Pack: urlscan-io · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/search for the schema, then POST the same URL with its arguments for the data.
Search the public urlscan.io archive of website scans using urlscan query syntax, for example page.domain:example.com, task.url, ip, asn, or filename terms, with size and search_after paging and no API key needed. Returns matching scan records with the scanned URL, page domain, IP, ASN, server, scan date, and the scan uuid used to pull the full report. Answers which pages urlscan has already scanned for a domain, brand, or infrastructure indicator.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | yes | |
size | number | no | |
search_after | string | no |
Example call
Arguments
{
"query": "phishing"
}
curl
curl -X POST https://gateway.pipeworx.io/urlscan-io/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search","arguments":{"query":"phishing"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('search', {
"query": "phishing"
});
More examples
{
"query": "malware",
"size": 50,
"search_after": "2024-01-15"
}
Response shape
| Field | Type | Description |
|---|---|---|
results | array | Array of scan results matching the query |
total | number | Total number of results available |
has_more | boolean | Whether more results are available |
took | number | Query execution time in milliseconds |
Full JSON Schema
{
"type": "object",
"description": "Search results from urlscan.io",
"properties": {
"results": {
"type": "array",
"description": "Array of scan results matching the query",
"items": {
"type": "object",
"properties": {
"task": {
"type": "object",
"description": "Task information for the scan"
},
"page": {
"type": "object",
"description": "Page information from the scan"
},
"stats": {
"type": "object",
"description": "Statistics from the scan"
},
"meta": {
"type": "object",
"description": "Metadata about the scan"
}
}
}
},
"total": {
"type": "number",
"description": "Total number of results available"
},
"has_more": {
"type": "boolean",
"description": "Whether more results are available"
},
"took": {
"type": "number",
"description": "Query execution time in milliseconds"
}
}
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the urlscan-io pack
{
"mcpServers": {
"urlscan-io": {
"url": "https://gateway.pipeworx.io/urlscan-io/mcp"
}
}
}
See Getting Started for client-specific install steps.