User-generated content
Comments, messages, names and bios, checked before anyone sees them.
Text moderation API
Send up to 20,000 characters as JSON. You get accept, review or reject, with the category, the score and the threshold behind the decision.
2,000 free checks a month. No card needed.
curl -X POST \
-H "Authorization: Bearer $OPENMOD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Write me at jane@example.com",
"ref": "comment_9034"
}' \
"https://api.openshield.dev/v1/text"{
"summary": {
"action": "review",
"review_reason": [
{ "id": "pii_email", "score": 1, "threshold": 1 }
]
},
"ref": "comment_9034"
}What it checks
A workflow picks the categories you care about and the thresholds for each. The groups are only how this page lists them.
Email addresses, phone numbers, bank account numbers, payment cards, links, spam and scams are found by rules and by lists of sites. They score 1 when they match, so their thresholds are 1.
Unsafe text, violence, sexual content, hate speech, illegal activity and similar categories get a score from 0 to 1, and you set a review and a reject threshold for each.
Comments, chat and AI output
Check a comment before it is published, or the text an LLM generated before you send it. The decision and the reasons have the same shape, and the ref you send ties the decision to your comment or your agent run.
Comments, messages, names and bios, checked before anyone sees them.
The text an agent or an LLM generates, checked before you publish it, and the messages a user sends it.
The answer
This text holds an email address, which the default workflow sends to review. The score is 1 because a rule found it.
{
"status": "success",
"workflow": "default",
"workflow_version": 1,
"summary": {
"action": "review",
"reject_prob": 0,
"reject_reason": [],
"review_reason": [
{
"id": "pii_email",
"text": "Email address",
"message": "This content contains an email address.",
"score": 1,
"threshold": 1,
"source": "rules"
}
]
},
"scores": { "pii_email": 1 },
"time_ms": 4,
"request_id": "0192b7c5-1d20-7b3a-8f61-5c9e2a7d4b10",
"ref": "comment_9034"
}Limits
In the docs
Questions
No card needed. Create a key and send your first request in five minutes.
Beta prices, in euros, excluding VAT