API URL
GET /filter
Headers
Code
Content-Type: application/jsonQuery Parameters
Param
Type
Description
text
required
string
Yes | Required. Max length: 3000 chars. Plain text to analyze.
texts
required
array
Array of texts for batch processing (1-100 items each 1-10000 characters)
severity
optional
string
Severity level filter: low medium high critical
language
optional
string
Language code (Tier 3 supports en only)
Example GET Request
Code
GET /api/v1/profanity/analyze?api_key=YOUR_API_KEY&text=What%20a%20fucking%20amazing%20result!Successful Response
Status
HTML
200 OKBody
Code
{
"success": true,
"data": {
"text": "What a fucking amazing result!",
"hasProfanity": true,
"severity": "high",
"count": 1,
"positions": [
{
"start": 7,
"end": 14,
"word": "fucking",
"category": "strong_language"
}
],
"analysis": {
"overallSeverity": "high",
"categories": [
"strong_language"
],
"context": "expressive"
}
},
"meta": {
"tier": 3,
"correlationId": "mno345-pqr678",
"timestamp": "2026-04-06T00:00:00.000Z",
"processingTime": "25ms"
}
}Field
Type
Description
success
boolean
profanities[].term | string | Specific inappropriate language detected for content filtering and user education
data
object
profanities[].severity | string | Content severity classification (low, medium, high) for proportional moderation actions
data.filtered
object
profanities[].category | string | Content violation type (harassment, explicit, hate speech) for policy enforcement tracking
data.detected
object
—
data.analyzed
object
—
data.text
string
—
data.hasProfanity
boolean
—
data.severity
string
—
data.positions
array
—
data.count
number
—
data.analysis
object
—
meta
object
—
meta.tier
number
—
meta.correlationId
string
—
meta.timestamp
string
—
meta.processingTime
string
—
error
string
—
Error Response
Example
Code
400 INVALID_INPUT | If "text" field is missing, not a string, or too long
500 INTERNAL_ERROR | If LLM fails or other internal errorLast Updated: May 4, 2026