ModerateAPI

Dashboard Billing API Keys Custom Rules API Playground Documentation
Welcome, user@example.com

You are currently impersonating a user

Viewing account as:

Sign In

Sign in to your account

Forgot your password?

Don't have an account? Register here

Information

Enter Information

Confirm Action

API Calls This Month
-
Usage Percentage
-
Remaining Calls
-
Current Plan
-

Usage Overview

-
0 -

Moderation Overview

Clean

-

Toxic

-

Spam

-

Usage Trends (Last 7 Days)

API Performance

Average Response Time -
Success Rate -
Total Requests Today -

Recent Activity

No recent activity

Current Subscription

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

Available Plans

Free

$0 /month

1,000 requests/month

10 requests/minute

Starter

$19 /month

10,000 requests/month

50 requests/minute

Most Popular

Growth

$99 /month

100,000 requests/month

200 requests/minute

Scale

$299 /month

500,000 requests/month

500 requests/minute

Payment History

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

Subscribe to Starter Plan

Plan: Starter $19/month

10,000 requests per month

API Keys

Important Security Notice

API keys are only shown once upon creation for security reasons. If you lose or forget your API key, you'll need to create a new one. Store your keys securely and never share them publicly.

Rule Sets

Custom Rules

Create custom moderation rules for your content

API Playground

API Key for Testing

Choose which API key to use for playground testing:

No API key selected

Test Content Moderation

Moderation Result

Run a test to see results...

Quick Test Examples

API Documentation

Full Documentation

Quick Start

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

Authentication: X-API-Key header

Format: JSON requests and responses

Rate Limits

Free: 10 requests/minute

Starter: 50 requests/minute

Growth: 200 requests/minute

POST Content Moderation

Analyze text content for toxicity, spam, and harmful material.

POST /api/v1/moderate
Required Headers:
  • • Content-Type: application/json
  • • X-API-Key: your_api_key
Request Body:
  • • text (required): Content to moderate
  • • context (optional): Context hint
Show Example Request
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": "This is content to moderate",
    "context": "comment"
  }'

GET Usage Statistics

Get detailed usage statistics and plan information.

GET /api/v1/usage
Required Headers:
  • • X-API-Key: your_api_key
Query Parameters:
  • • detailed: true for breakdown
  • • days: number of days (1-365)
Show Example Request
curl -X GET "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 and receive an API key.

POST /api/v1/register
Required Headers:
  • • Content-Type: application/json
Request Body:
  • • email: Valid email address
  • • password: Min 8 characters
Show Example Request
curl -X POST https://moderateapi.com/api/v1/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "password": "secure_password123"
  }'

Response Format

All API responses follow a consistent JSON format:

Moderation Response:
{
  "safe": true,
  "confidence": 0.95,
  "issues": [],
  "suggested_action": "approve",
  "request_id": "req_abc123",
  "response_time_ms": 87
}
Error Response:
{
  "error": "API key required",
  "request_id": "req_def456",
  "timestamp": "2024-01-15T10:30:00Z"
}

Common 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'
    ])
]);

$response = curl_exec($ch);
$result = json_decode($response, 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.

Select languages to detect (hold Ctrl/Cmd to select multiple).

Higher numbers run first (0-1000).

Create Rule Set

The default rule set is used when no specific rule set is specified.