Skip to content
Start here

URL Scanner

ModelsExpand Collapse
URLScannerDomain = object { id, name, super_category_id }
id: number
name: string
super_category_id: optional number
URLScannerTask = object { effectiveUrl, errors, location, 7 more }
effectiveUrl: string
errors: array of object { message }
message: string
location: string
region: string
status: string
success: boolean
time: string
url: string
uuid: string
visibility: string

URL ScannerResponses

Get raw response
GET/accounts/{account_id}/urlscanner/v2/responses/{response_id}
ModelsExpand Collapse
ResponseGetResponse = string

Web resource or image.

URL ScannerScans

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 = object { results }
results: array of object { _id, page, result, 3 more }
_id: string
page: object { asn, country, ip, url }
asn: string
country: string
ip: string
url: string
result: string
stats: object { dataLength, requests, uniqCountries, uniqIPs }
dataLength: number
requests: number
uniqCountries: number
uniqIPs: number
task: object { time, url, uuid, visibility }
time: string
url: string
uuid: string
visibility: string
verdicts: object { malicious }
malicious: boolean
ScanGetResponse = object { data, lists, meta, 5 more }
data: object { console, cookies, globals, 3 more }
console: array of object { message }
message: object { level, source, text, url }
level: string
source: string
text: string
url: string
cookies: array of object { 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 object { prop, type }
prop: string
type: string
performance: array of object { duration, entryType, name, startTime }
duration: number
entryType: string
name: string
startTime: number
requests: array of object { request, response, requests }
request: object { documentURL, hasUserGesture, initiator, 9 more }
documentURL: string
hasUserGesture: boolean
initiator: object { host, type, url }
host: string
type: string
url: string
redirectHasExtraInfo: boolean
request: object { 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 object { charset, mimeType, protocol, 8 more }
charset: string
mimeType: string
protocol: string
remoteIPAddress: string
remotePort: number
securityHeaders: array of object { name, value }
name: string
value: string
securityState: string
status: number
statusText: string
url: string
headers: optional unknown
response: object { asn, dataLength, encodedDataLength, 8 more }
asn: object { asn, country, description, 3 more }
asn: string
country: string
description: string
ip: string
name: string
org: string
dataLength: number
encodedDataLength: number
geoip: object { 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: object { charset, mimeType, protocol, 9 more }
charset: string
mimeType: string
protocol: string
remoteIPAddress: string
remotePort: number
securityDetails: object { 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 object { 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 object { documentURL, frameId, hasUserGesture, 7 more }
documentURL: string
frameId: string
hasUserGesture: boolean
initiator: object { type }
type: string
loaderId: string
redirectHasExtraInfo: boolean
request: object { headers, initialPriority, isSameSite, 4 more }
headers: object { name }
name: string
initialPriority: string
isSameSite: boolean
method: string
mixedContentType: string
referrerPolicy: string
url: string
requestId: string
type: string
wallTime: number
lists: object { asns, certificates, continents, 7 more }
asns: array of string
certificates: array of object { 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: object { processors }
processors: object { asn, dns, domainCategories, 7 more }
asn: object { data }
data: array of object { asn, country, description, 2 more }
asn: string
country: string
description: string
ip: string
name: string
dns: object { data }
data: array of object { address, dnssec_valid, name, type }
address: string
dnssec_valid: boolean
name: string
type: string
domainCategories: object { data }
data: array of object { inherited, isPrimary, name }
inherited: unknown
isPrimary: boolean
name: string
geoip: object { data }
data: array of object { geoip, ip }
geoip: object { city, country, country_name, 2 more }
city: string
country: string
country_name: string
ll: array of number
region: string
ip: string
phishing: object { data }
data: array of string
radarRank: object { data }
data: array of object { bucket, hostname, rank }
bucket: string
hostname: string
rank: optional number
wappa: object { data }
data: array of object { app, categories, confidence, 3 more }
app: string
categories: array of object { name, priority }
name: string
priority: number
confidence: array of object { confidence, name, pattern, patternType }
confidence: number
name: string
pattern: string
patternType: string
confidenceTotal: number
icon: string
website: string
phishing_v2: optional object { data }
data: array of string
robotsTxt: optional object { data }
data: array of object { rules, sitemaps, hash }
rules: object { "*" }
"*": object { allow, disallow, contentSignal, crawlDelay }
allow: array of string
disallow: array of string
contentSignal: optional object { "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 object { data }
data: array of object { content, inherited, name, risks }
content: array of object { id, name, super_category_id }
id: number
name: string
super_category_id: number
inherited: object { content, from, risks }
content: array of object { id, name, super_category_id }
id: number
name: string
super_category_id: number
from: string
risks: array of object { id, name, super_category_id }
id: number
name: string
super_category_id: number
name: string
risks: array of object { id, name, super_category_id }
id: number
name: string
super_category_id: number
page: object { 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 object { dhash, mm3Hash, name, phash }
dhash: string
mm3Hash: number
name: string
phash: string
scanner: object { colo, country }
colo: string
country: string
stats: object { domainStats, ipStats, IPv6Percentage, 10 more }
domainStats: array of object { 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 object { asn, countries, domains, 9 more }
asn: object { 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: object { 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 object { count, countries, encodedSize, 3 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
protocol: string
size: number
resourceStats: array of object { 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 object { count, countries, encodedSize, 3 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
server: string
size: number
tlsStats: array of object { count, countries, encodedSize, 4 more }
count: number
countries: array of string
encodedSize: number
ips: array of string
protocols: object { "TLS 1.3 / AES_128_GCM" }
"TLS 1.3 / AES_128_GCM": number
securityState: string
size: number
uniqASNs: number
uniqCountries: number
task: object { apexDomain, domain, domURL, 10 more }
apexDomain: string
domain: string
domURL: string
method: string
options: object { 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: object { overall }
overall: object { categories, hasVerdicts, malicious, tags }
categories: array of string
hasVerdicts: boolean
malicious: boolean
tags: array of string
ScanCreateResponse = object { 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 object { useragent }
useragent: optional string
ScanBulkCreateResponse = array of object { 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 object { useragent }
useragent: optional string
ScanHARResponse = object { log }
log: object { creator, entries, pages, version }
creator: object { comment, name, version }
comment: string
name: string
version: string
entries: array of object { _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: object { bodySize, headers, headersSize, 3 more }
bodySize: number
headers: array of object { name, value }
name: string
value: string
headersSize: number
httpVersion: string
method: string
url: string
response: object { _transferSize, bodySize, content, 6 more }
_transferSize: number
bodySize: number
content: object { mimeType, size, compression }
mimeType: string
size: number
compression: optional number
headers: array of object { 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 object { id, pageTimings, startedDateTime, title }
id: string
pageTimings: object { onContentLoad, onLoad }
onContentLoad: number
onLoad: number
startedDateTime: string
title: string
version: string
ScanDOMResponse = string

HTML of webpage.