REST API
Every free tool is available over HTTP. Use it from CI, monitoring, or your own dashboards.
Authentication
Send the key as Authorization: Bearer dbk_.... Keys in the query string are not accepted.
Rate limits
60 requests per minute per account, shared by all its keys (up to 5 active). Responses are cached 10 minutes for the same domain and tool. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (unix timestamp). Tool responses also include cache_hit, generated_at and cached_until, so you know when to query again.
OpenAPI
/api/v1/openapi.json. Paste the URL into Swagger Editor, Redoc, Postman or Insomnia for an interactive client.
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/tools | List available tool slugs |
| GET | /api/v1/usage | Current key and usage |
| GET | /api/v1/check/:tool/:domain | Run one tool on a domain |
| GET | /api/v1/profile/:domain | Composite headline profile, cached 24 hours |
Tools
ssldmarcspfmxwhoisnsdns_propagationsecurity_headersredirect_chainreverse_dnsdnssechttp_protocoldomain_agecookie_auditct_log_finderrblemail_authtakeoverimpersonationdkim
Some tools take extra parameters: dkim needs selector, dns_propagation takes record_type.
Example
# SSL certificate check
curl -H "Authorization: Bearer dbk_your_key_here" \
https://dombrains.com/api/v1/check/ssl/example.com
# Full headline profile
curl -H "Authorization: Bearer dbk_your_key_here" https://dombrains.com/api/v1/profile/example.com
Response
{
"ok": true,
"domain": "example.com",
"status": "ok",
"status_message": "Certificate valid, 67 days left",
"data": {
"host": "example.com",
"issued_by": "DigiCert",
"days_left": 67,
"tls_version": "TLSv1.3"
}
}