API for bulk checks
Run bulk checks and instant single-domain lookups from scripts, dashboards and browser extensions.
The API speaks plain JSON over HTTP: no SDKs, no webhooks to register, no queues to manage. Two access levels: instant single-target checks are free and rate-limited per IP; creating bulk jobs and reading their results requires a Pro API key.
Instant checks (free)
GET /api/v1/instant/{module}/{target} runs one check synchronously and returns the same fields the web report shows. Results are cached for 10 minutes, and each IP gets 30 fresh checks per hour — cache hits are free.
curl "https://bulkprobe.com/api/v1/instant/ssl-certificate/example.com"
/check/ssl-certificate/example.com — the human-friendly web version of the same check.
Bulk jobs (Pro API key)
POST /api/v1/jobs with a JSON body {module, items, options} creates a background job (up to 500 lines, 60 jobs per hour per key); poll GET /api/v1/jobs/{token} for results or fetch the CSV directly.
curl -X POST "https://bulkprobe.com/api/v1/jobs" \
-H "Authorization: Bearer bp_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"module":"http-status","items":["https://example.com/","https://example.org/"]}'
Getting a key: Sign in, open Account and generate an API key — it is shown once and stored only as a hash. Pass it in the Authorization: Bearer header (or X-Api-Key).
Tools list
GET /api/v1/tools returns every tool with its input type, options and report fields — build your UI from it dynamically, just like the browser extension does.
curl https://bulkprobe.com/api/v1/tools
The machine-readable specification: openapi.json. openapi.json
Examples
$raw = file_get_contents('https://bulkprobe.com/api/v1/instant/http-status/example.com');
$data = json_decode($raw, true);
echo $data['fields']['status']; // 200