ScanMalware
App · 14 actions
Check links and websites for phishing, scams and malware with ScanMalware's free scanner. Scan a web address and get a clear verdict to branch on, see what the page did and which certificate and software it uses, search millions of past scans, find newly spotted dangerous sites and malware, and watch for fake sites impersonating a brand.
Actions
| Action | What it does |
|---|---|
| Find dangerous sites | List the newest public scans that ScanMalware's AI judged risky, such as phishing pages and scams, optionally only those mentioning a word like a brand name. |
| Find subdomains | List every hostname under a domain that has appeared in public DNS, found through certificate logs. |
| Get brand impersonation trend | Count the look-alike sites of a brand seen each day, to spot a new phishing wave. |
| Get domain scan history | See how often a domain has been scanned on ScanMalware, when it was first and last scanned, and its latest scans. |
| Get page details | See what a scanned page did when it was opened: where it redirected, which servers and countries it contacted, whether it asks for a password and where its forms send data, plus its cookies, scripts and outside links. |
| Get recent malware detections | List the files ScanMalware's antivirus caught on scanned pages recently, such as trojans offered as downloads, with the threat name and where it was found. |
| Get scan verdict | Find out whether a scanned page is dangerous and why: the risk verdict and score, the AI's classification and scam type, the evidence, and an is_dangerous flag to branch on. |
| Get site certificate | Read the HTTPS certificate a scanned site presented: who it was issued to and by, when it expires, the names it covers, and whether it is valid, expired or self-signed. |
| Get site technologies | List the software a scanned site runs on, such as WordPress, Cloudflare or jQuery, with versions where they could be told. |
| Get sites impersonating a brand | List the sites caught pretending to be a brand, such as fake PayPal or Microsoft logins, most recently seen first, with each one's verdict and a link to its report. |
| List impersonated brands | List the brands ScanMalware watches for look-alike sites, with how many fake sites have been caught for each. |
| List recent scans | List the newest public scans anyone has run on ScanMalware, newest first, with links to each report. |
| Scan a website | Open a web address in ScanMalware's browser and check it for phishing, scams and malware. |
| Search scans | Search every public scan by words in the address or title, or with filters such as domain:paypal.com, ip:1.2.3.4, country:RU or technology:WordPress. |
Find dangerous sites
List the newest public scans that ScanMalware's AI judged risky, such as phishing pages and scams, optionally only those mentioning a word like a brand name. Good for a daily threat feed or for spotting look-alikes of your own site.
Inputs
- How risky
risktext - The lowest risk to include. Defaults to high risk.One of:
confirmed_scam(Confirmed scams only),high_risk(High risk or worse),moderate_risk(Moderate risk or worse). Default:high_risk. - Scanned in
periodtext - How far back to look. Defaults to the last 24 hours.One of:
last24h(Last 24 hours),last7d(Last 7 days),last30d(Last 30 days),any(Any time). Default:last24h. - Mentioning
keywordtext - Only sites whose address or title mentions this, such as a brand name. Leave empty for all.
- Number of sites
limitnumber - How many sites to return, from 1 to 100. Defaults to 20.From 1 to 100.
Outputs
has_moretrue/false- Whether there is another page.
pagenumberperiodtextquerytext- The search that was run.
risktextscan_countnumber- How many scans are in this list.
scanslisttotal_scansnumber- How many scans match in all.
Example output
{
"has_more": false,
"page": 1,
"period": "last24h",
"query": "verdict:(HIGH_RISK OR CONFIRMED_SCAM) submitted:last24h paypal",
"risk": "high_risk",
"scan_count": 1,
"scans": [
{
"completed_at": "2026-10-15T00:47:37Z",
"countries": [
"US"
],
"final_url": "https://pay-pal-omega.vercel.app/",
"hosting_providers": [
"Amazon.com, Inc."
],
"load_time_seconds": 0.41,
"report_url": "https://scanmalware.com/result/372188eb-447b-42a0-863b-fd6e8b955f1d",
"scan_id": "372188eb-447b-42a0-863b-fd6e8b955f1d",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/372188eb-447b-42a0-863b-fd6e8b955f1d.png",
"status": "completed",
"submitted_at": "2026-10-15T00:47:04Z",
"title": "Log in to your PayPal account",
"url": "https://pay-pal-omega.vercel.app/",
"visibility": "public"
}
],
"total_scans": 1
}Find subdomains
List every hostname under a domain that has appeared in public DNS, found through certificate logs. Names that no longer resolve are listed apart, since forgotten ones can be taken over by someone else.
Inputs
- Domain
domaintextRequired - A domain such as example.com. A full link works too.
- Most subdomains
limitnumber - The most subdomains to return, from 1 to 5000. Defaults to 500.From 1 to 5000.
Outputs
domaintextip_addresseslistsubdomain_countnumbersubdomainslisttruncatedtrue/false- True when there were more than the limit.
unresolved_countnumberunresolved_subdomainslist- Names that no longer resolve.
Example output
{
"domain": "example.com",
"ip_addresses": [
"104.20.23.154",
"172.66.147.243"
],
"subdomain_count": 2,
"subdomains": [
"mail.example.com",
"www.example.com"
],
"truncated": false,
"unresolved_count": 0,
"unresolved_subdomains": []
}Get brand impersonation trend
Count the look-alike sites of a brand seen each day, to spot a new phishing wave. Days with none are left out.
Inputs
- Brand
brandtextRequired - The brand to check, most impersonated first. You can also type its short name, such as paypal.
- Days
daysnumber - How many days back to count, from 1 to 730. Defaults to 30.From 1 to 730.
Outputs
brandtextbusiest_daytextbusiest_day_sightingsnumberdaysnumbertimelinelisttotal_sightingsnumber
Example output
{
"brand": "paypal",
"busiest_day": "2026-10-15",
"busiest_day_sightings": 3,
"days": 7,
"timeline": [
{
"date": "2026-10-14",
"sightings": 1,
"sites": 1
},
{
"date": "2026-10-15",
"sightings": 3,
"sites": 2
}
],
"total_sightings": 4
}Get domain scan history
See how often a domain has been scanned on ScanMalware, when it was first and last scanned, and its latest scans.
Inputs
- Domain
domaintextRequired - A domain such as example.com. A full link works too.
- Number of scans
limitnumber - How many recent scans to list, from 1 to 50. Defaults to 10.From 1 to 50.
Outputs
completed_scansnumberdomaintextfailed_scansnumberfirst_scanned_attextlast_scanned_attextscan_countnumberscanslistscans_last_24_hoursnumberscans_last_30_daysnumberscans_last_7_daysnumbertotal_scansnumber
Example output
{
"completed_scans": 487,
"domain": "example.com",
"failed_scans": 2,
"first_scanned_at": "2025-09-24T17:30:29Z",
"last_scanned_at": "2026-10-15T18:02:13Z",
"scan_count": 1,
"scans": [
{
"completed_at": "2026-10-15T18:02:45Z",
"countries": [
"US"
],
"final_url": "https://example.com/",
"hosting_providers": [
"Cloudflare, Inc."
],
"load_time_seconds": 0.2,
"report_url": "https://scanmalware.com/result/461657ef-5829-435e-a0fc-ffad90e8fcbc",
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/461657ef-5829-435e-a0fc-ffad90e8fcbc.png",
"status": "completed",
"submitted_at": "2026-10-15T18:02:13Z",
"title": "Example Domain",
"url": "https://example.com",
"visibility": "public"
}
],
"scans_last_24_hours": 10,
"scans_last_30_days": 44,
"scans_last_7_days": 13,
"total_scans": 513
}Get page details
See what a scanned page did when it was opened: where it redirected, which servers and countries it contacted, whether it asks for a password and where its forms send data, plus its cookies, scripts and outside links.
Inputs
- Scan ID
scan_idtextRequired - The scan to read. Scan a website, Search scans and the other lists return it; a scanmalware.com report link works too.
Outputs
completed_attextcookie_countnumbercookie_nameslistcountrieslistdomain_countnumberdomains_contactedlisterrortextexternal_linkslistfinal_urltextform_countnumberform_destinationslist- Where the page's forms send what is typed.
hosting_providerslistip_addresseslistload_time_secondsnumberpage_size_kbnumberpassword_field_countnumber- Password boxes on the page.
primary_iptextredirect_countnumberredirectslistreport_urltextrequest_countnumberscan_idtextscreenshot_urltextscript_countnumberscript_urlslistspeedtext- Such as Very Fast or Slow.
statustextsubmitted_attexttitletext- The page title.
tracker_countnumberurltextwarning_page_detectedtrue/false- Whether a browser warning page was shown.
Example output
{
"completed_at": "2026-01-10T19:19:48Z",
"cookie_count": 4,
"cookie_names": [
"oc_sessionPassphrase"
],
"countries": [
"US"
],
"domain_count": 2,
"domains_contacted": [
"cgrgy.pages.dev",
"mia.nl.tab.digital"
],
"error": null,
"external_links": [
"https://a.tab.digital/MItva"
],
"final_url": "https://mia.nl.tab.digital/login",
"form_count": 1,
"form_destinations": [
"https://mia.nl.tab.digital/login"
],
"hosting_providers": [
"CLOUDFLARENET"
],
"ip_addresses": [
"172.66.44.235",
"104.21.3.117"
],
"load_time_seconds": 30.11,
"page_size_kb": 0.0,
"password_field_count": 1,
"primary_ip": "172.66.44.235",
"redirect_count": 1,
"redirects": [
{
"from_url": "http://cgrgy.pages.dev/",
"status_code": 307,
"to_url": "https://cgrgy.pages.dev/"
}
],
"report_url": "https://scanmalware.com/result/0d403c95-5cd3-48a8-bf28-ab5060df3ac1",
"request_count": 2,
"scan_id": "0d403c95-5cd3-48a8-bf28-ab5060df3ac1",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/0d403c95-5cd3-48a8-bf28-ab5060df3ac1.png",
"script_count": 0,
"script_urls": [],
"speed": "Slow",
"status": "completed",
"submitted_at": "2026-01-10T19:17:02Z",
"title": "Login \u2013 Nextcloud",
"tracker_count": 0,
"url": "http://cgrgy.pages.dev/",
"warning_page_detected": false
}Get recent malware detections
List the files ScanMalware's antivirus caught on scanned pages recently, such as trojans offered as downloads, with the threat name and where it was found.
Inputs
- Hours to look back
hoursnumber - From 1 to 168 (a week). Defaults to 24.From 1 to 168.
- Most detections
limitnumber - From 1 to 1000. Defaults to 50.From 1 to 1000.
- Include files too big to check
include_size_limit_noticestrue/false - The antivirus also reports files it was too big to read. They aren't known to be harmful, so they're left out unless you turn this on.Default:
false.
Outputs
detection_countnumberdetectionslisthoursnumberthreat_nameslist
Example output
{
"detection_count": 1,
"detections": [
{
"detected_at": "2026-10-11T20:12:32Z",
"file_size_bytes": 558592,
"file_type": "application/octet-stream",
"report_url": "https://scanmalware.com/result/4902d2ab-afed-4437-9295-f76198953bf3",
"scan_id": "4902d2ab-afed-4437-9295-f76198953bf3",
"threat_name": "Win.Trojan.Havoc-10035024-0",
"url": "https://ed75a310.infinityindians.pages.dev/ktool.exe"
}
],
"hours": 24,
"threat_names": [
"Win.Trojan.Havoc-10035024-0"
]
}Get scan verdict
Find out whether a scanned page is dangerous and why: the risk verdict and score, the AI's classification and scam type, the evidence, and an is_dangerous flag to branch on. A scan that is still running reports how far along it is instead.
Inputs
- Scan ID
scan_idtextRequired - The scan to read. Scan a website, Search scans and the other lists return it; a scanmalware.com report link works too.
Outputs
ai_analyzed_attext- When the AI looked (UTC).
ai_classificationtext- LEGITIMATE, LOW_RISK, MODERATE_RISK, HIGH_RISK, CONFIRMED_SCAM or NOT_ASSESSED.
ai_classification_labeltext- The AI classification in plain words.
ai_confidencenumber- How sure the AI is, in percent.
ai_key_evidencelist- What the AI based it on.
ai_recommended_actiontext- What the AI recommends.
ai_risk_scorenumber- The AI's risk score from 0 to 10.
ai_safety_factorslist- What speaks for the page.
ai_scam_typetext- The kind of scam, such as Phishing.
ai_summarytext- The AI's one-line verdict.
certificate_validtrue/false- Whether HTTPS was valid.
completed_attext- When the scan finished (UTC).
final_urltext- Where the page ended up after any redirects.
finishedtrue/false- Whether the scan has finished.
is_dangeroustrue/false- True when the verdict is high risk or worse, or the AI calls it high risk or a confirmed scam.
load_time_secondsnumber- How long the page took to load.
progress_percentnumber- How far along the scan is.
recommendationslist- What to do about it.
redirect_countnumber- How many redirects there were.
report_urltext- The full report on scanmalware.com.
risk_factorslist- Why the page looks risky.
risk_leveltext- low, medium, high or malicious.
risk_scorenumber- Risk score from 0 (safe) to 100.
scan_idtext- The scan's ID.
screenshot_urltext- A screenshot of the page.
statustext- queued, processing, completed or failed.
technology_countnumber- How many technologies were found.
tracker_countnumber- How many trackers were found.
urltext- The address that was scanned.
verdicttext- ScanMalware's verdict, such as Low Risk or High Risk.
Example output
{
"ai_analyzed_at": "2026-01-10T19:20:18Z",
"ai_classification": "CONFIRMED_SCAM",
"ai_classification_label": "Confirmed scam",
"ai_confidence": 100,
"ai_key_evidence": [
"Login form with password field present on the malicious domain"
],
"ai_recommended_action": "Avoid interaction and report as scam",
"ai_risk_score": 10,
"ai_safety_factors": [],
"ai_scam_type": "Phishing",
"ai_summary": "Confirmed phishing scam harvesting Nextcloud credentials via a malicious domain.",
"certificate_valid": true,
"completed_at": "2026-01-10T19:19:48Z",
"final_url": "https://mia.nl.tab.digital/login",
"finished": true,
"is_dangerous": true,
"load_time_seconds": 30.11,
"progress_percent": 100,
"recommendations": [
"Avoid visiting this website - high security risk detected"
],
"redirect_count": 1,
"report_url": "https://scanmalware.com/result/0d403c95-5cd3-48a8-bf28-ab5060df3ac1",
"risk_factors": [
"Mixed Content",
"Threat-intel IoC on scanned domain (apt redwolf (malware)): mia.nl.tab.digital"
],
"risk_level": "high",
"risk_score": 60,
"scan_id": "0d403c95-5cd3-48a8-bf28-ab5060df3ac1",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/0d403c95-5cd3-48a8-bf28-ab5060df3ac1.png",
"status": "completed",
"technology_count": 2,
"tracker_count": 0,
"url": "http://cgrgy.pages.dev/",
"verdict": "High Risk"
}Get site certificate
Read the HTTPS certificate a scanned site presented: who it was issued to and by, when it expires, the names it covers, and whether it is valid, expired or self-signed.
Inputs
- Scan ID
scan_idtextRequired - The scan to read. Scan a website, Search scans and the other lists return it; a scanmalware.com report link works too.
Outputs
days_until_expirynumberfingerprint_sha256textis_expiredtrue/falseis_lets_encrypttrue/falseis_self_signedtrue/falseis_validtrue/falseis_wildcardtrue/falseissued_totext- The site name on it.
issuertextissuer_organizationtextkey_algorithmtextkey_sizenumbernames_coveredlistorganizationtextreport_urltextscan_idtextserial_numbertextsignature_algorithmtextvalid_fromtextvalid_untiltext
Example output
{
"days_until_expiry": 71,
"fingerprint_sha256": "85ca6ab068e9bcce88b6c4aa3c47f7d17228134a457f870d3800e6223a0df07a",
"is_expired": false,
"is_lets_encrypt": false,
"is_self_signed": false,
"is_valid": true,
"is_wildcard": true,
"issued_to": "example.com",
"issuer": "Cloudflare TLS Issuing ECC CA 3",
"issuer_organization": "SSL Corporation",
"key_algorithm": "ECDSA",
"key_size": 256,
"names_covered": [
"example.com",
"*.example.com"
],
"organization": null,
"report_url": "https://scanmalware.com/result/461657ef-5829-435e-a0fc-ffad90e8fcbc",
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"serial_number": "2569673129085639595562975411803018896",
"signature_algorithm": "ecdsa-with-SHA256",
"valid_from": "2026-09-26T22:49:11Z",
"valid_until": "2026-12-25T22:56:35Z"
}Get site technologies
List the software a scanned site runs on, such as WordPress, Cloudflare or jQuery, with versions where they could be told.
Inputs
- Scan ID
scan_idtextRequired - The scan to read. Scan a website, Search scans and the other lists return it; a scanmalware.com report link works too.
Outputs
scan_idtexttechnologieslisttechnology_countnumbertechnology_nameslist
Example output
{
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"technologies": [
{
"confidence": 40,
"name": "Cloudflare",
"version": null,
"website": null
},
{
"confidence": 40,
"name": "HTTP/3",
"version": null,
"website": null
}
],
"technology_count": 2,
"technology_names": [
"Cloudflare",
"HTTP/3"
]
}Get sites impersonating a brand
List the sites caught pretending to be a brand, such as fake PayPal or Microsoft logins, most recently seen first, with each one's verdict and a link to its report.
Inputs
- Brand
brandtextRequired - The brand to check, most impersonated first. You can also type its short name, such as paypal.
- Number of sites
limitnumber - From 1 to 1000. Defaults to 25.From 1 to 1000.
Outputs
brandtextbrand_nametextlast_seentextofficial_domainslistsectortextsighting_countnumbersightingslisttotal_hostsnumber- How many different fake sites were caught.
total_sightingsnumber
Example output
{
"brand": "paypal",
"brand_name": "PayPal",
"last_seen": "2026-10-15",
"official_domains": [
"paypal.com",
"paypalobjects.com"
],
"sector": "payment",
"sighting_count": 1,
"sightings": [
{
"ai_classification": "CONFIRMED_SCAM",
"ai_risk_score": 9,
"first_seen": "2026-08-23T00:47:04Z",
"host": "pay-pal-omega.vercel.app",
"last_seen": "2026-10-15T00:47:37Z",
"report_url": "https://scanmalware.com/result/372188eb-447b-42a0-863b-fd6e8b955f1d",
"risk_level": "malicious",
"risk_score": 80,
"scan_id": "372188eb-447b-42a0-863b-fd6e8b955f1d",
"times_seen": 12,
"title": "Log in to your PayPal account",
"verdict": "Malicious"
}
],
"total_hosts": 34,
"total_sightings": 102
}List impersonated brands
List the brands ScanMalware watches for look-alike sites, with how many fake sites have been caught for each. Filter by name or industry.
Inputs
- Brand name
searchtext - Only brands whose name or website contains this.
- Industry
sectortext - Only brands in this industry.
- Only brands with fake sites
only_impersonatedtrue/false - Leave out brands no fake site has been caught for yet.Default:
false. - Sort by
sorttext - Which brands come first. Defaults to most sightings.One of:
sightings(Most sightings),hosts(Most fake sites),recent(Most recently seen),name(Name A to Z). Default:sightings. - Number of brands
limitnumber - From 1 to 1000. Defaults to 50.From 1 to 1000.
Outputs
brand_countnumberbrandslisttotal_brandsnumber
Example output
{
"brand_count": 1,
"brands": [
{
"brand": "paypal",
"homepage_url": "https://paypal.com",
"impersonating_sites": 34,
"last_seen": "2026-10-15",
"name": "PayPal",
"official_domains": [
"paypal.com",
"paypalobjects.com"
],
"sector": "payment",
"sightings": 102
}
],
"total_brands": 11
}List recent scans
List the newest public scans anyone has run on ScanMalware, newest first, with links to each report.
Inputs
- Number of scans
limitnumber - How many scans to return, from 1 to 100. Defaults to 20.From 1 to 100.
- Page
pagenumber - Which page of results to return. Defaults to 1.From 1 to 10000.
Outputs
has_moretrue/false- Whether there is another page.
pagenumberscan_countnumber- How many scans are in this list.
scanslisttotal_scansnumber- How many scans match in all.
Example output
{
"has_more": true,
"page": 1,
"scan_count": 1,
"scans": [
{
"completed_at": "2026-10-15T18:02:45Z",
"countries": [
"US"
],
"final_url": "https://example.com/",
"hosting_providers": [
"Cloudflare, Inc."
],
"load_time_seconds": 0.2,
"report_url": "https://scanmalware.com/result/461657ef-5829-435e-a0fc-ffad90e8fcbc",
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/461657ef-5829-435e-a0fc-ffad90e8fcbc.png",
"status": "completed",
"submitted_at": "2026-10-15T18:02:13Z",
"title": "Example Domain",
"url": "https://example.com",
"visibility": "public"
}
],
"total_scans": 705223
}Scan a website
Open a web address in ScanMalware's browser and check it for phishing, scams and malware. By default the step waits for the result, usually 20 to 60 seconds, and returns the verdict, an is_dangerous flag to branch on and a link to the full report. Set the wait to 0 to get the scan ID back at once and read the verdict later with Get scan verdict.
Inputs
- Web address
urltextRequired - The page to scan. A bare domain such as example.com works too. Only scan addresses you're allowed to check.
- Who can see it
visibilitytext - Public scans appear in ScanMalware's listings and search. Unlisted scans stay out of them, but anyone with the scan ID or link can still open them.One of:
public,unlisted. Default:public. - Wait for the result (seconds)
wait_secondsnumber - How long to wait for the scan to finish, from 0 to 300. Defaults to 120. Use 0 to return straight away.From 0 to 300. Default:
120.
Outputs
ai_analyzed_attext- When the AI looked (UTC).
ai_classificationtext- LEGITIMATE, LOW_RISK, MODERATE_RISK, HIGH_RISK, CONFIRMED_SCAM or NOT_ASSESSED.
ai_classification_labeltext- The AI classification in plain words.
ai_confidencenumber- How sure the AI is, in percent.
ai_key_evidencelist- What the AI based it on.
ai_recommended_actiontext- What the AI recommends.
ai_risk_scorenumber- The AI's risk score from 0 to 10.
ai_safety_factorslist- What speaks for the page.
ai_scam_typetext- The kind of scam, such as Phishing.
ai_summarytext- The AI's one-line verdict.
certificate_validtrue/false- Whether HTTPS was valid.
completed_attext- When the scan finished (UTC).
errortext- Why the scan failed, if it did.
final_urltext- Where the page ended up after any redirects.
finishedtrue/false- Whether the scan has finished.
is_dangeroustrue/false- True when the verdict is high risk or worse, or the AI calls it high risk or a confirmed scam.
load_time_secondsnumber- How long the page took to load.
progress_percentnumber- How far along the scan is.
recommendationslist- What to do about it.
redirect_countnumber- How many redirects there were.
report_urltext- The full report on scanmalware.com.
risk_factorslist- Why the page looks risky.
risk_leveltext- low, medium, high or malicious.
risk_scorenumber- Risk score from 0 (safe) to 100.
scan_idtext- The scan's ID.
screenshot_urltext- A screenshot of the page.
statustext- queued, processing, completed or failed.
submitted_attext- When the scan was started (UTC).
technology_countnumber- How many technologies were found.
tracker_countnumber- How many trackers were found.
urltext- The address that was scanned.
verdicttext- ScanMalware's verdict, such as Low Risk or High Risk.
visibilitytext- public or unlisted.
Example output
{
"ai_analyzed_at": "2026-10-15T18:03:03Z",
"ai_classification": "LEGITIMATE",
"ai_classification_label": "Legitimate",
"ai_confidence": 95,
"ai_key_evidence": [
"Domain ranked #7,087 in Cisco Umbrella"
],
"ai_recommended_action": "Safe to use",
"ai_risk_score": 0,
"ai_safety_factors": [
"No forms or interactive credential elements"
],
"ai_scam_type": null,
"ai_summary": "Low-risk scan on a well-ranked domain.",
"certificate_valid": true,
"completed_at": "2026-10-15T18:02:45Z",
"error": null,
"final_url": "https://example.com/",
"finished": true,
"is_dangerous": false,
"load_time_seconds": 0.2,
"progress_percent": 100,
"recommendations": [],
"redirect_count": 0,
"report_url": "https://scanmalware.com/result/461657ef-5829-435e-a0fc-ffad90e8fcbc",
"risk_factors": [],
"risk_level": "low",
"risk_score": 23,
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/461657ef-5829-435e-a0fc-ffad90e8fcbc.png",
"status": "completed",
"submitted_at": "2026-10-15T18:02:13Z",
"technology_count": 3,
"tracker_count": 0,
"url": "https://example.com",
"verdict": "Low Risk",
"visibility": "public"
}Search scans
Search every public scan by words in the address or title, or with filters such as domain:paypal.com, ip:1.2.3.4, country:RU or technology:WordPress. Combine them with AND, OR and NOT.
Inputs
- Search for
querytextRequired - Words, filters or both. The full list of filters is at https://scanmalware.com/api-docs.
- Sort by
sorttext - Which scans come first. Defaults to newest.One of:
newest(Newest first),oldest(Oldest first),url(Address A to Z),load_time(Slowest to load),ip_count(Most IP addresses). Default:newest. - Number of scans
limitnumber - How many scans to return, from 1 to 100. Defaults to 20.From 1 to 100.
- Page
pagenumber - Which page of results to return. Defaults to 1.From 1 to 1000.
Outputs
has_moretrue/false- Whether there is another page.
pagenumberquerytextscan_countnumber- How many scans are in this list.
scanslisttotal_scansnumber- How many scans match in all.
Example output
{
"has_more": true,
"page": 1,
"query": "domain:example.com",
"scan_count": 1,
"scans": [
{
"completed_at": "2026-10-15T18:02:45Z",
"countries": [
"US"
],
"final_url": "https://example.com/",
"hosting_providers": [
"Cloudflare, Inc."
],
"load_time_seconds": 0.2,
"report_url": "https://scanmalware.com/result/461657ef-5829-435e-a0fc-ffad90e8fcbc",
"scan_id": "461657ef-5829-435e-a0fc-ffad90e8fcbc",
"screenshot_url": "https://scanmalware.com/api/v1/screenshot/461657ef-5829-435e-a0fc-ffad90e8fcbc.png",
"status": "completed",
"submitted_at": "2026-10-15T18:02:13Z",
"title": "Example Domain",
"url": "https://example.com",
"visibility": "public"
}
],
"total_scans": 513
}