const res = await client.moderation.check({
entity_type: "review",
entity_id: "review-551",
entity_creator_id: "user-412",
moderation_payload: {
texts: ["add me on wh4ts4pp for the real price"],
},
config_key: "reviews",
});
// res.recommended_action -> "remove"Text moderation API that reads context, not just keywords.
Built for trust & safety teams. Check messages, comments, listings, reviews, and usernames in 50+ languages. Nora, your moderation agent, reviews every flag and recommends or takes action.



Fast, accurate, and reliable at high volume.
- 3.6B+text checks/month
- <50mstext moderation
- 98%catch rate
- 99.999%uptime SLA
- KalshiFed cut in Dec?Ttrader_kcpi print looks soft, buying yesKeptKalshiFed cut in Dec?Aalpha99DM me for insider picks, pay on telegramRemoved · Scam
- Rahul SoodPay SellerRahul SoodHey mate, yes it is. Happy to meet in Kogarah.Keptdeals_auPay Sellerdeals_auPay via gumtree-pay.co/secure to hold it for youRemoved · Scam

- Earnings talk2.1k membersLlongterm_leeholding through earningsKeptEarnings talk2.1k membersJjen.wtext me +1 ••• •••• for my signals groupPII masked · Platform bypass
Stop scams, spam, and abuse in 50+ languages.
35+ harm categories out of the box, plus positive signals and any custom label you write in plain language.
Rules for what you already know.
Put deterministic rules on top of AI for the patterns you can name.
Content rules
Blocklists with normalization
Catch leetspeak and hidden characters.
wh4ts4pp -> whatsappblocklist matchMatchRegex
Match formats like phone numbers or codes.
\+?\d[\d\s-]{7,}+1 555 0199MatchURL and domain protection
Block links, with allowlists for trusted domains.
bit.ly/gemzBlockgetstream.ioAllowFlood and duplicate-message rules
Stop the same message posted over and over.
3 in 30sFloodMinimum text length
Filter out empty or one-character spam.
kToo shortGreat seller, shipped fastAllow
Two examples that become rules:
- SpamBecomes
@promo_99 · 0:00FREE GEMS click bit.ly/gemzSpam
@promo_99 · 0:12FREE GEMS click bit.ly/gemzSpam
@promo_99 · 0:24FREE GEMS click bit.ly/gemzSpamSpam floodEnabledWHENSame message 3+ times in 30sANDLink not allowlistedTHENRemoveShadowban 1 hour - Repeat harassmentBecomes
Sep 28you're trash, uninstallInsult
Oct 2nobody wants you hereInsult
Todaygo cry somewhere else, loserInsultRepeat harassmentEnabledWHENLabel : InsultANDSeverity ≥ mediumAND2+ prior violations in 14 daysTHENBan 7 daysSend to team
Judged on context, not one message at a time.
Nora weighs conversation context, user history, and prior actions before acting, which cuts false positives.
Moderate any text, from any platform.
Send any text to the Check or Analyze API from your own backend: listings, reviews, comments, DMs, and bios.
Stream moderation FAQs.
More content types, same policy.
Test it on your own messages.
Run a sample of your flagged messages through Stream at no cost.
