COMPARISON · PERSPECTIVE MIGRATION

Perspective is going away.
filter8() isn't.

Google's Perspective API — the free option a lot of teams leaned on — is being retired. Filter8 is the deterministic replacement: it returns a verdict you can act on, not a probability to threshold; it's sub-millisecond; and it keeps nothing after the response.

Try the playground → Read the docs
100 free calls · no credit card · one curl to your first verdict.
A verdict, not a score
Perspective hands you a probability and makes thresholding your problem. Filter8 returns allow / mask / reject / review plus clean_text — decided against per-rating policy.
Never guesses, never drifts
A hosted model can change under you. Filter8 is a pure function of (bundle, input) — same input, same verdict, forever, with a reproducible explain trace.
Your text, not theirs
No round-trip to Google. Filter every message at sub-millisecond speed, and keep nothing after the response — offset-only logs, no text.

Perspective vs Filter8, feature by feature

CAPABILITY Google Perspective Filter8
StatusBeing retiredActively developed
ApproachHosted ML toxicity scoringDeterministic engine — pure (bundle, input)
OutputProbabilities you must thresholdVerdict + clean_text
LatencyNetwork round-trip to GoogleSub-millisecond, in-process
Evasion (leet · homoglyph · spacing · zero-width)Inconsistent on adversarial input26 classes folded before matching
False-positive control (Scunthorpe)Model-dependentExplicit whitelist veto
Contact / PII classifiersPhone · email · URL (incl. spelled-out)
Rating-aware (E–M · minors)
Explainable / replayableScore onlyFull reproducible explain trace
Data residencyText sent to GoogleNothing retained after the response
ThroughputLow default QPSYour plan's rate
PriceFree — while it lastsFree tier → flat, volume-priced
Comparison as of July 2026, based on public information about Perspective and Filter8's own positioning. Vendor capabilities change — verify specifics before relying on them.
THE SWAP

You were thresholding a score. Now you get an answer.

Perspective made you fetch a probability and decide what to do with it. Filter8 makes the call for you, against a rating-aware policy — one request, one verdict.

BEFORE · PERSPECTIVE
// a probability — you own the policy
const r = await client.comments.analyze({
comment: { text },
requestedAttributes: { TOXICITY: {} }
});
const score =
r.attributeScores.TOXICITY.summaryScore.value;
if (score > 0.8) block();
// now what about masking? PII? multilingual?
AFTER · FILTER8
// a verdict + cleaned text, deterministic
const { action, clean_text, score } =
await (await fetch(https://api.filter8.dev/v1/filter, {
method: POST,
headers: { Authorization: Bearer f8_live_… },
body: JSON.stringify({ text, rating: T })
})).json();
// action ∈ allow · mask · reject · review
WHERE PERSPECTIVE WAS STRONG

Honest about the trade

Perspective was genuinely good at nuanced, multi-attribute toxicity scoring across many languages — sarcasm, implied insults, coded language. A deterministic engine can't read intent, and we won't pretend otherwise.

That's exactly the review bucket. Filter8 handles the ~99% of traffic where speed, cost, privacy and precision matter deterministically, and flags the genuinely ambiguous tail so you can route it to a model asynchronously, off the hot path. Deterministic core, model escalation — the best of both, at a fraction of the model spend.

Perspective migration questions

Is Perspective really shutting down?
Per Google Jigsaw's own notices, it stops accepting new requests in early 2026 and goes out of service after. If you're on it, you need a replacement — that's the migration we're built for.
Is Filter8 a drop-in replacement?
The shapes differ in your favor: Perspective returns scores you threshold, Filter8 returns a verdict plus cleaned text. One call, and usually simpler code.
Perspective was free. What's the cost?
A free tier to start, then flat volume pricing well below per-call ML APIs. Our marginal cost is compute, so it doesn't tax every message.
Can it do multilingual toxicity scoring?
Filter8 is English-first and deterministic, so it doesn't emit nuanced multi-language probabilities. Route that ambiguous tail to a model async — deterministic on the hot path, model on the edge.
COMPARE MORE

Move off Perspective in an afternoon.

Start free, no card. Paste an evasion in the playground and watch it decide — same input, same verdict, every time.

Get an API key Open the playground