ASP.NET Core Profanity Filter

Moderate request bodies in a minimal API or controller using a typed HttpClient.

Quick start in ASP.NET Core

app.MapPost("/comments", async (CommentDto dto, IHttpClientFactory f) => {
    var http = f.CreateClient();
    http.DefaultRequestHeaders.Authorization =
        new("Bearer", builder.Configuration["PROFANITY_API_KEY"]);

    var res = await http.PostAsJsonAsync(
        "https://api.theprofanityapi.com/v1/check",
        new { text = dto.Text, context = "comment", mode = "balanced" });

    var result = await res.Content.ReadFromJsonAsync<ModerationResult>();
    return result!.Flagged ? Results.UnprocessableEntity() : Results.Ok();
});

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 →