moderateapi

Dashboard Billing API Keys Custom Rules Playground Docs
user@example.com
Impersonation mode Viewing as:

Sign in

Access your ModerateAPI dashboard

Forgot password?

No account? Register here

Information

Enter Information

Confirm Action

API Calls This Month

-

Usage

-

Remaining Calls

-

Current Plan

-

Usage This Month

-
0 -

Moderation Overview

Clean

-

Toxic

-

Spam

-

Usage Trends (Last 7 Days)

API Performance

Avg Response Time -
Success Rate -
Requests Today -

Recent Activity

No recent activity

Current Subscription

Active
Plan
Free
Monthly Price
$0
Usage Limit
1,000

Available Plans

Free

$0 /mo
  • 1,000 requests/month
  • 10 requests/minute

Starter

$19 /mo
  • 10,000 requests/month
  • 50 requests/minute
Popular

Growth

$99 /mo
  • 100,000 requests/month
  • 200 requests/minute

Scale

$299 /mo
  • 500,000 requests/month
  • 500 requests/minute

Payment History

Payment history will appear here when you have a paid subscription.

Subscribe to Starter

Plan: Starter $19/mo

10,000 requests/month

API Keys

Security Notice

API keys are shown only once upon creation. Store them securely and never expose them in client-side code or public repositories.

Rule Sets

Custom Rules

Create custom moderation rules for your content

API Playground

API Key

No API key selected

Input

Response

// Run a test to see results...

Quick Examples

API Reference

Full Docs

Quick Start

Base URL: https://moderateapi.com/api/v1

Auth: X-API-Key header

Format: JSON

Rate Limits

Free: 10 req/min

Starter: 50 req/min

Growth: 200 req/min

POST Content Moderation

Analyze text for toxicity, spam, and harmful content.

POST /api/v1/moderate

Headers

  • Content-Type: application/json
  • X-API-Key: your_key

Body

  • text (required)
  • context (optional)
Show example
curl -X POST https://moderateapi.com/api/v1/moderate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: mk_your_api_key_here" \
  -d '{"text": "Content to moderate", "context": "comment"}'
GET Usage Statistics

Get detailed usage stats and plan information.

GET /api/v1/usage
Show example
curl "https://moderateapi.com/api/v1/usage?detailed=true" \
  -H "X-API-Key: mk_your_api_key_here"
POST User Registration

Create a new user account.

POST /api/v1/register
Show example
curl -X POST https://moderateapi.com/api/v1/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "secure123"}'

Response Format

Success

{
  "safe": true,
  "confidence": 0.95,
  "issues": [],
  "suggested_action": "approve",
  "response_time_ms": 87
}

Error

{
  "error": "API key required",
  "request_id": "req_abc"
}

HTTP Status Codes

200 Success
400 Bad Request
401 Unauthorized
429 Rate Limited

Code Examples

const response = await fetch('https://moderateapi.com/api/v1/moderate', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'mk_your_api_key_here'
  },
  body: JSON.stringify({ text: 'Content to moderate', context: 'comment' })
});

const result = await response.json();
console.log('Safe:', result.safe);
import requests

response = requests.post(
    'https://moderateapi.com/api/v1/moderate',
    headers={
        'Content-Type': 'application/json',
        'X-API-Key': 'mk_your_api_key_here'
    },
    json={'text': 'Content to moderate', 'context': 'comment'}
)

result = response.json()
print(f"Safe: {result['safe']}")
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://moderateapi.com/api/v1/moderate',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-API-Key: mk_your_api_key_here'
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'text' => 'Content to moderate',
        'context' => 'comment'
    ])
]);
$result = json_decode(curl_exec($ch), true);
echo "Safe: " . ($result['safe'] ? 'Yes' : 'No');
curl -X POST https://moderateapi.com/api/v1/moderate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: mk_your_api_key_here" \
  -d '{"text": "Content to moderate", "context": "comment"}'

Create Rule

Add words one by one. Press Enter to add each word.

Enter a valid regular expression pattern.

Maximum number of characters allowed.

This rule will automatically detect the selected type. No additional configuration needed.

Hold Ctrl/Cmd to select multiple languages.

Higher numbers run first (0–1000).

Create Rule Set

Used when no specific rule set is specified in the API call.