ShieldScan API
Scan any URL, file, or IP address for malware and threats from your own application. Simple REST API, JSON responses, powered by 95+ antivirus engines.
Overview
The ShieldScan API lets you integrate threat scanning directly into your app, workflow, or security tool. All endpoints accept JSON and return structured scan results with a 0–100 risk score.
Base URL:
https://shieldscann.io/api/v1
Pricing
- 15 scans / month
- URL, file & IP scanning
- Full JSON results
- 1 API key
- Unlimited scans
- URL, file & IP scanning
- Full JSON results
- Up to 5 API keys
- Priority processing
- PDF report generation
Authentication
All API requests require an API key. Generate yours from the ShieldScan app under Settings → API Keys.
Pass your key in the Authorization header:
Authorization: Bearer sk_live_your_key_here
Or as the X-API-Key header:
X-API-Key: sk_live_your_key_here
Scan a URL
POST/api/v1/url
Check any URL for malware, phishing, and threats.
Request body
| Parameter | Type | Description |
|---|---|---|
| url | string | The URL to scan. http/https or bare domain. |
Example
curl -X POST https://shieldscann.io/api/v1/url \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
Response
{
"success": true,
"data": {
"url": "https://example.com",
"riskScore": 0,
"riskLevel": "SAFE",
"breakdown": [],
"details": {
"virustotal": {
"flagged": 0,
"total": 95,
"malicious": 0,
"suspicious": 0,
"harmless": 87,
"undetected": 8
},
"safebrowsing": { "isMalicious": false, "threats": [] },
"whois": { "ageDays": 9862 },
"ssl": { "valid": true, "domainMatch": true, "daysOld": 45 }
},
"scannedAt": "2026-04-16T10:00:00.000Z"
}
}
Scan a File
POST/api/v1/file
Upload any file and scan it for viruses and malware. Send as multipart/form-data.
Request
| Field | Type | Description |
|---|---|---|
| file | file | The file to scan. Max 32MB. Any file type. |
Example
curl -X POST https://shieldscann.io/api/v1/file \
-H "Authorization: Bearer sk_live_your_key" \
-F "file=@/path/to/file.pdf"
Scan an IP or Domain
POST/api/v1/ip
Check the reputation of an IP address or domain name.
Request body
| Parameter | Type | Description |
|---|---|---|
| target | string | IPv4 address or domain name. |
Example
curl -X POST https://shieldscann.io/api/v1/ip \
-H "Authorization: Bearer sk_live_your_key" \
-H "Content-Type: application/json" \
-d '{"target": "8.8.8.8"}'
Response Format
All responses return JSON. Successful responses include success: true and a data object. Every scan result includes:
| Field | Type | Description |
|---|---|---|
| riskScore | number | 0–100. Higher = more dangerous. |
| riskLevel | string | SAFE, LOW, MEDIUM, HIGH, or CRITICAL. |
| breakdown | array | Each signal that contributed to the score. |
| details.virustotal | object | Engine counts and flagging engines. |
| details.safebrowsing | object | Google Safe Browsing result. |
| details.whois | object | Domain age and registration info. |
| details.ssl | object | SSL certificate analysis. |
| scannedAt | string | ISO 8601 timestamp. |
Error Codes
| HTTP Status | Meaning |
|---|---|
| 400 | Invalid request (missing or malformed parameters) |
| 401 | Missing or invalid API key |
| 429 | Monthly scan limit reached — upgrade to Pro |
| 500 | Scan failed — try again |
Rate Limits
| Plan | Monthly limit | Concurrent requests |
|---|---|---|
| Free | 15 scans | 1 |
| Pro | Unlimited | 5 |
upgrade field pointing to the pricing page.Get Your API Key
Sign in to ShieldScan and generate your key from Settings → API Keys. Free to start.
Open ShieldScan →