Flask Profanity Filter

Screen request payloads in a Flask route with a couple of lines.

Quick start in Flask

import os, requests
from flask import request, jsonify

@app.post("/comments")
def create_comment():
    r = requests.post(
        "https://api.theprofanityapi.com/v1/check",
        headers={"Authorization": f"Bearer {os.environ['PROFANITY_API_KEY']}"},
        json={"text": request.json["text"], "context": "comment", "mode": "balanced"},
    ).json()
    if r["flagged"]:
        return jsonify(error="flagged"), 422
    # save

Why context-aware matters

A plain word list flags "this game is sick" or medical text full of anatomical terms. The Profanity API runs a five-layer pipeline that scores intent, so "die" in a gaming taunt and "die" in a real threat are handled differently. Pick a context and the engine adjusts strictness automatically.


Other integrations

Ready to ship moderation?

Get an API key and 300 free requests a month. No credit card required.

Get started free →