The snizzly API
Programmatic access to the AI humanizer and AI detector. JSON over HTTPS, authenticated with a bearer key. Create keys in your account.
Authentication
Every request needs an Authorization header with a key from /account/api-keys. The key is shown once at creation — store it somewhere safe.
Authorization: Bearer snz_your_api_keyBase URL
https://snizzly.comPOST /v1/humanize
Rewrites AI-generated text so it reads as human, and returns a fresh AI-detection score on the result. Bills the key owner’s credits — 1 credit per 2,000 words, charged only on success.
Body
text— required, the text to humanize.preset— optional: academic (default), mun, business, blog, marketing, email, cover_letter, personal_statement.strength— optional 1–5 (default 3).mode— optional: standard (default), fluency, formal, academic, simple, creative, expand, shorten.
curl -X POST https://snizzly.com/v1/humanize \
-H "Authorization: Bearer snz_your_api_key" \
-H "Content-Type: application/json" \
-d '{"text":"In conclusion, the data clearly demonstrates...","preset":"academic","strength":3}'Response
{
"output": "...the humanized text...",
"detection": {
"score": 14,
"classification": { "aiGenerated": 6, "aiRefined": 8, "humanWritten": 86 }
},
"creditsCharged": 1
}POST /v1/detect
Classifies how text was most likely produced. Free — no credit cost.
curl -X POST https://snizzly.com/v1/detect \
-H "Authorization: Bearer snz_your_api_key" \
-H "Content-Type: application/json" \
-d '{"text":"The text you want to check..."}'Response
{
"score": 88,
"classification": { "aiGenerated": 71, "aiRefined": 17, "humanWritten": 12 },
"confidence": "high",
"overallVerdict": "likely-ai"
}Rate limits
Limits are per account: /v1/humanize 20 requests/minute, /v1/detect 60 requests/minute. Over the limit returns 429 with a Retry-After header.
Errors
Errors are JSON with an error field. Common statuses: 401 invalid/missing key, 402 insufficient credits (with need / have), 413 text too long, 429 rate limited, 500 server error.
{ "error": "insufficient credits", "need": 2, "have": 0 }Content API
The Content API exposes snizzly’s curated catalog — glossary terms, journal articles, learning paths, and programmatic lessons — as JSON, so other tools can integrate snizzly as a content primitive. It’s public: no API key, IP-rate-limited at 600 requests/IP/hour. CORS is open to * so browser-side widgets can call it directly. Every catalog only changes on a snizzly deploy — cache responses aggressively, both in your CDN and your client.
Endpoints
GET /v1/content/glossary— every glossary term.GET /v1/content/glossary/<slug>— one term, with related-article slugs.GET /v1/content/articles— every article, with body blocks.GET /v1/content/articles/<slug>— one article.GET /v1/content/paths— every learning path.GET /v1/content/paths/<slug>— one path with its lesson sequence.GET /v1/content/lessons— every programmatic lesson, with body.GET /v1/content/lessons/<slug>— one lesson.GET /v1/content/search?q=...&limit=20— search across content (articles, concepts, paths, lessons; tool URLs excluded).GET /v1/content/cornerstones— cornerstone-essay catalog (empty until Content lands C1/C2/C3).GET /v1/content/cornerstones/<slug>— single cornerstone essay.
Example — fetch a glossary term
curl https://snizzly.com/v1/content/glossary/burstiness{
"slug": "burstiness",
"term": "Burstiness",
"definition": "The variation in sentence length and complexity across a passage...",
"relatedArticles": ["how-ai-detectors-work", "why-ai-writing-gets-flagged"]
}Example — list articles
curl https://snizzly.com/v1/content/articles{
"count": 9,
"items": [
{
"slug": "what-is-ai-detection",
"title": "What is AI detection?",
"dek": "AI detectors are everywhere now...",
"category": "Explainer",
"publishedAt": "2026-05-22",
"readingMinutes": 6,
"pathSlug": "detection-primer",
"body": [
{ "type": "p", "text": "An AI detector is a tool..." },
{ "type": "h2", "text": "The three-way split", "id": "the-three-way-split" }
]
}
]
}Example — fetch a learning path
curl https://snizzly.com/v1/content/paths/detection-primer{
"slug": "detection-primer",
"title": "The Detection Primer",
"description": "Start here. Three short lessons...",
"audience": "Everyone",
"lessons": [
"what-is-ai-detection",
"how-ai-detectors-work",
"why-ai-writing-gets-flagged"
],
"outcome": "Read a detector score the way an editor would..."
}Example — fetch a programmatic lesson
curl https://snizzly.com/v1/content/lessons/<slug>{
"slug": "...",
"title": "Burstiness in a personal statement",
"conceptSlug": "burstiness",
"useCaseSlug": "personal_statement",
"lede": "Why model-drafted personal statements feel flat — and the rhythm fix.",
"body": [
{ "type": "p", "text": "..." },
{ "type": "example", "before": "...", "after": "...", "note": "..." }
],
"related": ["voice", "what-makes-writing-sound-human"]
}Example — search
curl 'https://snizzly.com/v1/content/search?q=burstiness&limit=5'{
"q": "burstiness",
"count": 3,
"items": [
{
"type": "concept",
"slug": "burstiness",
"title": "Burstiness",
"snippet": "The variation in sentence length and complexity across a passage...",
"score": 4
},
{
"type": "article",
"slug": "how-ai-detectors-work",
"title": "How AI detectors work",
"snippet": "...detectors weight burstiness alongside perplexity...",
"score": 2
}
]
}q is required (2–80 chars). limit defaults to 20 and is capped at 50. Tool URLs are filtered out — this endpoint returns content, not product surfaces.
Example — list cornerstones
curl https://snizzly.com/v1/content/cornerstones{ "count": 0, "items": [] }The cornerstone-essays catalog is empty today. The endpoint is live so integrators can code against it; entries appear automatically as Content publishes them.
Rate-limit response
Over the limit returns 429 with a Retry-After header and a retryAfterSec field in the JSON body. A missing slug returns 404 with { "error": "Not found" }.
Need a key? Create one in your account →