Separate Real Visitors from Bots — Automatically

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 API

Separate Real Visitors from Bots — Automatically

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.

Sub-50ms warm latency
Privacy-first, no PII stored
Live at scoring.akilima.tech

ML-Powered, Not Just Rules

16 signals

Goes beyond simple User-Agent pattern matching. Our ML model combines multiple signal categories to catch sophisticated bots that rule-based systems miss.

Confidence Score, Not a Binary Flag

0–1 probability

Returns a 0–1 probability so you can set your own threshold. Block aggressively, flag for review, or just tag and monitor — your call.

Sub-50ms Warm Latency

<50ms warm

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.

No PII, No Cookies

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.

GDPR & ePrivacy compatible

Graceful Degradation

If the scoring service is slow or unavailable, consumers fall back to built-in rule-based detection. Your tracking never breaks.

Secure by Default

Every API call is authenticated. Each integration gets its own token with access limited to the endpoints it needs — nothing more.

Per-endpoint access control

Two Endpoints, One Integration

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.

Example Request & Response

Send request metadata, get a bot probability score with calibration bounds.

Request

POST /api/bot-score
{
  "browserName": "Chrome",
  "osName": "Windows",
  "deviceType": "desktop",
  "asnType": "residential",
  "threatScore": 5,
  "isEnhanced": true,
  "referrerType": "search",
  "userAgent": "Mozilla/5.0 ..."
}

Response

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
}

How It Works

From raw request to bot score in under 50ms.

  • Collect visitor signals

    Your tracking code gathers standard request metadata from each visitor and sends it to the scoring endpoint.

  • Score with machine learning

    The model evaluates multiple signal categories and returns a 0–1 bot probability with calibrated confidence bounds.

  • Act on the score

    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.

Always warm, always fast

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.

Secure by default

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.

Want Bot Detection for Your Site?

Get in touch and we'll help you integrate the scoring API into your tracking pipeline.