ML-Powered, Not Just Rules
16 signalsGoes beyond simple User-Agent pattern matching. Our ML model combines multiple signal categories to catch sophisticated bots that rule-based systems miss.
Bot traffic inflates your analytics, wastes server resources, and skews every metric you rely on. Our ML-powered scoring API analyses each request in real time and returns a bot probability score, so you only count the visits that matter.
Try the APIBot traffic inflates your analytics, wastes server resources, and skews every metric you rely on. Our ML-powered scoring API analyses each request in real time and returns a bot probability score, so you only count the visits that matter.
Goes beyond simple User-Agent pattern matching. Our ML model combines multiple signal categories to catch sophisticated bots that rule-based systems miss.
Returns a 0–1 probability so you can set your own threshold. Block aggressively, flag for review, or just tag and monitor — your call.
The scoring endpoint stays warm around the clock with automatic health checks every 5 minutes. Typical responses come back in under 50ms — fast enough to sit in your tracking pipeline without adding noticeable latency.
The model scores requests using only standard HTTP metadata — nothing that identifies a person. No cookies set, no fingerprinting scripts, no personal data stored. GDPR and ePrivacy compatible out of the box.
If the scoring service is slow or unavailable, consumers fall back to built-in rule-based detection. Your tracking never breaks.
Every API call is authenticated. Each integration gets its own token with access limited to the endpoints it needs — nothing more.
A clean REST API with scoped token auth. Score traffic or check service health — integrate in minutes.
POST /api/bot-score Send request features, get a bot probability score, classification, and optional Venn-Abers calibration interval.
GET /api/bot-score Health check — returns model version and status. Used for warm-up monitoring.
Send request metadata, get a bot probability score with calibration bounds.
POST /api/bot-score {
"browserName": "Chrome",
"osName": "Windows",
"deviceType": "desktop",
"asnType": "residential",
"threatScore": 5,
"isEnhanced": true,
"referrerType": "search",
"userAgent": "Mozilla/5.0 ..."
} 200 OK {
"bot_probability": 0.03,
"is_bot": false,
"model_version": "1.0.0",
"features_used": 16,
"bot_probability_low": 0.01,
"bot_probability_high": 0.05
} From raw request to bot score in under 50ms.
Your tracking code gathers standard request metadata from each visitor and sends it to the scoring endpoint.
The model evaluates multiple signal categories and returns a 0–1 bot probability with calibrated confidence bounds.
Set your own threshold — block, flag for review, or tag and monitor. If the service is unavailable, consumers automatically fall back to rule-based detection.
An automated health check pings the endpoint every 5 minutes, keeping the model loaded in memory. Warm requests complete in under 50ms. On the rare cold start (~1.5s), consumers automatically fall back to rule-based detection so tracking is never delayed.
Every API call is authenticated. Each integration gets its own token with access limited to the endpoints it needs — nothing more. Tokens are managed via environment variables, so there is no extra dashboard to maintain.
Get in touch and we'll help you integrate the scoring API into your tracking pipeline.