I built *Abuse Signals API*, a small API that returns *deterministic, signals-only* abuse indicators for a domain or an email (domain extracted). It’s meant for signup/onboarding pipelines where you want a transparent triage signal without a black-box model.
What it does: - Input: `domain=...` or `email=...` (exactly one) - Output: `abuseScore` (0–100), `abuseLevel`, a list of triggered `signals` - Optional `explain=1`: returns per-signal explanations (severity + category + note) - Fixed OpenAPI contract (`v1`): stable schema for integrations
Why I built it: - I wanted something deterministic and explainable (same input → same output), with explicit “lookup_failed_*” transparency signals when external lookups time out.
Endpoints: - `GET /abuse-signals` - `GET /usage` (monthly quota usage for the API key)
Quick try (requires an API key): curl "https://abusesignalsapi.analyses-web.com/abuse-signals?domai..." \ -H "X-API-Key: YOUR_API_KEY"
Example response (truncated): { "input": { "email": null, "domain": "fake-buy-info-product-example.shop" }, "abuseScore": 75, "abuseLevel": "high", "signals": ["disposable_domain_pattern","low_domain_age","many_hyphens_or_digits","lookup_failed_rdap"], "version": "v1", "meta": { "cached": false, "processingMs": 944, "cacheHours": 24, "scoringPolicy": "2026-01" }, "explanations": [ { "signal": "disposable_domain_pattern", "severity": "high", "category": "risk", "note": "Matches disposable/temporary patterns." }, { "signal": "lookup_failed_rdap", "severity": "info", "category": "warning", "note": "RDAP/WHOIS lookup failed; no score impact." } ] }
Docs / Pricing / OpenAPI: - Docs: https://abusesignalsapi.analyses-web.com/docs.html - Pricing: https://abusesignalsapi.analyses-web.com/pricing.html - OpenAPI (fixed contract): https://abusesignalsapi.analyses-web.com/openapi.yaml
Examples repo (Node / Python / C#): - https://github.com/ulissse/abusesignalsapi-examples
Limitations (by design): - This API provides automated indicators based on infrastructure signals only. - It is not a verdict, not a probability, and does not provide advice.
I’d love feedback on the contract shape, the “explain mode” format, and whether the signals list/bands are useful for real-world signup abuse triage.