check

Bulk entity check

Changed on

Check 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).

post/bulk/check

Request

  • Base URL
    https://api.ismalicious.com
  • Auth
    • API key in header X-API-KEY
    • or HTTP bearer
    • or HTTP basic

Request body

countrystring nullable

ISO 3166-1 alpha-2 hint applied to every phone number written in national format (06 12 34 56 78 + FR); E.164 numbers ignore it.

enrichmentstring nullable
entitiesstring[] required
formatstring nullable

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")

errorsstring[] nullable
processedinteger required
processingTimeMsinteger required
successboolean required
totalinteger required

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

    • 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