Malicious URL Scanner API Documentation

URL Scanner API for Malicious URLs

IPQualityScore's Malicious URL Scanner API scans links in real-time to detect suspicious URLs. Accurately identify phishing links, malware URLs and viruses, parked domains, and suspicious URLs with real-time risk scores.

Scan URLs for malware to detect poor reputation domains, suspicious links, and phishing URLs with a real-time API that can be integrated directly into your site, SOAR, or other third party software. Accurately check URLs for malware without false-positives or missed hit rates. Take URL intelligence a step further with parking domain detection and support to identify domains used for email spam.


Malicious URL Scanner Use Cases
  • Phishing URL Detection — Detect malicious URLs used for phishing campaigns and misleading advertising.
  • Malicious URL Scanning — Identify URLs used for malware and viruses with live threat intelligence feeds that detect zero-day phishing links and suspicious behavior.
  • Parked Domain Detection — Easily classify parked domains for sale.
  • Filter Email Spammer Domains — Sift through suspicious emails with detection for domains confirmed as sending email SPAM. Further validate SPAM with real-time email threat scoring.
  • Abusive Domains - Block emails from disposable email services and throwaway accounts. Pair with IP reputation checks for deeper insight.

Malicious URL Checker API

Detect malicious sites with live URL scanning via on-demand API requests. Simply call our API from your SOAR, backend, or other third party service to retrieve accurate risk scores. Detect scam sites, phishing, malware, and low reputation domains used for fraudulent behavior. Parked domain detection is also supported. The API only requires a valid URL and will perform over 20 data points in return to summarize the risk level associated with the URL or domain.

Phishing Detection API

Stop phishing with real-time protection against malicious URLs. Detect zero-day phishing links and newly setup domains, even before other services have had a chance to analyze the URL. Machine learning phishing detection ensures any threat will be accurately classified. Use the "phishing" boolean data point and "risk_score" to identify confirmed phishing links.

Private Key
Please login or create a free account to access your API Key.

NOTE: Do not share this key with anyone. It's like a password and can be used to make queries using our API.

Request URLs

The URLs below can be used to fetch the result using cURL or another utility in most languages. Please see the usage example at the bottom of the page. Simply replace "URL_HERE" with the URL to scan.

JSON:
XML:

JSON Example Requests
API Lookup with URL Encoded Link
The API can accept a domain or full URL link - please URL encode the link.

JSON Success Response Example

NOTE: For a description of each field listed above please consult the response documentation below.


XML Success Response Example

NOTE: For a description of each field listed above please consult the response documentation below.


JSON Error Response Examples

Example errors that you may encounter when accessing our API due to an exhausted credit balance or an invalid URL.


Additional Request Parameters

Custom tracking variables (such as "userID", "transactionID") established in your account settings can be passed with each API request. This allows our reporting tools to filter by specific users, products, campaigns, transactions, etc. so that you can easily match up records with your own system to identify fraudulent activity.

Field Description Possible Values
strictness How strict should we scan this URL? Stricter checks may provide a higher false-positive rate. We recommend defaulting to level "0", the lowest strictness setting, and increasing to "1" or "2" depending on your levels of abuse. integer, 0 - 2

Response Field Definitions
Quick Notes
  • Risk Scores >= 75 - suspicious - usually due to patterns associated with malicious links.
  • Suspicious URLs marked with Suspicious = "true" will indicate domains with a high chance for being involved in abusive behavior.
  • Risk Scores >= 85 - high risk - strong confidence the URL is malicious.
  • Risk Scores = 100 AND Phishing = "true" OR Malware = "true" - indicates confirmed malware or phishing activity in the past 24-48 hours.
Further Details on URL Scanning API Results

The Malicious URL Scanner API returns many data points so your business logic can make the best decisions for your audience. Analyzing the overall Risk Score is usually the best way to determine the overall confidence level. When this value is 100, there is 100% confirmed activity of phishing or malware. Suspicious URLs can be identified with the "suspicious" data point, or by analyzing Risk Scores <= 80. Any URLs above this threshold with scores > 80 are suspicious and likely to be a low reputation URL or domain.

Risk Scores >=85 have been classified by our deep machine learning as suspected of phishing, malware activity, or similar type of abuse. Risk Scores = 100 will provide confirmation the URL is accurately classified as a malicious link.

We recommend blocking or flagging a URL as malicious using a combination of the "risk_score", "phishing", "malware", "suspicious", "parking", and "spamming" variables.

Field Description Possible Values
unsafe Is this domain suspected of being unsafe due to phishing, malware, spamming, or abusive behavior? View the confidence level by analyzing the "risk_score". boolean
domain Domain name of the final destination URL of the scanned link, after following all redirects. boolean
ip_address The IP address corresponding to the server of the domain name. string
server The server banner of the domain's IP address. For example: "nginx/1.16.0". Value will be "N/A" if unavailable. string
content_type MIME type of URL's content. For example "text/html; charset=UTF-8". Value will be "N/A" if unavailable. string
risk_score The IPQS risk score which estimates the confidence level for malicious URL detection. Risk Scores 85+ are high risk, while Risk Scores = 100 are confirmed as accurate. integer, 0 - 100
status_code HTTP Status Code of the URL's response. This value should be "200" for a valid website. Value is "0" if URL is unreachable. integer
page_size Total number of bytes to download the URL's content. Value is "0" if URL is unreachable. integer
domain_rank Estimated popularity rank of website globally. Value is "0" if the domain is unranked or has low traffic. integer
dns_valid The domain of the URL has valid DNS records. boolean
suspicious Is this URL suspected of being malicious or used for phishing or abuse? Use in conjunction with the "risk_score" as a confidence level. boolean
phishing Is this URL associated with malicious phishing behavior? boolean
malware Is this URL associated with malware or viruses? boolean
parking Is the domain of this URL currently parked with a for sale notice? boolean
spamming Is the domain of this URL associated with email SPAM or abusive email addresses? boolean
message A generic status message, either success or some form of an error notice. string
success Was the request successful? boolean
errors Array of errors which occurred while attempting to process this request. array of strings
API Example Code