Submit Scan

urlscan.scan
ActionBusiness appsconnection required

Calls the urlscan.io API with the connection's credentials.

Submit a URL to urlscan.io for scanning; the verdict arrives later.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
urlscan.io
Secret shape
the API key, or {"api_key": "…"}
Resolved by
config.connection_id, else node.connection_id

Configuration

7 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
url
The URL urlscan.io should load and scan.
stringYes—url formathttps://example.com/login
visibility
Who may see this scan. Leave blank to use the account's own default.
stringNo—one of "public", "unlisted", "private"—
tags
Up to ten labels to annotate the scan with, such as 'phishing'.
arrayNo—array of string["phishing"]
country
Two-letter ISO-3166-1 country to scan from; blank lets urlscan.io choose.
stringNo—matches ^[A-Za-z]{2}$de
customagent
Override the browser User-Agent string used for this one scan.
stringNo———
referer
Override the HTTP Referer header the scanning browser sends.
stringNo—url format—
override_safety
Skip urlscan.io's reclassification of URLs that look like they carry personal data. Leave off unless you are certain the URL carries none.
booleanNofalse——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "country": "de",
  "override_safety": false,
  "tags": [
    "phishing"
  ],
  "url": "https://example.com/login"
}

Output

One shape.

result

FieldTypeExample
uuid
The scan id; pass it to urlscan.get_result.
string—
message
urlscan.io's acknowledgement of the submission.
string—
url
The URL that was submitted, as urlscan.io echoed it.
string—
visibility
The visibility the scan was actually accepted at.
string—
country
The country the scan will be performed from.
string—
result_url
Link to the human-readable report on urlscan.io.
string—
api_url
The Result API URL for this scan.
string—
options
The scan options urlscan.io resolved, such as the user agent it will use.
object—
{
  "api_url": "",
  "country": "",
  "message": "",
  "options": {},
  "result_url": "",
  "url": "",
  "uuid": "",
  "visibility": ""
}

Notes

  • A scan takes tens of seconds: submit with urlscan.scan, wait with control.delay, then poll urlscan.get_result until 'done' is true.
  • Submit anything with personal data in the URL as 'unlisted' or 'private' — a public scan is visible on urlscan.io's front page and in its search.

See Submit Scan run in a workflow.

In a technical demo we add the urlscan.io connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.