Queue incoming drafts
Add a signal to submissions or support tickets, then let a reviewer choose what deserves a closer look.
Send text from your application, receive the detector response as JSON, and decide how it fits your process. The API is useful for triage and review queues. It is not a substitute for editorial judgment or a decision about a person.
Please send only text you are allowed to share. Requests are processed by the configured detection service, so confidential, regulated, or personal information should stay out of the payload.
Where it helps
Use the result to sort work, add context for a reviewer, or trigger a follow-up. Keep the final decision with a person who can consider the assignment, author, and source material.
Add a signal to submissions or support tickets, then let a reviewer choose what deserves a closer look.
Surface the response in a CMS or review tool alongside source notes, revision history, and the editor's own assessment.
Run representative, permissioned samples before automating a rule. Generative systems and writing styles both change over time.
Quick start
Create an API key in your dashboard, keep it on the server, then send the text in a JSON body. Your plan determines request and text-length limits.
Sign in to the developer dashboard and create a key. Copy it when it appears, then store it in a server-side environment variable.
POST /detectInclude Authorization: Bearer YOUR_API_KEY, set Content-Type: application/json, and provide a text string.
Check the HTTP status first. Treat a successful JSON response as one input to a review flow, and show clear fallbacks when the service is unavailable.
Reference
The endpoint accepts a JSON body. Authentication is supplied with a bearer key generated in the developer dashboard.
https://gpt-zero.com/detect| Field | Type | Notes |
|---|---|---|
| text | string | Required. At least 10 characters. The maximum is set by the active plan. |
curl -X POST https://gpt-zero.com/detect \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The draft explains the decision, cites its sources, and names the reviewer."}'Call the API from your server, serverless function, or another protected backend. Do not place a key in browser JavaScript, a public repository, or a mobile app bundle.
A detector score is not proof of authorship. Set expectations with reviewers, let people inspect the original work, and avoid using a score as the sole basis for a high-impact action.
Operational notes
Your application should show a useful status when a request cannot be completed and should never turn a transient API failure into a final writing judgment.
| Status | What it means | What to do |
|---|---|---|
| 200 | The service returned a JSON analysis response. | Read the payload and present it as a review signal. |
| 401 / 403 | The key is invalid or the account has no active plan. | Check the server-side key and account status. |
| 422 | The request body did not pass validation. | Send a non-empty text string that fits the plan limit. |
| 429 | The monthly request allowance has been reached. | Stop retrying and check the current plan. |
| 500 | The detection service could not complete the request. | Keep the original draft available and allow a retry later. |
Create a key, begin with a small permissioned sample, and make sure the response appears in a review flow that people can understand.