Engine live · avg 142ms · 99.9% uptime

SafeSearchScan API
Malware Detection for Developers

8 production-ready endpoints covering file scanning, URL safety, email breach, DNS, SSL, and IP lookup — built on SafeSearchScan's own proprietary engine. No third-party AV dependencies.

✓ Free — 1,000 calls/month, no card needed✓ 8 endpoints, one API key✓ Proprietary engine — not a VirusTotal wrapper✓ <200ms median response

All Endpoints at a Glance

MethodEndpointWhat it doesPlan
POST/scan/fileFull PE static analysis — verdict, IOCs, detection rulesAll
POST/scan/hashFast SHA-256 hash reputation lookupAll
POST/api/v1/url-checkURL safety check via Google Safe Browsing + heuristicsAll
POST/api/v1/email-breachCheck if email appears in known data breachesAll
POST/api/v1/dns-lookupFull DNS record lookup (A, MX, TXT, NS, CNAME)All
POST/api/v1/ssl-checkSSL certificate validity, expiry, issuerAll
POST/api/v1/ip-lookupIP geolocation, ASN, abuse reputationAll
GET/api/developer/usageYour current quota usage and reset dateAll
GET/healthService health check (no auth required)All

Quick Start

One API key. All 8 endpoints. Results in milliseconds.

1Make requests

# Scan a file
curl -X POST https://api.safesearchscan.com/scan/file \
  -H "X-API-Key: sss_live_your_key_here" \
  -F "file=@suspicious.exe"

# Check quota
curl https://safesearchscan.com/api/developer/usage \
  -H "X-API-Key: sss_live_your_key_here"

2Read the result

{
  "verdict": "malicious",
  "confidence": 0.91,
  "threat_name": "Trojan.ProcessInjector",
  "threat_family": "Ransomware",
  "file_type": "PE32",
  "is_pe": true,
  "sha256": "a3f2c1d8e9b7...",
  "md5": "5f4dcc3b5aa7...",
  "file_size": 143360,
  "scan_time_ms": 142,
  "reasons": [
    "High entropy section '.text' (7.82) — likely packed",
    "Ransomware strings detected: 'YOUR FILES ARE ENCRYPTED'",
    "Crypto wallet found: 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf3F"
  ],
  "iocs": {
    "btc_wallets": ["1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf3F"],
    "c2_domains": ["decrypt-my-files.onion"],
    "suspicious_commands": [],
    "xmr_wallets": [],
    "eth_wallets": []
  },
  "engine_version": "SafeSearchScan-1.0"
}

Code Examples

Python

import requests

BASE = "https://api.safesearchscan.com"
HEADERS = {"X-API-Key": "sss_live_your_key"}

def scan_file(filepath: str) -> dict:
    with open(filepath, "rb") as f:
        r = requests.post(f"{BASE}/scan/file", headers=HEADERS, files={"file": f})
    r.raise_for_status()
    return r.json()

def check_url(url: str) -> dict:
    r = requests.post(
        "https://safesearchscan.com/api/v1/url-check",
        headers={**HEADERS, "Content-Type": "application/json"},
        json={"url": url}
    )
    return r.json()

result = scan_file("suspicious.exe")
print(result["verdict"], result["confidence"])  # malicious 0.91

Node.js

const FormData = require('form-data')
const fs = require('fs')
const fetch = require('node-fetch')

const API_KEY = 'sss_live_your_key'
const HEADERS = { 'X-API-Key': API_KEY }

async function scanFile(filepath) {
  const form = new FormData()
  form.append('file', fs.createReadStream(filepath))
  const res = await fetch('https://api.safesearchscan.com/scan/file', {
    method: 'POST', headers: { ...HEADERS, ...form.getHeaders() }, body: form,
  })
  return res.json()
}

async function checkUrl(url) {
  const res = await fetch('https://safesearchscan.com/api/v1/url-check', {
    method: 'POST',
    headers: { ...HEADERS, 'Content-Type': 'application/json' },
    body: JSON.stringify({ url }),
  })
  return res.json()
}

scanFile('suspicious.exe').then(r => console.log(r.verdict, r.threat_family))

API Reference

POST/scan/filehttps://api.safesearchscan.com

Full static analysis of any file. Runs PE parsing, string classification, and all 11 detection rules. Max file size: 50MB.

Parameters

X-API-KeyheaderYour API key
Content-Typeheadermultipart/form-data
fileform-dataThe file to scan

Response

{
  "verdict": "malicious",
  "confidence": 0.91,
  "threat_name": "Trojan.ProcessInjector",
  "threat_family": "Ransomware",
  "file_type": "PE32",
  "is_pe": true,
  "sha256": "a3f2c1d8e9b7...",
  "md5": "5f4dcc3b5aa7...",
  "file_size": 143360,
  "scan_time_ms": 142,
  "reasons": [
    "High entropy section '.text' (7.82) — likely packed",
    "Ransomware strings detected: 'YOUR FILES ARE ENCRYPTED'",
    "Crypto wallet found: 1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf3F"
  ],
  "iocs": {
    "btc_wallets": ["1A1zP1eP5QGefi2DMPTfTL5SLmv7Divf3F"],
    "c2_domains": ["decrypt-my-files.onion"],
    "suspicious_commands": [],
    "xmr_wallets": [],
    "eth_wallets": []
  },
  "engine_version": "SafeSearchScan-1.0"
}
POST/scan/hashhttps://api.safesearchscan.com

Fast SHA-256 hash lookup. Returns immediately — no file upload needed. Database grows as files are scanned.

Parameters

X-API-KeyheaderYour API key
sha256body (JSON)64-character hex SHA-256 hash

Response

// Request body: { "sha256": "a3f2c1d8e9b7..." }
{
  "sha256": "a3f2c1d8e9b7...",
  "verdict": "unknown",
  "in_database": false,
  "message": "Hash not found. Submit file for full static analysis.",
  "engine_version": "SafeSearchScan-1.0"
}
POST/api/v1/url-checkhttps://safesearchscan.com

Check a URL for phishing, malware, and suspicious patterns.

Parameters

X-API-KeyheaderYour API key
urlbody (JSON)The URL to check

Response

// Request body: { "url": "https://example.com" }
{
  "url": "https://example.com",
  "verdict": "clean",
  "stats": { "malicious": 0, "suspicious": 1, "clean": 65 },
  "flags": [],
  "source": "safebrowsing"
}
POST/api/v1/email-breachhttps://safesearchscan.com

Check if an email address has appeared in known data breaches.

Parameters

X-API-KeyheaderYour API key
emailbody (JSON)Email address to check

Response

{ "breached": true, "count": 2, "breaches": [{ "name": "LinkedIn", "breachDate": "2012-06-01", "pwnCount": 117000000, "dataClasses": ["Email", "Password"] }] }
POST/api/v1/dns-lookuphttps://safesearchscan.com

Full DNS record lookup for any domain.

Parameters

X-API-KeyheaderYour API key
domainbody (JSON)Domain to look up

Response

{ "domain": "example.com", "records": { "A": [{ "ttl": "1h", "value": "93.184.216.34" }], "MX": [{ "ttl": "1h", "value": "0 example.com." }] }, "queriedTypes": ["A","AAAA","MX","TXT","NS"] }
POST/api/v1/ssl-checkhttps://safesearchscan.com

Verify SSL certificate validity, expiry date, and issuer.

Parameters

X-API-KeyheaderYour API key
domainbody (JSON)Domain to check

Response

{ "hostname": "example.com", "cert": { "issuer": { "O": "Let's Encrypt" }, "validTo": "2026-06-01T00:00:00.000Z", "daysRemaining": 78, "isExpired": false, "grade": "A", "protocol": "TLSv1.3" } }
POST/api/v1/ip-lookuphttps://safesearchscan.com

IP geolocation, ASN, and abuse reputation lookup.

Parameters

X-API-KeyheaderYour API key
ipbody (JSON)IPv4 or IPv6 address

Response

{ "ip": "8.8.8.8", "country": "United States", "countryCode": "us", "city": "Mountain View", "isp": "Google LLC", "asn": "AS15169 Google LLC", "isProxy": false, "isHosting": true, "riskLevel": "suspicious", "riskReasons": ["Hosted on a data center"] }
GET/api/developer/usagehttps://safesearchscan.com

Check your current quota usage and when it resets. Also returns X-RateLimit headers.

Parameters

X-API-KeyheaderYour API key

Response

{
  "calls_this_month": 342,
  "monthly_limit": 100000,
  "calls_remaining": 99658,
  "reset_date": "2026-04-01T00:00:00.000Z",
  "percent_used": 0
}

Detection Rules — Phase 1

11 proprietary rules run on every file scan. Each rule reports its confidence score and human-readable reason.

High entropy executable

Packed or encrypted PE sections (>7.0 Shannon entropy)

No imports

PE with empty import table — common in shellcode loaders

W+X section

Writable + executable memory — hallmark of process injection

Process injection

VirtualAllocEx, WriteProcessMemory, CreateRemoteThread

Anti-analysis

IsDebuggerPresent, timing checks, VM detection imports

Persistence

Registry Run keys, scheduled tasks, startup folder writes

Download & execute

URLDownloadToFile + CreateProcess combination

Ransomware strings

Ransom notes, payment instructions, encryption keywords

Crypto wallet

BTC, XMR, ETH wallet addresses extracted from binary

Suspicious shell

PowerShell encoded commands, curl pipe bash patterns

C2 indicators

Onion domains, DGA patterns, hardcoded C2 IPs

Error Codes

HTTP StatusMeaningFix
401Invalid or missing API keyCheck your X-API-Key header. Key must start with sss_live_
400Bad requestCheck required fields (file, url, hash, etc.)
413File too largeFile exceeds 50MB limit
429Monthly quota exceededCheck /api/developer/usage. Upgrade plan or wait for reset.
500Server errorTemporary issue. Retry after 30s. Contact support if persistent.

API Pricing

Simple monthly pricing. All plans include all 8 endpoints. No per-call fees.

These are API-only plans for developers integrating SafeSearchScan into their own apps and products. If you want to use SafeSearchScan as a personal security tool (file scanning, URL checks, breach monitoring), see our consumer plans instead →

Starter

Free

1,000 calls/month

  • File static analysis (PE, scripts)
  • Hash lookup
  • URL safety check
  • Email breach check
  • DNS + SSL + IP lookup
  • Up to 5 API keys
  • Community support
Get Free Key
Most Popular

Pro

₹2,499/mo

100,000 calls/month

  • Everything in Starter
  • 11 proprietary detection rules
  • Malware family classification
  • IOC extraction (wallets, C2s)
  • Entropy & packer detection
  • Rate-limit response headers
  • Email support

Business

₹7,999/mo

500,000 calls/month

  • Everything in Pro
  • Priority processing queue
  • Dedicated Slack channel
  • SLA: 99.9% uptime
  • Custom detection rules (Q2)
  • On-premise option (Q3)
Talk to Us

Your API Keys

Free Starter plan available to all registered users — no card needed. Create an account if you don't have one yet.

Why SafeSearchScan API?

Not a VirusTotal wrapper

Our PE parser, string classifier, and rule engine are 100% proprietary. You own the integration, not a third-party subscription.

8 endpoints, one key

File scanning, URL safety, email breach, DNS, SSL, IP lookup — everything under one API key and one billing plan.

IOC extraction built-in

Bitcoin/Monero wallets, C2 domains, onion addresses, and shell commands extracted and returned in every scan.

Privacy by design

Files analyzed in memory, never stored. Your users' data never touches a third-party server.

Predictable pricing

Flat monthly rate. No per-call billing. No surprise invoices. Budget at any scale.

ML model coming Q2 2026

LightGBM on EMBER dataset for zero-day detection. +30% accuracy over the current rule-based engine.

Ready to integrate?

Start free. No credit card required for the Starter plan.