Content Moderation API — Perspective API Alternative
Pricing
from $8.00 / 1,000 text scoreds
Content Moderation API — Perspective API Alternative
Content moderation API scoring text 0-1 across toxicity, hate, harassment, sexual, violence, self-harm and spam with custom policy rules and explainable reasons. Rules-first pricing: $0.008 per scored text, success-only billing. Perspective API alternative before its Dec 2026 sunset.
Pricing
from $8.00 / 1,000 text scoreds
Rating
0.0
(0)
Developer
AutomateLab
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Content Moderation API for user-generated text — scores comments, reviews, posts, and support tickets 0-1 across 7 policy categories (toxicity, hate, harassment, sexual, violence, self-harm, spam) with explainable plain-language reasons and custom policy rules your team defines. A drop-in Google Perspective API alternative for platforms migrating before its December 2026 sunset. Deterministic rules decide clear cases at zero AI cost; an AI judgment layer scores only the ambiguous middle band. $0.008 per scored text, success-only billing — malformed items and processing failures are never charged.
What does content-moderation-scorer do?
It takes a batch of user-generated texts — YouTube comments, product reviews, forum posts, support tickets, chat messages — and returns a moderation verdict per text: a safe boolean, an overallScore from 0 to 1, per-category scores, the flagged categories, a plain-language reason a human moderator can act on, and customFlags for your own house rules (block competitor mentions, medical advice, scam links — anything OpenAI's free Moderation endpoint cannot express because its taxonomy is fixed). You can download the results in JSON, CSV, Excel, or HTML.
Unlike a profanity checker, this is a custom content moderation policy engine: you supply your own rules and examples, the scorer enforces them alongside the 7 standard categories, and ambiguous texts are escalated to an AI policy judgment rather than guessed.
Why use content-moderation-scorer?
- Custom policy support — express house rules the free fixed-taxonomy endpoints can't: flag competitor mentions, medical advice, scam links, off-topic promotion.
- Explainable verdicts — every record carries a reason listing the exact signals matched, plus
decidedBy: rules|jevso you know how each decision was made. - Perspective API migration path — Google's Perspective API shuts down Dec 31 2026; this actor covers its core toxicity/abuse scoring with plain-JSON input/output you can map 1:1.
- Spam & scam detection included — link spam, scam phrases ("double your money", "crypto giveaway"), shouting, repeated-character spam: the patterns profanity checkers miss.
- Cost control — deterministic rules decide clear cases free; only texts scoring in the 0.3-0.7 ambiguity band consume AI judgment, and the AI call cost is baked into your event price.
- API-ready — runs with Apify standby mode: keep a container warm and POST texts for low-latency scoring, or run batches of up to 1,000 texts per run. Integrate via Apify API, webhooks, n8n, Zapier, Make, or LangChain/CrewAI agents.
How to use content-moderation-scorer
- Click Try for free — no subscription needed.
- Paste your texts into the
textsfield (plain strings, or{"text": "...", "id": "your-id"}objects to keep your own identifiers). - Optionally set a
policy: a subset of the 7 categories to enforce, andcustomRuleslike{"name": "no_competitor_mentions", "description": "flag rival brand mentions", "examples": ["Acme Corp"]}. - Set
threshold(default 0.7) andmaxTextsif you want cost caps. - Run. Each scored text appears in the dataset with its verdict; download as JSON/CSV/Excel.
For API use: POST the same JSON input to a standby-instance URL and get verdicts back synchronously.
Input
| Field | Type | Default | Description |
|---|---|---|---|
texts | array (required) | — | Texts to score: strings or {text, id} objects. 1-1000 per run. |
policy | object | {} | {categories: [...subset...], customRules: [{name, description, examples}]} |
threshold | number 0-1 | 0.7 | Flag threshold. |
maxTexts | integer | 500 | Cap per run (cost control). |
useJevEscalation | boolean | true | AI judgment for ambiguous texts (0.3-0.7 band, custom-rule matches). |
Output
One dataset record per scored text (each is one billable event):
{"textId": "review-42","text": "unbelievable offer!!! ACT NOW and double your money risk-free","safe": false,"overallScore": 0.8,"categories": {"toxicity": 0.0, "hate": 0.0, "harassment": 0.0, "sexual": 0.0,"violence": 0.0, "self_harm": 0.0, "spam": 0.8},"flagged": ["spam"],"reason": "spam: phrase 'double your money' (severity 0.8); excessive punctuation (severity 0.3)","decidedBy": "rules","customFlags": ["no_competitor_mentions"]}
Data table
| Field | Meaning |
|---|---|
textId | Your id, or text-N |
text | The scored text |
safe | true when overallScore < threshold |
overallScore | 0-1 policy-violation score |
categories | The 7 category scores (toxicity, hate, harassment, sexual, violence, self_harm, spam) |
flagged | Categories at/above threshold |
reason | Plain-language explanation with the exact matched signals |
decidedBy | rules (deterministic, free) or jev (AI judgment layer) |
customFlags | Your custom policy rules that matched |
Pricing — how much does it cost to moderate text?
$0.008 per scored text (text-scored event). No subscription, no minimum.
- Charged: every text that receives a verdict — safe or flagged, rules-decided or AI-judged.
- Not charged: malformed input items, texts that fail processing, and empty input — pushed as free error records (success-only billing, the Apify first-party norm).
- A 500-comment batch = $4.00 worst case; cap spend per run with
maxTexts.
Tips and advanced options
- Moderate YouTube comments, Reddit posts, or product reviews at scale: pipe the output of a comments scraper (YouTube Comments Scraper, Reddit Scraper, Facebook Comments Scraper) straight into
texts. - Tune recall vs precision with
threshold: 0.5 catches borderline content; 0.9 only near-certain violations. - House rules: put your policy in
customRules; matched texts escalate with the rule's description and examples for context-aware judgment. - Cost control:
maxTextscaps a run;useJevEscalation: falsescores rules-only (zero AI ambiguity handling, fastest and cheapest behavior).
FAQ, disclaimers, and support
Is this a profanity checker? No — profanity checkers race to $0.00025/event on word-lists. This is a policy scorer: contextual categories, custom rules, explainable reasons.
What replaces the Google Perspective API? Perspective sunsets Dec 31 2026. This actor maps its core use case (score UGC 0-1 for toxicity/abuse with reason codes) onto Apify's pay-per-event pricing, plus custom policy support Perspective never had.
What if the AI judgment layer is unavailable? Texts are decided by the deterministic rules layer and still charged — a delivered verdict is the product. Malformed items and processing failures are always free.
Legality & content: you are responsible for the texts you submit; the scorer returns analysis only. Feature requests: open an issue on the Issues tab — custom categories and policy packs are available on request.
Keywords: content moderation API, toxicity scoring API, text moderation actor, custom content moderation policy, spam comment detection API, UGC moderation API, Perspective API alternative, moderate YouTube comments, moderate product reviews, moderate forum posts.