Profanity Filter API - Detect & Mask Bad Words in Text avatar

Profanity Filter API - Detect & Mask Bad Words in Text

Pricing

$10.00 / 1,000 text analyzeds

Go to Apify Store
Profanity Filter API - Detect & Mask Bad Words in Text

Profanity Filter API - Detect & Mask Bad Words in Text

Profanity detection and filtering API. Input: text string(s). Output: JSON with a masked clean version, the list of flagged words, a severity rating, and a boolean hasProfanity flag for moderation pipelines. No API key. $0.01 per text analyzed.

Pricing

$10.00 / 1,000 text analyzeds

Rating

0.0

(0)

Developer

Anthony Snider

Anthony Snider

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Profanity Detector & Filter

Detect and mask profanity in text — get a clean (masked) version, the exact flagged words with positions and severity, and a simple isClean boolean built for moderation pipelines.

Live on the Apify Store — run it instantly or call it as an agent tool via Apify MCP.

What you get

  • Smart matching — a built-in multi-tier word list catches leetspeak (f4ck, sh!t), spacing and punctuation obfuscation (f.u.c.k, s h i t), and stretched letters (fuuuck).
  • No false positives — word-boundary anchoring defeats the Scunthorpe problem, so Scunthorpe, class, assassin, and Cockburn stay clean.
  • Masked output — a ready-to-publish cleanedText with profanity replaced by your chosen mask character.
  • Severity tiers — every match is labeled mild / strong / severe, plus an overall severity for the whole text.
  • Positions — exact start/end offsets for each match so you can highlight or redact in your own UI.
  • Bulk mode — pass a single text or an array of texts; each gets its own result row.

Input

{
"text": "what the f*ck is this sh!t, you absolute m0ron",
"maskChar": "*"
}

Bulk:

{
"texts": ["have a wonderful day!", "this is total bullsh1t"],
"maskChar": "#",
"maxTexts": 50
}

Output

{
"text": "what the f*ck is this sh!t, you absolute m0ron",
"isClean": false,
"matchCount": 3,
"matches": [
{ "word": "fuck", "matched": "f*ck", "severity": 3, "severityLabel": "severe", "start": 9, "end": 13 },
{ "word": "shit", "matched": "sh!t", "severity": 2, "severityLabel": "strong", "start": 22, "end": 26 },
{ "word": "moron", "matched": "m0ron", "severity": 1, "severityLabel": "mild", "start": 41, "end": 46 }
],
"severity": "severe",
"severityScore": 3,
"cleanedText": "what the **** is this ****, you absolute *****",
"analyzedAt": "2026-06-24T00:00:00.000Z"
}