v3.2.0 — ML Engine GA • 99.9% accuracy

Stop Spam with
One API Call.

SpamJammer is an API-first anti-spam engine built for developers. Sub-50ms latency. 99.9% detection accuracy. Drop it into any stack with three lines of code. Email, forms, comments — covered.

$ npm install @spamjammer/sdk
terminal — bash
$
# Request
-H "Authorization: Bearer sj_live_..." \
-d '{"content": "Buy now! Free money!", "type": "email"}'
# Response — 23ms
{
  "spam": true,
  "score": 0.98,
  "category": "promotional",
  "action": "block"
}
$
<50ms Avg Latency
99.9% Detection Accuracy
2.4B+ Messages Scanned
12,000+ Active API Keys

Three Lines. Any Language.

SpamJammer ships SDKs for every major language plus a simple REST API. Pick your stack and start blocking spam in under five minutes.

# Check a message for spam
curl -X POST https://api.spamjammer.com/v1/check \
  -H "Authorization: Bearer sj_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Buy now! Free money!",
    "type": "email"
  }'

# Response (23ms)
{
  "spam": true,
  "score": 0.98,
  "category": "promotional",
  "action": "block"
}
import spamjammer

# Initialize client
client = spamjammer.Client("sj_live_...")

# Check a message
result = client.check(
    content="Buy now! Free money!",
    type="email"
)

if result.spam:
    print(f"Blocked: {result.category} (score: {result.score})")
# Output: Blocked: promotional (score: 0.98)
import { SpamJammer } from '@spamjammer/sdk';

// Initialize client
const sj = new SpamJammer('sj_live_...');

// Check a message
const result = await sj.check({
  content: 'Buy now! Free money!',
  type: 'email'
});

if (result.spam) {
  console.log(`Blocked: ${result.category}`);
}
// Output: Blocked: promotional
package main

import (
    "fmt"
    "github.com/spamjammer/go-sdk"
)

func main() {
    client := spamjammer.New("sj_live_...")

    result, err := client.Check(spamjammer.CheckRequest{
        Content: "Buy now! Free money!",
        Type:    "email",
    })

    if result.Spam {
        fmt.Printf("Blocked: %s (%.2f)\n", result.Category, result.Score)
    }
}
require 'spamjammer'

# Initialize client
client = SpamJammer::Client.new('sj_live_...')

# Check a message
result = client.check(
  content: 'Buy now! Free money!',
  type: 'email'
)

if result.spam?
  puts "Blocked: #{result.category} (#{result.score})"
end
# Output: Blocked: promotional (0.98)

Benchmarks That Matter

Measured on production traffic across all regions. P99 latency under 100ms. Numbers updated weekly from our observability pipeline.

Metric SpamJammer Akismet CleanTalk reCAPTCHA
Avg Latency <50ms ~300ms ~200ms ~500ms (client)
P99 Latency <95ms ~800ms ~450ms ~1200ms
Detection Rate 99.9% 99.5% 98.2% 97.0%
False Positive Rate 0.01% 0.10% 0.25% 0.50%
API-First Yes Yes Yes No (widget)
Batch Support Up to 1000/req No No No
Custom Rules Yes (DSL) No Limited No
Webhooks Yes No No No

Built for Production Systems

Every feature ships with full API coverage, webhooks, and documentation. No UI lock-in — everything is programmable.

>_

REST API v3

OpenAPI 3.1 spec. Versioned endpoints. Rate limiting with exponential backoff. Idempotency keys supported.

POST /v1/check
ML

Adaptive ML Engine

Transformer-based model retrained hourly on global spam corpus. Custom model fine-tuning available on Enterprise.

model: sj-v3-turbo
{ }

Custom Rules DSL

Define blocking rules with a JSON-based DSL. Regex patterns, keyword lists, geo-fencing, header inspection.

rules.evaluate(msg)
&&

Webhooks & Events

Real-time event delivery via webhooks. HMAC-signed payloads. Retry with exponential backoff. Event replay API.

webhook.verify(sig)
[]

Batch Processing

Submit up to 1,000 messages per request. Async batch jobs with callback URL. Progress tracking via API.

POST /v1/batch
::

Multi-Channel

Email, form submissions, blog comments, chat messages, SMS. Unified scoring model across all channels.

type: "email" | "form" | ...
==

Analytics Dashboard

Real-time metrics, trend analysis, geographic heatmaps. Export via API or CSV. Grafana integration available.

GET /v1/analytics
%%

SSO & RBAC

SAML 2.0 and OIDC single sign-on. Role-based access control with granular permissions. Audit log API.

scope: "admin:write"
</>

SDKs & Libraries

Official SDKs for Node.js, Python, Go, Ruby, Java, PHP, .NET. Community SDKs for Rust, Elixir, Swift.

npm i @spamjammer/sdk

How SpamJammer Fits Your Stack

SpamJammer sits between your application and your users. A single API call before you persist or deliver any user-generated content.

USER / CLIENT Browser / App POST YOUR APP API / Backend Express / Django / etc. sj.check(content) REST API SPAMJAMMER ML Engine Rules DSL Scoring Analytics Webhooks & Events result YOUR DB Persist if clean Dashboard / Alerts 1. User submits content 2. Your app calls SpamJammer 3. Clean content persisted

Works With Your Stack

Node.js
Python
Go
Ruby
Java
PHP
.NET
Rust
Express
Django
Rails
Next.js
WordPress
Shopify
Zapier
Slack
Discord
Grafana
Datadog
AWS Lambda
Cloudflare Workers
Vercel Edge

Start Blocking Spam in 5 Minutes

Free tier available. No credit card required. 10,000 checks/month included.

Start Building Read the Docs
$ npm install @spamjammer/sdk