Discover/Plagiarism Detector API
live

Plagiarism Detector APIplagiarismdetector.net

Check text for plagiarism and detect AI-generated content via the plagiarismdetector.net API. Get per-sentence analysis, source URLs, and AI/human percentages.

This API takes change requests — .
Endpoint health
verified 2h ago
detect_ai_content
check_plagiarism
2/2 passing latest checkself-healing
Endpoints
2
Updated
3h ago

What is the Plagiarism Detector API?

This API exposes 2 endpoints that interface with plagiarismdetector.net: check_plagiarism for comparing text against web sources and detect_ai_content for classifying content as AI- or human-written. Responses include 4 top-level fields for plagiarism results — unique_percentage, plagiarized_percentage, total_sentences, and a per-sentence breakdown with matching source URLs — and 3 fields for AI detection results including sentence-level classification flags.

This call costs5 credits / call— charged only on success
Try it
The text content to check for plagiarism. Must not be empty. Limited to 1000 words on the free tier.
A URL to exclude from plagiarism matching results. Useful when checking content that is already published at a known URL.
api.parse.bot/scraper/916db57b-a9c2-42af-867a-9cbcdb4312bd/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/916db57b-a9c2-42af-867a-9cbcdb4312bd/check_plagiarism?text=The+quick+brown+fox+jumps+over+the+lazy+dog.+This+is+a+unique+sentence+written+for+testing+purposes+only.' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace plagiarismdetector-net-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PlagiarismDetector SDK — check text for plagiarism and AI content."""
from parse_apis.plagiarismdetector_net_api import PlagiarismDetector, InputFormatInvalid

client = PlagiarismDetector()

# Check a passage for plagiarism
sample_text = (
    "The quick brown fox jumps over the lazy dog. "
    "This is a unique sentence written for testing purposes only."
)

try:
    report = client.plagiarism_reports.check(text=sample_text)
except InputFormatInvalid as e:
    print("Invalid input:", e.message)
    raise

print(f"Unique: {report.unique_percentage}% | Plagiarized: {report.plagiarized_percentage}%")
print(f"Total sentences analyzed: {report.total_sentences}")

for sentence in report.sentences:
    label = "UNIQUE" if sentence.is_unique else "PLAGIARIZED"
    print(f"  [{label}] {sentence.text}")
    for source in sentence.sources:
        print(f"    - {source.title}: {source.url}")

# Detect AI-generated content in a different passage
ai_text = (
    "Artificial intelligence has transformed the landscape of modern technology. "
    "Machine learning algorithms can now process vast amounts of data."
)

ai_report = client.ai_reports.check(text=ai_text)
print(f"\nAI: {ai_report.ai_percentage}% | Human: {ai_report.human_percentage}%")

for sentence in ai_report.sentences:
    tag = "AI" if sentence.is_ai_generated else "HUMAN"
    print(f"  [{tag}] {sentence.text}")

print("\nexercised: plagiarism_reports.check / ai_reports.check")
All endpoints · 2 totalmissing one? ·

Checks text for plagiarism by splitting it into sentences and comparing each against web sources. Returns overall unique/plagiarized percentages and per-sentence analysis with matching source URLs. Each call solves a reCAPTCHA and makes multiple sequential requests (form submission, sentence splitting, plagiarism check), so latency is typically 10-20 seconds. Limited to 1000 words per check on the free tier.

Input
ParamTypeDescription
textrequiredstringThe text content to check for plagiarism. Must not be empty. Limited to 1000 words on the free tier.
exclude_urlstringA URL to exclude from plagiarism matching results. Useful when checking content that is already published at a known URL.
Response
{
  "type": "object",
  "fields": {
    "sentences": "Array of per-sentence results with text, uniqueness flag, and matching sources",
    "total_sentences": "Number of sentences analyzed",
    "unique_percentage": "Percentage of text that is unique (0-100)",
    "plagiarized_percentage": "Percentage of text that is plagiarized (0-100)"
  },
  "sample": {
    "data": {
      "sentences": [
        {
          "text": "The quick brown fox jumps over the lazy dog.",
          "sources": [],
          "is_unique": true
        },
        {
          "text": "This is a sample text to test the plagiarism detection capabilities of this tool.",
          "sources": [
            {
              "url": "https://en.wikipedia.org/wiki/The_quick_brown_fox_jumps_over_the_lazy_dog",
              "title": "The quick brown fox jumps over the lazy dog",
              "description": "\"The quick brown fox jumps over the lazy dog\" is an English-language pangram..."
            }
          ],
          "is_unique": false
        }
      ],
      "total_sentences": 2,
      "unique_percentage": 50,
      "plagiarized_percentage": 50
    },
    "status": "success"
  }
}

About the Plagiarism Detector API

Plagiarism Checking

The check_plagiarism endpoint accepts a text string (up to 1000 words) and splits it into individual sentences, comparing each against live web sources. The response includes unique_percentage and plagiarized_percentage as 0–100 numeric values, total_sentences indicating how many sentences were analyzed, and a sentences array where each element carries the sentence text, a uniqueness flag, and any matching source URLs. An optional exclude_url parameter lets you omit a specific URL from results — useful when the content you're checking is already published somewhere and you don't want that source counted as a match.

AI Content Detection

The detect_ai_content endpoint analyzes text up to 2000 words and returns ai_percentage and human_percentage as 0–100 values representing how much of the content is classified as AI-written versus human-written. The sentences array provides sentence-level granularity, with each entry including the sentence text and an AI detection flag. Expect response latency in the range of 10–20 seconds per call due to the multi-step processing involved.

Inputs and Limitations

Both endpoints require a non-empty text string. The check_plagiarism endpoint is capped at 1000 words and the detect_ai_content endpoint at 2000 words on the free tier. Neither endpoint accepts batch inputs — each call processes a single text block. There is no pagination; results for all analyzed sentences are returned in a single response object.

Reliability & maintenanceVerified

The Plagiarism Detector API is a managed, monitored endpoint for plagiarismdetector.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when plagiarismdetector.net changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official plagiarismdetector.net API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Flag student submissions by comparing essay text against web sources using check_plagiarism and reviewing the matching source URLs returned per sentence.
  • Audit blog drafts before publication by running text through check_plagiarism with an exclude_url set to the draft's staging URL.
  • Screen freelance writing deliverables for plagiarized_percentage above an acceptable threshold.
  • Classify AI-generated content in moderation pipelines using detect_ai_content's ai_percentage field.
  • Build an editorial review tool that highlights individual sentences flagged with the AI detection flag from the sentences array.
  • Verify that content rewrites are sufficiently unique by checking unique_percentage against a minimum threshold.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does plagiarismdetector.net have an official developer API?+
No. plagiarismdetector.net does not publish an official developer API or documented programmatic access. This Parse API provides structured access to the site's plagiarism and AI detection functionality.
What does the sentences array in check_plagiarism actually contain?+
Each element in the sentences array includes the sentence text, a flag indicating whether the sentence is unique, and any matching source URLs found for that sentence. This lets you identify exactly which sentences triggered a plagiarism match and where those matches were found.
Does detect_ai_content return a confidence score or just a binary classification?+
At the top level it returns ai_percentage and human_percentage as numeric values from 0–100, so the overall split is quantified. At the sentence level, each entry includes an AI detection flag, which is a classification rather than a per-sentence confidence score. The API currently covers these two fields. You can fork it on Parse and revise to add additional scoring logic if your use case requires more granular per-sentence probability values.
Can I check documents longer than 1000 words for plagiarism?+
The check_plagiarism endpoint is limited to 1000 words per call on the free tier, and detect_ai_content is limited to 2000 words. For longer documents, splitting the input into chunks and making multiple calls is the practical workaround. The API does not currently handle chunking automatically. You can fork it on Parse and revise to add automatic text segmentation for longer inputs.
Does the API return plagiarism results for specific paragraphs or sections, not just sentences?+
Not currently. Both endpoints analyze text at the sentence level and return per-sentence results in the sentences array. Paragraph- or section-level grouping is not part of the current response shape. You can fork this API on Parse and revise it to add paragraph-level aggregation on top of the sentence-level data.
Page content last updated . Spec covers 2 endpoints from plagiarismdetector.net.
Related APIs in Developer ToolsSee all →