BYTETOOLS

Stop Forum Spam API

Free Stop Forum Spam API with no key: check an IP address, email or username against a community database of forum spam reports, with confidence score and Tor exit flag.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Stop Forum Spam API?

The Stop Forum Spam API is a free, key-free lookup that checks an IP address, email address or username against a community-maintained database of spam and abuse reports. It returns whether the value appears, how often, when it was last seen, and a confidence percentage.

Stop Forum Spam has collected abuse reports from forum and CMS operators since 2007, and the result is a large corpus of addresses and identities associated with spam registrations. The lookup is trivially simple — one GET with `ip`, `email` or `username` and the `json` flag — which is why it is embedded in so many registration flows as a first-pass filter.

The `confidence` value is the field to build on. It weighs report frequency against recency, so a single old report scores low while a persistently reported address scores high, and choosing a threshold rather than treating any appearance as a hit is what separates a useful filter from one that blocks real users. The example queries a Tor exit node: 89 reports, last seen nine days ago, confidence 83.82, with `torexit: 1` flagged separately. Remember the data is community-submitted and unverified — shared and mobile carrier addresses accumulate reports because thousands of unrelated people use them. Use it as one signal among several, never as the sole basis for blocking.

Quick facts

Base URL
https://api.stopforumspam.org
Authentication
No API key needed to query. Submitting reports requires a free key. The database is community-contributed and offered for anti-abuse use; bulk redistribution is not permitted.
Rate limit
Stop Forum Spam publishes a daily query allowance per IP for the free API and offers downloadable zone files for high-volume users.
Pricing
Free for querying. Downloadable blocklists are also free; commercial redistribution of the dataset is not.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Stop Forum Spam API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Check an IP address against the spam database

GET https://api.stopforumspam.org/api?ip=185.220.101.1&json

curl
curl 'https://api.stopforumspam.org/api?ip=185.220.101.1&json'
JavaScript (fetch)
const res = await fetch("https://api.stopforumspam.org/api?ip=185.220.101.1&json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.stopforumspam.org/api?ip=185.220.101.1&json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "success": 1,
  "ip": {
    "value": "185.220.101.1",
    "appears": 1,
    "frequency": 89,
    "lastseen": "2026-08-12 01:44:37",
    "torexit": 1,
    "asn": 60729,
    "country": "de",
    "confidence": 83.82
  }
}

Parameters

ParameterTypeRequiredDescription
ipqueryOptionalIPv4 or IPv6 address to check. 185.220.101.1
emailqueryOptionalEmail address to check. Hashed lookups via `emailhash` are also supported for privacy. spammer@example.com
usernamequeryOptionalUsername to check. spambot123
jsonqueryRequiredReturn JSON. Without it the response is XML. json
confidencequeryOptionalInclude the confidence calculation in the response. true
nobademailqueryOptionalExclude reports where the email was malformed, reducing noise. true

Response fields

successinteger
1 when the query was processed. Not a statement about whether the value was found.
ip.value / email.value / username.valuestring
The value queried, echoed back.
appearsinteger
1 if the value is in the database, 0 if not. The primary answer.
frequencyinteger
How many times it has been reported. High counts on shared addresses are expected and not meaningful.
lastseenstring
Timestamp of the most recent report. Recency matters more than raw frequency.
confidencefloat
Weighted 0-100 score combining frequency and recency. Threshold on this rather than on `appears`.
torexitinteger
1 if the address is a known Tor exit node — separate information from spam reputation.
asn / countryinteger / string
Network and country context for the address.

What you can build with the Stop Forum Spam API

  • Screen registrations on a forum or comment system
  • Add a reputation signal to an existing anti-abuse pipeline
  • Flag suspicious sign-ups for manual review rather than auto-blocking
  • Detect Tor exit nodes in traffic without maintaining a list
  • Score contact-form submissions before they reach a mailbox

Common errors and how to fix them

XML instead of JSON

The `json` flag was omitted.

Fix: Append `&json` as a bare flag. Without it the API returns XML, which is the historical default.

High frequency on a legitimate user

Shared and carrier-grade NAT addresses accumulate reports.

Fix: Never block on `appears` alone. Threshold on `confidence` and combine with other signals — mobile networks in particular will produce false positives.

Rate limited

The daily free query allowance was exceeded.

Fix: Cache lookups per address, and for high volume download the published zone files and match locally.

Empty result for a value you expected

The database only holds reported values.

Fix: Absence means nobody has reported it, which for a new spam campaign is entirely normal. This is a lagging indicator by nature.

Stop Forum Spam API — frequently asked questions

Is the Stop Forum Spam API free?

Yes, querying is free with no key. Submitting reports requires a free key, and there is a published daily query allowance per IP with downloadable blocklists available for higher volumes.

Can I block users based solely on this API?

You should not. The data is community-submitted and unverified, and shared addresses such as mobile carrier NAT ranges collect reports from thousands of unrelated users. Use `confidence` as one input to a scoring system, with review for borderline cases.

What does the confidence score mean?

It weighs how often a value has been reported against how recently, producing a 0-100 figure. A single report from years ago scores low; sustained recent reporting scores high. Thresholding on confidence is far more accurate than treating any appearance as a hit.

Does it check email addresses and usernames too?

Yes, using the `email` and `username` parameters, and you can query several types in one request. Hashed email lookups are supported if you would rather not send addresses in plaintext.

Tools that pair with this API

Stop Forum Spam is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.