Skip to main content
1

Set your API key

All requests require your API key in the x-api-key header.
2

Discover available models

Retrieve the model selectors enabled for your API key.
The response is entitlement- and availability-aware:
3

Submit an AI detection task

Pangram AI detection uses an async task API. Submit text to create a task.
Example Response
4

Poll for the completed result

Poll the task endpoint until stage is STAGE_SUCCESS or STAGE_FAILED.
Example Success Response
Key response fields:
  • stage — terminal task stage for completed results
  • fraction_ai / fraction_ai_assisted / fraction_human — breakdown of text by authorship
  • windows — segment-level classifications with confidence scores
  • headline — summary classification, such as "AI Detected" or "Human Written"
  • is_humanized / humanizer_score — Pangram 4 humanizer-head output on every window
5

Request a dashboard link

Pass public_dashboard_link: true when submitting the task to get a shareable link in the completed result.
6

Submit a Bulk API job

Use POST /bulk for asynchronous AI detection across many inputs.
Example Response
7

Poll and fetch bulk results

Poll the bulk job until status is succeeded, failed, or partial.
Then page through results.
8

Upload a file

Send documents as multipart form data to create file-based AI detection results.
9

Check for plagiarism

Check text against a database of online content. Note the different base URL.
Example Response
The text and bulk APIs temporarily accept an omitted model for backward compatibility and resolve it to "default". New integrations should always send a selector returned by GET /models. A bulk selector applies to every item in the job.

Error Handling

If you are running into errors, please reach out at support@pangram.com.