PurgoMalum API

⭐ Beginner's Pick Data Validation / No Auth Required Beginner HTTP
Free to Use Varies (check documentation)

Overview

PurgoMalum is a free, no-auth REST API for filtering profanity and obscene words from text, returning a cleaned version with offensive terms replaced by asterisks or a custom fill character. It works with plain HTTP GET requests — just pass the text as a query parameter — making it one of the simplest content moderation APIs available. A `containsprofanity` endpoint lets you check for profanity presence without transforming the text.

💡

Beginner Tip

No API key needed. Pass text via the `text` parameter: `https://www.purgomalum.com/service/plain?text=your+text+here`. Use `/service/json` for a JSON response or `/service/xml` for XML. To use a custom replacement character instead of asterisks, add `&fill_char=X`. The API is GET-only and works directly from the browser address bar.

Available Data

PurgoMalum data via REST API
JSON-formatted response data
Freely accessible without authentication

Example Response

JSON Response
{
  "input": "[email protected]",
  "is_valid": true,
  "format_valid": true,
  "details": "Input passes all validation checks"
}

Field Reference

result The input text with profanity replaced by asterisks (or your custom `fill_char`). Returned when using the `/service/json` endpoint.

Implementation Example

const url = "http://www.purgomalum.com/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

API returns the original text unchanged No profanity was detected in the input — PurgoMalum only modifies text containing words in its blocklist.
This is expected behavior. Use `/service/containsprofanity` endpoint to first check whether the text contains profanity before filtering.
Special characters are stripped or mangled Special characters in the text are not URL-encoded.
URL-encode the text before sending (e.g., spaces as `+` or `%20`). Use `encodeURIComponent()` in JavaScript or `urllib.parse.quote()` in Python.
Mixed-content browser warning PurgoMalum's primary URL uses HTTP, which modern browsers block when called from HTTPS pages.
Call the API server-side from your backend rather than directly from browser JavaScript to avoid mixed-content policy restrictions.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 20/20
🔒 Security 0/15
🛠 Developer XP 15/20
✓ Reliability 7/15
Response Time 54ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS NO
CORS UNKNOWN
Category Data Validation
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →