Plagiarism checker API · AI detection API

Plagiarism & AI Detection API for your own apps

Send text from your own app and get plagiarism scores with matching sources and per-sentence AI verdicts back as JSON — the same checks as our web app.

  • REST + JSON
  • OpenAPI 3.1 spec
  • Included in every paid plan
How it works

Three calls from text to results

  1. Create an API key

    In the web app, open Settings › API keys. A key is shown once and stored only as a hash.

  2. Submit text

    POST the text and the checks you want to /scans. You get a scan ID back immediately.

  3. Poll for results

    GET /scans/{id} until it is completed — typically 30–90 seconds. Results arrive per tool.

Endpoints

A small API that does one job well

Every endpoint lives under https://app.plagiarismcheckerplus.com/api/public/v1 and takes your API key as a bearer token: Authorization: Bearer pcp_…

POST/scans
Submit text for checking. Send text and tools (plagiarism, ai_detect or both) and an optional name. Returns 202 straight away with the scan id, word count and words charged.
GET/scans/{id}
Get a scan’s status (pending, processing, completed or failed), progress per tool, and results as each tool finishes. Add ?include_text=true to get the submitted text back.
GET/scans
List your scans, newest first, with page and limit (up to 100 per page).
GET/account
Your plan, words used and remaining this month, purchased word balance, the longest text your plan accepts, and when your allowance resets.
Quick start

Check text for plagiarism and AI with curl

Submit the text with the checks you want, then poll the scan until it completes. Example responses are shortened.

1. Submit text
curl -X POST https://app.plagiarismcheckerplus.com/api/public/v1/scans \
  -H "Authorization: Bearer $PCP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "The text you want to check (at least 30 words for plagiarism, 50 for AI detection).",
    "tools": ["plagiarism", "ai_detect"],
    "name": "essay-draft-1"
  }'
HTTP/1.1 202 Accepted

{
  "id": "3f6c1e2a-8b4d-4c9e-9a17-2d5b8f0c7e41",
  "status": "processing",
  "wordCount": 800,
  "wordsCharged": 1600,
  "tools": ["plagiarism", "ai_detect"]
}
2. Poll for results
curl https://app.plagiarismcheckerplus.com/api/public/v1/scans/3f6c1e2a-8b4d-4c9e-9a17-2d5b8f0c7e41 \
  -H "Authorization: Bearer $PCP_API_KEY"
{
  "id": "3f6c1e2a-8b4d-4c9e-9a17-2d5b8f0c7e41",
  "status": "completed",
  "tools": ["plagiarism", "ai_detect"],
  "results": {
    "plagiarism": {
      "score": 12.5,
      "uniqueSources": 2,
      "sources": [
        {
          "url": "https://example.org/article",
          "domain": "example.org",
          "matchPercentage": 8.1,
          "matchedText": "The passage from your text that matched.",
          "excerpt": "Surrounding text from the source page."
        }
      ]
    },
    "aiDetection": {
      "score": 64,
      "summary": "…",
      "sentences": [
        { "text": "A sentence from your text.", "probability": 0.93, "offset": 0, "length": 26 }
      ]
    }
  }
}

Full schemas, error codes, a Node.js example and an interactive console are in the API docs. The raw OpenAPI spec is at openapi.json.

What you get back

Results you can build on

Plagiarism results

A plagiarism score, the number of unique sources, and for each source its URL, domain, match percentage, the passage that matched and surrounding source text.

AI detection results

An AI score, a summary, and a verdict per sentence: a 0–1 probability plus its character offset and length, so you can highlight it in your own UI.

Usage you can check

GET /account returns your plan, words used and remaining, purchased balance and the longest text your plan accepts.
No detector is perfect
AI detection gives a likelihood, not proof. It can flag human writing — especially formal or formulaic text — and miss AI text that has been heavily edited. If you build on the API, show results as a starting point for review, not a verdict.
Plans, limits and security

What to know before you build

Paid plans only

Any account can create a key, but API calls need a paid plan: a free-plan key returns 403 plan_required. Your email must be verified. See plans.

Billed in words

A scan uses its word count once per tool: 800 words checked for plagiarism and AI uses 1,600 words, refunded if the scan can’t be queued.

60 requests per minute per key

Over the limit you get 429 with Retry-After. Give each integration its own key — up to 10 active keys.

30 / 50 words minimum

Plagiarism needs 30 words, AI detection 50. Shorter text returns 400 text_too_short and costs nothing. Longer than your plan allows returns 400 doc_too_long.

Keys stored only as a hash

A key is shown once. Keep it on your server, never in browser or mobile code. A revoked key stops working immediately.

Text used only for your results

Saved to your scan history, never sold and never used to train AI models. Read our privacy policy.
FAQ

API questions

Yes. The Plagiarism Checker Plus API is a REST API that checks text for plagiarism and AI-generated content. Send text to POST /scans and read the results from GET /scans/{id}: a plagiarism score, the number of unique sources, and each matching source with its URL, match percentage and the passage from your text that matched.

Add plagiarism and AI detection to your app

Create a key, read the docs and make your first call in minutes. Not a developer? Try the Chrome extension or the Google Docs add-on.

Use of the API is subject to our Terms of Service and Privacy Policy. Questions? Contact us.