Developer API

Put a writing review signal into your own workflow.

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.

detect-request.js

Where it helps

Build a calmer first-pass review.

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.

Queue incoming drafts

Add a signal to submissions or support tickets, then let a reviewer choose what deserves a closer look.

Support editorial review

Surface the response in a CMS or review tool alongside source notes, revision history, and the editor's own assessment.

Test your own policy

Run representative, permissioned samples before automating a rule. Generative systems and writing styles both change over time.

Quick start

Send one JSON request.

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.

1

Create a secret key

Sign in to the developer dashboard and create a key. Copy it when it appears, then store it in a server-side environment variable.

2

Call POST /detect

Include Authorization: Bearer YOUR_API_KEY, set Content-Type: application/json, and provide a text string.

3

Handle the response before showing it

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

Request details that match the endpoint.

The endpoint accepts a JSON body. Authentication is supplied with a bearer key generated in the developer dashboard.

POSThttps://gpt-zero.com/detect

Required headers

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request body

FieldTypeNotes
textstringRequired. At least 10 characters. The maximum is set by the active plan.
Example requestPOST
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."}'

Keep the key private

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.

Build for uncertainty

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

Make failure states part of the integration.

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.

StatusWhat it meansWhat to do
200The service returned a JSON analysis response.Read the payload and present it as a review signal.
401 / 403The key is invalid or the account has no active plan.Check the server-side key and account status.
422The request body did not pass validation.Send a non-empty text string that fits the plan limit.
429The monthly request allowance has been reached.Stop retrying and check the current plan.
500The detection service could not complete the request.Keep the original draft available and allow a retry later.

Developer questions

Does the API prove who wrote a passage?
No. The response is a signal about the submitted text. Use it with source review, revision history, and a process that gives people a fair chance to provide context.
How should we prepare for new models such as GPT-6-era systems?
Do not assume a single threshold will stay appropriate. Test permissioned samples from the tools and writing contexts that matter to your organization, then review the results regularly.
Where do I get an API key?
Create an account, open the developer dashboard, and generate a key there. The full secret is shown once, so save it in your server-side secret manager.
Can I call the API from a browser app?
Do not send the secret key from the browser. Put the request behind your own backend or serverless function so the key stays private.
What information should I send?
Send only the text needed for the review and only when you have permission to share it. Avoid passwords, personal data, confidential records, and regulated information.

Ready to test an integration?

Create a key, begin with a small permissioned sample, and make sure the response appears in a review flow that people can understand.