Use case: game chat

Game chat moderation that knows trash talk from threats

A keyword filter cannot tell "I'm going to kill you" in a ranked lobby from a real threat, so it either censors the banter that makes your game fun or lets genuine abuse through. ModerateHQ reads each message with its context (the game, the channel, the recent conversation) and returns approved, flagged, or blocked in one API call.

500 free requests every month · No card to start

Moderating game chat is a different problem

Banter is part of the product

Competitive trash talk keeps players engaged. A filter that punishes "gg ez" punishes your most active players and pushes chat off-platform to places you cannot see.

Real harm hides in the noise

Slurs, hate speech, sexual harassment, and doxxing arrive in the same channel as taunts. The gaming policy acts only when it escalates beyond the game.

Scams target your players

Account phishing and trade scams cost players their accounts and cost you their trust. Typosquatted "support" links get blocked before anyone clicks.

What a verdict looks like

Real requests, real verdicts. The same words can be banter or a threat; the verdict follows the context you send.

Trash talk, read in context · gaming policyapproved

I'm going to kill you

channel
ranked match chat
history
"gg that round was so close" · "haha you clutched it, rematch?"

In a ranked match this reads as trash talk about an in-game kill, not a real-world threat.

Drop the match context and the same line is flagged for human review.

Account phishing · gaming policyblocked

Your account has been flagged for a ban. Appeal within 24 hours at steamcommunlty-support.net or lose access permanently.

A phishing lure using a typosquatted support domain to hijack player accounts.

scams_fraud
Post-match taunt · gaming policyapproved

gg ez, you are actually terrible at this game

Standard competitive trash talk, explicitly permitted by the gaming policy; it does not escalate beyond the game.

The whole integration

Send a POST with your API key, the content, and optional context. You get structured JSON back with the verdict, categories, and a reason. That is the entire integration.

moderate.sh
$ curl https://api.moderatehq.com/v1/moderate/text \
    -H "x-api-key: $MODERATEHQ_KEY" \
    -H "Content-Type: application/json" \
    -d '{
  "content": "I'\''m going to kill you",
  "policy": "gaming",
  "context": {
    "platform": "my-shooter",
    "channelType": "ranked match chat",
    "conversationHistory": [
      "gg that round was so close",
      "haha you clutched it, rematch?"
    ]
  }
}'

What the gaming policy covers

Competitive gaming context. Trash talk, taunting, and profanity are part of the culture and are permitted. Act only when it escalates beyond the game: credible real-world threats, slurs, hate speech, sexual harassment, doxxing, threats against someone's connection, or scams targeting players.
threatsslurshate_speechsexual_harassmentdoxxingnetwork_abusespamscams_fraudcsam

The full catalog, including the platform safety floor enforced on every request, is on the policies page and available programmatically without a key.

Frequently asked questions

Will this add lag to my chat?

Most verdicts return in a second or two. Many games display the message immediately and moderate in parallel, then remove it and act on the sender if the verdict comes back blocked. If you want to hold messages until they pass, budget for the round trip like any external call.

What does it cost at chat volume?

One credit per message checked; the Scale pack works out at $2.86 per 1,000 requests. You choose what to check: plenty of games moderate new accounts, reported players, and public channels heavily rather than every single message.

Can it moderate usernames and clan tags too?

Yes. It moderates any text you send, so usernames, clan names, and profile bios go through the same call as chat messages.

How does context actually change verdicts?

You can pass the platform, channel type, and recent messages with each request. The same words are then judged where they appear: a kill threat mid-match is banter, but without match context it goes to human review.

Keep the trash talk, lose the toxicity

Create an account, grab your API key, and send your first message with the gaming policy. The free tier needs no card.

Get started free
Game chat moderation API | ModerateHQ