Skip to main content
POST
security.url.check

Authorizations

Authorization
string
header
required

API key: sk_live_…

Headers

Idempotency-Key
string

Optional. A retry with the same key returns the stored result.

Maximum string length: 255
Pramaan-Max-Price-Micro
string

Optional. The most this request may be priced at, in micro-USD (a whole number above 0). It replaces the capability's own price ceiling for this request, lower or higher. Sources that could cost more are left out; when none is left the answer is 400 with the lowest limit that would work.

Pattern: ^[1-9]\d{0,14}$

Body

application/json
url
string
required

The URL to look up. Only verdicts already known to the sources are returned; nothing is scanned or fetched by this call. Some sources add the URL to their own public datasets.

Response

The result

url
string
required

The URL that was checked.

verdict
enum<string>
required

Overall verdict. From scanning engines (about ninety scan each URL): malicious = 3 or more engines flag it as malicious; suspicious = 1 to 2 engines flag it as malicious, or any engine flags it as suspicious; clean = no engine flags it. From a threat list (no engine counts, so flaggedBy and sources are absent): malicious = on the list; clean = not on the list. Clean is not proof of safety. A URL no source has seen yet is not_found, not clean. To apply your own threshold, use flaggedBy and sources.

Available options:
clean,
suspicious,
malicious
threats
enum<string>[]

Kinds of threat reported for the URL, when known.

Available options:
malware,
phishing,
unwanted_software,
harmful_application
flaggedBy
number

How many scanning engines flagged the URL as malicious or suspicious. Present when the source counts engines; use it with sources to apply your own threshold.

sources
number

How many scanning engines looked at the URL (flagged it or not). Present when the source counts engines.