search
Pack: urlscan-io · Endpoint: https://gateway.pipeworx.io/urlscan-io/mcp
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, or use one-click install buttons:
{
"mcpServers": {
"urlscan-io": {
"url": "https://gateway.pipeworx.io/urlscan-io/mcp"
}
}
}
See Getting Started for client-specific install steps.