API Documentation

REST API · Base URL: https://natralztruthz-production.up.railway.app

The NatralzTruthz API lets you integrate AI-powered verification into your own applications. API access is available on the Enterprise plan.

🔒 API access requires an Enterprise plan. Upgrade here →

Authentication

All API requests require a Bearer token in the Authorization header. Get your token by logging in via POST /auth/login.

Authorization: Bearer YOUR_JWT_TOKEN

Check Endpoints

Image analysis

POST/api/check/image

{
  "base64": "iVBORw0KGgoAAAANS...",  // base64-encoded image
  "mediaType": "image/jpeg",          // image/jpeg | image/png | image/webp
  "deepScan": false                   // optional, Pro+ only
}

Phone number

POST/api/check/phone

{
  "phone": "+1 809 555 0123"
}

Link / URL

POST/api/check/link

{
  "url": "https://suspicious-site.example.com"
}

News / text

POST/api/check/news

{
  "content": "BREAKING: Aliens land in Times Square..."
}

Email Pro+

POST/api/check/email

{
  "content": "Full email content including headers and body..."
}

Video Enterprise

POST/api/check/video

{
  "filename": "video.mp4",
  "frames": [
    {
      "base64": "iVBORw0KGgoAAAANS...",
      "mediaType": "image/jpeg",
      "timeSeconds": 2.5
    }
    // up to 20 frames
  ]
}

Response Format

All check endpoints return the same response structure:

{
  "success": true,
  "result": {
    "id": "uuid",
    "type": "image",
    "verdict": "Likely AI-Generated",
    "title": "Strong GAN artifacts found",
    "detail": "The image shows clear signs of...",
    "confidence": 91,
    "flags": ["GAN artifacts", "Asymmetric anatomy"],
    "ts": "2026-05-18T12:00:00.000Z"
  }
}

Verdict values by check type

image:  "Likely Authentic" | "Likely AI-Generated" | "Uncertain"
phone:  "Likely Safe" | "Suspicious" | "Likely Scam"
link:   "Likely Safe" | "Suspicious" | "Likely Malicious"
news:   "Likely Accurate" | "Unverified" | "Likely Misleading"
email:  "Likely Legitimate" | "Suspicious" | "Likely Phishing"

User Endpoints

Get current user

GET/api/user/me

{
  "id": "uuid",
  "email": "user@example.com",
  "plan": "enterprise",
  "checksUsed": 42,
  "checksLimit": 99999
}

Get check history

GET/api/user/history

Export history as CSV Pro+

GET/api/user/export


Rate limits

The API is rate limited to 100 requests per 15 minutes globally, and 20 check requests per minute. If you exceed these limits you'll receive a 429 response. Contact us if you need higher limits.

Need help?

Email api@natralztruthz.com for API support, custom integrations, or to request higher rate limits.