Text
Profanity filter (multi-language, severity, masking) API
Match text against a curated multi-language profanity snapshot (English, Spanish, French, German, Portuguese) and return a flag, per-match severity (mild/moderate/strong), a total severity score, and a masked version of the input — with leet-speak normalization so 'sh1t'/'@ss' still match. Gives a moderation decision, not a raw substring hit. Answers 'is this text profane', 'mask the swear words', 'how bad is this language', 'does this contain profanity in Spanish'.
Price$0.01per request
MethodPOST
Route/v1/text/profanity
StatusLive
MIME typeapplication/json
Rate limit60/minute
CacheNo cache
textprofanitymoderationswearfilterobscenitynsfwcontent-moderation
API URL
Integration docshttps://x402.hexl.dev/v1/text/profanityExample request
{
"text": "what the hell, damn it"
}Example response
{
"text": "what the hell, damn it",
"isProfane": true,
"matchCount": 2,
"severityScore": 2,
"highestSeverity": "mild",
"matches": [
{
"word": "hell",
"language": "en",
"severity": "mild",
"index": 9
},
{
"word": "damn",
"language": "en",
"severity": "mild",
"index": 15
}
],
"masked": "what the ****, **** it"
}Input schema
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"examples": [
"what the hell, damn it"
]
},
"mask": {
"type": "string",
"examples": [
"*"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"en",
"es"
]
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}