Skip to content
Start here

Scans

Search URL scans
GET/accounts/{account_id}/urlscanner/v2/search
Get URL scan
GET/accounts/{account_id}/urlscanner/v2/result/{scan_id}
Create URL Scan
POST/accounts/{account_id}/urlscanner/v2/scan
Bulk create URL Scans
POST/accounts/{account_id}/urlscanner/v2/bulk
Get URL scan's HAR
GET/accounts/{account_id}/urlscanner/v2/har/{scan_id}
Get screenshot
GET/accounts/{account_id}/urlscanner/v2/screenshots/{scan_id}.png
Get URL scan's DOM
GET/accounts/{account_id}/urlscanner/v2/dom/{scan_id}
ModelsExpand Collapse
ScanListResponse { results }
results: array of { _id, page, result, 3 more }
_id: string
page: { asn, country, ip, url }
asn: string
country: string
ip: string
url: string
result: string
stats: { dataLength, requests, uniqCountries, uniqIPs }
dataLength: number
requests: number
uniqCountries: number
uniqIPs: number
task: { time, url, uuid, visibility }
time: string
url: string
uuid: string
visibility: string
verdicts: { malicious }
malicious: boolean
ScanGetResponse { data, lists, meta, 5 more }
data: { console, cookies, globals, 3 more }
console: array of { message }
message: { level, source, text, url }
level: string
source: string
text: string
url: string
cookies: array of { domain, expires, httpOnly, 10 more }
domain: string
expires: number
httpOnly: boolean
name: string
path: string
priority: string
sameParty: boolean
secure: boolean
session: boolean
size: number
sourcePort: number
sourceScheme: string
value: string
globals: array of { prop, type }
prop: string
type: string
performance: array of { duration, entryType, name, startTime }
duration: number
entryType: string
name: string
startTime: number
requests: array of { request, response, requests }
request: { documentURL, hasUserGesture, initiator, 9 more }
documentURL: string
hasUserGesture: boolean
initiator: { host, type, url }
host: string
type: string
url: string
redirectHasExtraInfo: boolean
request: { initialPriority, isSameSite, method, 4 more }
initialPriority: string
isSameSite: boolean
method: string
mixedContentType: string
referrerPolicy: string
url: string
headers: optional unknown
requestId: string
type: string
wallTime: number
frameId: optional string
loaderId: optional string
primaryRequest: optional boolean
redirectResponse: optional { charset, mimeType, protocol, 8 more }
charset: string
mimeType: string
protocol: string
remoteIPAddress: string
remotePort: number
securityHeaders: array of { name, value }
name: string
value: string
securityState: string
status: number
statusText: string
url: string
headers: optional unknown
response: { asn, dataLength, encodedDataLength, 8 more }
asn: { asn, country, description, 3 more }
asn: string
country: string
description: string
ip: string
name: string
org: string
dataLength: number
encodedDataLength: number
geoip: { city, country, country_name, 3 more }
city: string
country: string
country_name: string
geonameId: string
ll: array of number
region: string
hasExtraInfo: boolean
requestId: string
response: { charset, mimeType, protocol, 9 more }
charset: string
mimeType: string
protocol: string
remoteIPAddress: string
remotePort: number
securityDetails: { certificateId, certificateTransparencyCompliance, cipher, 10 more }
certificateId: number
certificateTransparencyCompliance: string
cipher: string
encryptedClientHello: boolean
issuer: string
keyExchange: string
keyExchangeGroup: string
protocol: string
sanList: array of string
serverSignatureAlgorithm: number
subjectName: string
validFrom: number
validTo: number
securityHeaders: array of { name, value }
name: string
value: string
securityState: string
status: number
statusText: string
url: string
headers: optional unknown
size: number
type: string
contentAvailable: optional boolean
hash: optional string
requests: optional array of { documentURL, frameId, hasUserGesture, 7 more }
documentURL: string
frameId: string
hasUserGesture: boolean
initiator: { type }
type: string
loaderId: string
redirectHasExtraInfo: boolean
request: { headers, initialPriority, isSameSite, 4 more }
headers: { name }
name: string
initialPriority: string
isSameSite: boolean
method: string
mixedContentType: string
referrerPolicy: string
url: string
requestId: string
type: string
wallTime: number
lists: { asns, certificates, continents, 7 more }
asns: array of string
certificates: array of { issuer, subjectName, validFrom, validTo }
issuer: string
subjectName: string
validFrom: number
validTo: number
continents: array of string
countries: array of string
domains: array of string
hashes: array of string
ips: array of string
linkDomains: array of string
servers: array of string
urls: array of string
meta: { processors }
processors: { asn, dns, domainCategories, 7 more }
asn: { data }
data: array of { asn, country, description, 2 more }
asn: string
country: string
description: string
ip: string
name: string
dns: { data }
data: array of { address, dnssec_valid, name, type }
address: string
dnssec_valid: boolean
name: string
type: string
domainCategories: { data }
data: array of { inherited, isPrimary, name }
inherited: unknown
isPrimary: boolean
name: string
geoip: { data }
data: array of { geoip, ip }
geoip: { city, country, country_name, 2 more }
city: string
country: string
country_name: string
ll: array of number
region: string
ip: string
phishing: { data }
data: array of string
radarRank: { data }
data: array of { bucket, hostname, rank }
bucket: string
hostname: string
rank: optional number
wappa: { data }
data: array of { app, categories, confidence, 3 more }
app: string
categories: array of { name, priority }
name: string
priority: number
confidence: array of { confidence, name, pattern, patternType }
confidence: number
name: string
pattern: string
patternType: string
confidenceTotal: number
icon: string
website: string
phishing_v2: optional { data }
data: array of string
robotsTxt: optional { data }
data: array of { rules, sitemaps, hash }
rules: { "*" }
"*": { allow, disallow, contentSignal, crawlDelay }
allow: array of string
disallow: array of string
contentSignal: optional { "ai-input", "ai-train", search }
"ai-input": optional string
"ai-train": optional string
crawlDelay: optional number
sitemaps: array of string
hash: optional string
urlCategories: optional { data }
data: array of { content, inherited, name, risks }
content: array of { id, name, super_category_id }
id: number
name: string
super_category_id: number
inherited: { content, from, risks }
content: array of { id, name, super_category_id }
id: number
name: string
super_category_id: number
from: string
risks: array of { id, name, super_category_id }
id: number
name: string
super_category_id: number
name: string
risks: array of { id, name, super_category_id }
id: number
name: string
super_category_id: number
page: { apexDomain, asn, asnname, 14 more }
apexDomain: string
asn: string
asnname: string
city: string
country: string
domain: string
ip: string
mimeType: string
server: string
status: string
title: string
tlsAgeDays: number
tlsIssuer: string
tlsValidDays: number
tlsValidFrom: string
url: string
screenshot: optional { dhash, mm3Hash, name, phash }
dhash: string
mm3Hash: number
name: string
phash: string
scanner: { colo, country }
colo: string
country: string
stats: { domainStats, ipStats, IPv6Percentage, 10 more }
domainStats: array of { count, countries, domain, 6 more }
count: number
countries: array of string
domain: string
encodedSize: number
index: number
initiators: array of string
ips: array of string
redirects: number
size: number
ipStats: array of { asn, countries, domains, 9 more }
asn: { asn, country, description, 3 more }
asn: string
country: string
description: string
ip: string
name: string
org: string
countries: array of string
domains: array of string
encodedSize: number
geoip: { city, country, country_name, 2 more }
city: string
country: string
country_name: string
ll: array of number
region: string
index: number
ip: string
ipv6: boolean
redirects: number
requests: number
size: number
count: optional number
IPv6Percentage: number
malicious: number
protocolStats: array of { count, countries, encodedSize, 3 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
protocol: string
size: number
resourceStats: array of { compression, count, countries, 5 more }
compression: number
count: number
countries: array of string
encodedSize: number
ips: array of string
percentage: number
size: number
type: string
securePercentage: number
secureRequests: number
serverStats: array of { count, countries, encodedSize, 3 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
server: string
size: number
tlsStats: array of { count, countries, encodedSize, 4 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
protocols: { "TLS 1.3 / AES_128_GCM" }
"TLS 1.3 / AES_128_GCM": number
securityState: string
size: number
uniqASNs: number
uniqCountries: number
task: { apexDomain, domain, domURL, 10 more }
apexDomain: string
domain: string
domURL: string
method: string
options: { customHeaders, screenshotsResolutions }
customHeaders: optional unknown

Custom headers set.

screenshotsResolutions: optional array of string
reportURL: string
screenshotURL: string
source: string
success: boolean
time: string
url: string
uuid: string
visibility: string
verdicts: { overall }
overall: { categories, hasVerdicts, malicious, tags }
categories: array of string
hasVerdicts: boolean
malicious: boolean
tags: array of string
ScanCreateResponse { api, message, result, 4 more }
api: string

URL to api report.

message: string
result: string

Public URL to report.

url: string

Canonical form of submitted URL. Use this if you want to later search by URL.

uuid: string

Scan ID.

formatuuid
visibility: "public" or "unlisted"

Submitted visibility status.

One of the following:
"public"
"unlisted"
options: optional { useragent }
useragent: optional string
ScanBulkCreateResponse = array of { api, result, url, 3 more }
api: string

URL to api report.

result: string

URL to report.

url: string

Submitted URL

uuid: string

Scan ID.

formatuuid
visibility: "public" or "unlisted"

Submitted visibility status.

One of the following:
"public"
"unlisted"
options: optional { useragent }
useragent: optional string
ScanHARResponse { log }
log: { creator, entries, pages, version }
creator: { comment, name, version }
comment: string
name: string
version: string
entries: array of { _initialPriority, _initiator_type, _priority, 11 more }
_initialPriority: string
_initiator_type: string
_priority: string
_requestId: string
_requestTime: number
_resourceType: string
cache: unknown
connection: string
pageref: string
request: { bodySize, headers, headersSize, 3 more }
bodySize: number
headers: array of { name, value }
name: string
value: string
headersSize: number
httpVersion: string
method: string
url: string
response: { _transferSize, bodySize, content, 6 more }
_transferSize: number
bodySize: number
content: { mimeType, size, compression }
mimeType: string
size: number
compression: optional number
headers: array of { name, value }
name: string
value: string
headersSize: number
httpVersion: string
redirectURL: string
status: number
statusText: string
serverIPAddress: string
startedDateTime: string
time: number
pages: array of { id, pageTimings, startedDateTime, title }
id: string
pageTimings: { onContentLoad, onLoad }
onContentLoad: number
onLoad: number
startedDateTime: string
title: string
version: string
ScanDOMResponse = string

HTML of webpage.