Skip to main content

Overview

The VulnZap API provides programmatic access to security scanning features, enabling custom integrations, automation, and real-time scan monitoring. Base URL: https://api.vulnzap.com/api/scan

Need an API Key?

Generate your API key in the dashboard

Authentication

All API requests require authentication via API key in the x-api-key header:
curl https://api.vulnzap.com/api/scan/github \
  -H "x-api-key: your_api_key_here" \
  -H "Content-Type: application/json"

Available Endpoints

VulnZap API provides the following endpoints:

Rate Limits

Rate limits are enforced based on your subscription plan. When exceeded, you’ll receive:
{
  "success": false,
  "error": "Subscription limit exceeded. You have used 100 of 100 scans this month."
}
Contact sales@vulnzap.com to increase your rate limits or upgrade your plan.

Response Codes

CodeDescription
200Success
400Bad Request - Invalid parameters or request body
401Unauthorized - Missing or invalid API key
403Forbidden - Subscription limit exceeded
404Not Found - Resource not found
500Internal Server Error

Best Practices

Use SSE endpoints (/github/:scanId/events and /commit/:jobId/events) for real-time updates instead of polling. If SSE is not available, poll /jobs/:jobId endpoint every 5-10 seconds.
Always check the success field in responses and handle errors appropriately with proper error messages.
Never expose your API key in client-side code. Use server-side proxies or environment variables.
For failed requests, implement exponential backoff to avoid overwhelming the API.
When multiple users scan the same repository/branch simultaneously, VulnZap optimizes by sharing the scan. Monitor the isSharedScan field in responses.

Support

For questions or issues: