Bulk entity check
Changed onCheck up to N entities per request (N depends on subscription plan). Each entity may be a domain, IP, URL, file hash, email address or phone number string; country applies to phone numbers in national format. With format: "csv" the 200 response is text/csv instead of JSON. Validation failures (empty list, over the plan limit) answer 400 with the same BulkCheckResponse shape (success: false + errors).
Request
- Base URLhttps://api.ismalicious.com
- Auth
- API key in header X-API-KEY
- or HTTP bearer
- or HTTP basic
Request body
Example request
{
"country": "FR",
"enrichment": "full",
"entities": [
"example.com",
"8.8.8.8",
"https://malicious.site",
"44d88612fea8a8f36de82e1278abb02f"
],
"format": "json"
}Response
Batch results (JSON, or CSV when format: "csv")
Example response
{
"processed": 3,
"processingTimeMs": 150,
"results": [
{
"analystStatus": "new",
"categories": [
"phishing",
"malware"
],
"confidence": 95,
"entity": "example.com",
"infrastructure": {
"attributes": [
"cloud",
"saas"
],
"sources": [
{
"category": "infrastructure",
"id": "azure-ip-ranges",
"name": "Azure - Published IP Ranges",
"threatClass": "infrastructure"
}
]
},
"isMalicious": true,
"lookupStatus": "unknown",
"observedAt": "2026-05-09T00:00:00Z",
"pending": [
"circl"
],
"recommendedAction": "review",
"riskLevel": "high",
"riskScore": 82,
"sources": 12,
"type": "domain"
}
],
"success": true,
"total": 3
}Changes
- info
added the new optional request property
- info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status - info
added the optional property
//to the response with the status
- info
- breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became optional for the status - breaking
the response property
//became optional for the status
- breaking