API REFERENCE

GetHumanized REST API

Integrate AI humanization and detection directly into your app, workflow, or pipeline. Simple REST endpoints, JSON in and out.

🚀 Unlimited Plan · 1,000 calls/mo 👥 Teams Plan · 5,000 calls/mo

Authentication

All API requests (except /api/detect) require a Bearer token in the Authorization header. Your token is the same JWT you receive on login — retrieve it from your browser's localStorage under the key hai_token, or via the login endpoint.

Get your token via login

curl
curl -X POST https://gethumanized.app/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email":"you@example.com","password":"yourpassword"}'
Response
{
  "token":      "eyJhbGciOiJIUzI1NiIs...",
  "email":      "you@example.com",
  "plan":       "unlimited",
  "wordsLimit": -1
}

Use the returned token as your Bearer token in all subsequent requests.

⚠️ Plan required: API access is only available on Unlimited and Teams plans. Requests from Free or Pro accounts will return a 403.

Base URL

Base https://gethumanized.app

All endpoints are relative to this base URL. Always use HTTPS.

POST /api/humanize

Rewrites AI-generated text to sound authentically human. Preserves all original meaning while removing detectable AI patterns.

🔒 Requires authentication. Unlimited or Teams plan.

Request

ParameterTypeRequiredDescription
text string Required The AI-generated text to humanize. Max 5,000 words per request.
mode string Optional "standard" (default) — professional and natural. "aggressive" — maximum humanization using GPT-4o.
curl
curl -X POST https://gethumanized.app/api/humanize \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "text": "Furthermore, it is important to note that AI detection algorithms utilize sophisticated pattern recognition methodologies.",
    "mode": "standard"
  }'
JavaScript (fetch)
const res = await fetch('https://gethumanized.app/api/humanize', {
  method:  'POST',
  headers: {
    'Content-Type':  'application/json',
    'Authorization': `Bearer ${YOUR_TOKEN}`,
  },
  body: JSON.stringify({
    text: 'Your AI text here...',
    mode: 'standard',  // or 'aggressive'
  }),
});
const data = await res.json();

Response

JSON
{
  "humanizedText": "It's worth pointing out that AI detectors rely on pattern recognition — and they're getting smarter.",
  "model":         "gpt-4o-mini",
  "wordsUsed":     0,         // total monthly words used
  "wordsLimit":    -1,        // -1 = unlimited
  "dailyUsed":     19,        // words used today
  "dailyCap":      50000      // fair-use daily cap
}

POST /api/detect

Analyzes text and returns a score (0–100) indicating how likely it is AI-generated. This endpoint is free and does not require authentication or a paid plan.

Request

ParameterTypeRequiredDescription
text string Required The text to analyze. Minimum 20 words for reliable results.
curl
curl -X POST https://gethumanized.app/api/detect \
  -H "Content-Type: application/json" \
  -d '{"text": "This text might have been written by an AI model."}'

Response

JSON
{
  "score":   82,
  "label":   "Almost certainly AI",
  "signals": [
    "Uniform sentence length",
    "Robotic transitions",
    "No personal voice"
  ]
}

Error Codes

StatusMeaningCommon Cause
200 OK Request succeeded.
400 Bad Request Missing text, invalid mode, or input exceeds 5,000 words.
401 Unauthorized Missing or invalid Bearer token. Session may have expired.
403 Forbidden Plan does not include API access. Upgrade to Unlimited or Teams.
429 Too Many Requests Monthly word quota reached, or daily fair-use cap (50,000 words/day) hit.
503 Service Unavailable Temporary server issue. Retry after a few seconds.

All errors return JSON with an error field describing the issue:

JSON
{ "error": "Monthly limit reached (40000/40000 words used). Upgrade for more." }

Rate Limits

Limit TypeValueApplies To
Monthly word quota Unlimited (fair-use) Unlimited & Teams plans
Daily fair-use cap 50,000 words/day Unlimited & Teams plans
Per-request limit 5,000 words All plans
API call monthly limit 1,000 (Unlimited) · 5,000 (Teams) Paid plans
IP rate limit 20 humanize calls / 15 min All plans
💡 Tip: Split large documents into chunks of up to 5,000 words and make sequential requests. The daily cap resets at midnight UTC.