API endpoints for urlscan.io and urlscan Pro. Most of these API endpoints require authentication.
The fastest way to start working with our APIs is by using one of the many existing commercial or open-source integrations.
http://urlscan.io/
Intended visibility of the final scan result
Country to scan from. ISO 3166-1 alpha-2 format. If not supplied, an appropriate country will automatically be chosen.
User-defined tags to annotate this scan, e.g. "phishing" or "malicious".
If set to any value, this will disable reclassification of URLs with potential PII in them. Use with care!
http://urlscan.io/api/v1/scan
curl -i -X POST \
http://urlscan.io/api/v1/scan \
-H 'Content-Type: application/json' \
-H 'api-key: YOUR_API_KEY_HERE' \
-d '{
"url": "https://urlscan.io",
"visibility": "public",
"country": "de",
"tags": [
"postman",
"testing"
]
}'
{ "uuid": "68e26c59-2eae-437b-aeb1-cf750fafe7d7", "visibility": "public", "url": "https://urlscan.io/", "country": "de" }
Using the Scan ID received from the Submission API, you can use the Result API to poll for the scan. The most efficient approach would be to wait at least 10 seconds before starting to poll, and then only polling 2-second intervals with an eventual upper timeout in case the scan does not return.
http://urlscan.io/api/v1/result/{scanId}/
curl -i -X GET \
'http://urlscan.io/api/v1/result/{scanId}/' \
-H 'api-key: YOUR_API_KEY_HERE'
OK
Raw scan data including network requests, responses, cookies, console logs, and page elements
Statistical analysis of the scan including resource counts, protocols, security metrics, and geographic distribution
Enriched metadata from external processors including domain rankings, geolocation, DNS records, and ASN information
Information about the scanned page including server details, location, and network properties
Aggregated lists of unique elements found during the scan including IPs, domains, URLs, and certificates
Security verdicts and threat analysis from multiple sources including urlscan.io, third-party engines, and community ratings
{ "data": { "requests": [ … ], "cookies": [ … ], "console": [ … ], "links": [ … ], "timing": { … }, "globals": [ … ] }, "stats": { "resourceStats": [ … ], "protocolStats": [ … ], "tlsStats": [ … ], "serverStats": [ … ], "domainStats": [ … ], "regDomainStats": [ … ], "secureRequests": 55, "securePercentage": 100, "IPv6Percentage": 80, "uniqCountries": 1, "totalLinks": 10, "malicious": 0, "adBlocked": 0, "ipStats": [ … ] }, "meta": { "processors": { … } }, "task": { "uuid": "68e26c59-2eae-437b-aeb1-cf750fafe7d7", "time": "2023-08-18T10:27:47.342Z", "url": "https://urlscan.io/", "visibility": "public", "method": "api", "source": "d1675d21", "tags": [], "reportURL": "https://urlscan.io/result/68e26c59-2eae-437b-aeb1-cf750fafe7d7/", "screenshotURL": "https://urlscan.io/screenshots/68e26c59-2eae-437b-aeb1-cf750fafe7d7.png", "domURL": "https://urlscan.io/dom/68e26c59-2eae-437b-aeb1-cf750fafe7d7/" }, "page": { "url": "https://urlscan.io/", "domain": "urlscan.io", "country": "DE", "city": "", "server": "nginx", "ip": "49.12.22.106", "asn": "AS24940", "asnname": "HETZNER-AS, DE" }, "lists": { "ips": [ … ], "countries": [ … ], "asns": [ … ], "domains": [ … ], "servers": [ … ], "urls": [ … ], "linkDomains": [ … ], "certificates": [ … ], "hashes": [ … ] }, "verdicts": { "overall": { … }, "urlscan": { … }, "engines": { … }, "community": { … } }, "submitter": { "country": "US" } }
http://urlscan.io/screenshots/{scanId}.png
curl -i -X GET \
'http://urlscan.io/screenshots/{scanId}.png' \
-H 'api-key: YOUR_API_KEY_HERE'
http://urlscan.io/dom/{scanId}/
curl -i -X GET \
'http://urlscan.io/dom/{scanId}/' \
-H 'api-key: YOUR_API_KEY_HERE'
http://urlscan.io/api/v1/availableCountries
curl -i -X GET \
http://urlscan.io/api/v1/availableCountries \
-H 'api-key: YOUR_API_KEY_HERE'
{ "countries": [ "de", "us", "jp", "fr", "gb", "nl", "ca", "it", "es", "se", "fi", "dk", "no", "is", "au", "nz", "pl", "sg", "ge", "pt", "at", "ch" ] }
http://urlscan.io/api/v1/userAgents
curl -i -X GET \
http://urlscan.io/api/v1/userAgents \
-H 'api-key: YOUR_API_KEY_HERE'
{ "userAgents": [ { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … }, { … } ] }
urlscan Pro - Live Scanning allows users to scan websites from different geographical locations and using different device settings.
See additional info about this proprietary feature on urlscan Pro.