Skip to content

Introduction

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.

Download OpenAPI description
Overview
urlscan Support
Languages
Servers
https://urlscan.io

API endpoints related to the platform or the user account.

Operations

These APIs allow URLs to be scanned and the results of the scans to be retrieved.

Operations

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.

Operations

Request

API Endpoint to a list of available Live Scanning nodes along with their current metadata.

Security
apikeyAuth(Required scopes:
read
write
)
curl -i -X GET \
  https://urlscan.io/api/v1/livescan/scanners/ \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

Successful response

Request

Task a URL to be scanned. The HTTP request will return with the scan UUID immediately and then it is your responsibility to poll the result resource type until the scan has finished.

Security
apikeyAuth(Required scopes:
read
write
)
Path
scannerIdstringrequired
Example: de01
Bodyapplication/json
taskobject
scannerobject
curl -i -X POST \
  https://urlscan.io/api/v1/livescan/de01/task/ \
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -d '{
    "task": {
      "url": "http://example.com",
      "visibility": "public"
    },
    "scanner": {
      "pageTimeout": 10000,
      "captureDelay": 3000,
      "extraHeaders": {},
      "enableFeatures": [],
      "disableFeatures": []
    }
  }'

Responses

OK

Bodyapplication/json
uuidstring(uuid)

UUID of scan

Response
application/json
{ "uuid": "92d683cd-1575-4bde-89d1-99cd46ae07a7" }

Request

Task a URL to be scanned. The HTTP request will block until the scan has finished.

Security
apikeyAuth(Required scopes:
read
write
)
Path
scannerIdstringrequired
Example: de01
Bodyapplication/json
taskobject
scannerobject
curl -i -X POST \
  https://urlscan.io/api/v1/livescan/de01/scan/ \
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -d '{
    "task": {
      "url": "http://example.com",
      "visibility": "public"
    },
    "scanner": {
      "pageTimeout": 10000,
      "captureDelay": 3000,
      "extraHeaders": {},
      "enableFeatures": [],
      "disableFeatures": []
    }
  }'

Responses

OK

Bodyapplication/json
uuidstring(uuid)

UUID of scan

Response
application/json
{ "uuid": "10dae531-a98a-42fc-8c6f-cb8610ec0c10" }

Request

Retrieve the resource for a particular scan ID or SHA256 from this live scanner.

Security
apikeyAuth(Required scopes:
read
write
)
Path
scannerIdstringrequired
Example: de01
resourceTypestringrequired
Enum"result""screenshot""dom""response""download"
Example: result
resourceIdstringrequired
  • For result, screenshot, dom: UUID of the scan
  • For response, download: The SHA256 of the resource
Example: {resourceId}
curl -i -X GET \
  'https://urlscan.io/api/v1/livescan/de01/result/{resourceId}' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

Successful response

Request

Store the temporary scan as a permanent snapshot on urlscan.io.

Security
apikeyAuth(Required scopes:
read
write
)
Path
scannerIdstringrequired
Example: de01
scanIdstringrequired
Example: {scanId}
Bodyapplication/json
taskobject
Example: {"visibility":"public"}
curl -i -X PUT \
  'https://urlscan.io/api/v1/livescan/de01/{scanId}/' \
  -H 'Content-Type: application/json' \
  -H 'api-key: YOUR_API_KEY_HERE' \
  -d '{
    "task": {
      "visibility": "public"
    }
  }'

Responses

Successful response

Request

Purge temporary scan from scanner immediately. Scans will be automatically purged after 60 minutes.

Security
apikeyAuth(Required scopes:
read
write
)
Path
scannerIdstringrequired
Example: de01
scanIdstringrequired
Example: {scanId}
curl -i -X DELETE \
  'https://urlscan.io/api/v1/livescan/de01/{scanId}/' \
  -H 'api-key: YOUR_API_KEY_HERE'

Responses

Successful response

urlscan Pro - Saved Searches are rules that are executed inline against new incoming scans and hostnames.

Operations

urlscan Pro - Subscriptions allow notifications for Saved Searches.

Operations

urlscan Pro - Historical information on hostnames and domains

Operations

urlscan Pro - Information about tracked brands

Operations

urlscan Pro - Downloaded files

Operations

urlscan Pro - Incidents track observables, like hostnames and domains, and automatically scan and alert on changes.

Operations
Operations
Operations