Discover/DupliChecker API
live

DupliChecker APIduplichecker.com

Check text for plagiarism via the DupliChecker API. Returns per-sentence uniqueness status, plagiarism percentage, and matching source URLs.

This API takes change requests — .
Endpoints
1
Updated
3h ago

What is the DupliChecker API?

The DupliChecker API exposes 1 endpoint — check_plagiarism — that analyzes up to 10,000 characters of text and returns 6 structured response fields including per-sentence uniqueness classification, aggregate plagiarism percentage, and matched source URLs. Each sentence in the submitted text is evaluated independently, giving you granular insight into which specific passages have web matches and which are original.

This call costs3 credits / call— charged only on success
Try it
The text to check for plagiarism. Maximum 10,000 characters. The text is split into sentences at sentence-ending punctuation (.!?) for per-sentence analysis.
Comma-separated list of URLs to exclude from plagiarism matching. Useful for excluding your own published content.
api.parse.bot/scraper/6a81919d-43e7-4f65-b6fc-1ae5aeaf87d0/<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 POST 'https://api.parse.bot/scraper/6a81919d-43e7-4f65-b6fc-1ae5aeaf87d0/check_plagiarism' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "text": "The quick brown fox jumps over the lazy dog. This is a unique sentence that nobody has written before in the history of text analysis."
}'
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 duplichecker-com-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: DupliChecker SDK — check text for plagiarism and inspect results."""
from parse_apis.duplichecker_com_api import DupliChecker, TextFormatInvalid

client = DupliChecker()

# Check a passage for plagiarism; the API analyzes each sentence independently.
try:
    report = client.reports.check(
        text="The quick brown fox jumps over the lazy dog. This is original content written by me."
    )
except TextFormatInvalid as e:
    print("Invalid input:", e.message)
    raise

# Summary statistics
print(f"Plagiarism: {report.plagiarism_percentage}% | Unique: {report.unique_percentage}%")
print(f"Sentences analyzed: {report.total_sentences} "
      f"(plagiarized: {report.plagiarized_sentences}, unique: {report.unique_sentences})")

# Walk per-sentence results and their matched sources
for sentence in report.sentences:
    status = "PLAGIARIZED" if sentence.is_plagiarized else "UNIQUE"
    print(f"  [{status}] {sentence.sentence}")
    for source in sentence.sources:
        print(f"    - {source.title} ({source.url})")

print("exercised: reports.check / Report / Sentence / Source / TextFormatInvalid")
All endpoints · 1 totalmissing one? ·

Checks the provided text for plagiarism by splitting it into sentences and searching for matches across the web. Each sentence is analyzed independently and classified as unique or plagiarized, with matching source URLs provided for plagiarized content. The check requires solving a reCAPTCHA and establishing a session, so latency is higher than a simple API call (typically 10-30 seconds). Text is limited to 10,000 characters.

Input
ParamTypeDescription
textrequiredstringThe text to check for plagiarism. Maximum 10,000 characters. The text is split into sentences at sentence-ending punctuation (.!?) for per-sentence analysis.
exclude_urlsstringComma-separated list of URLs to exclude from plagiarism matching. Useful for excluding your own published content.
Response
{
  "type": "object",
  "fields": {
    "sentences": "Array of per-sentence results with uniqueness status and matching sources",
    "total_sentences": "Total number of sentences analyzed",
    "unique_sentences": "Count of unique sentences",
    "unique_percentage": "Percentage of sentences found to be unique (0-100)",
    "plagiarism_percentage": "Percentage of sentences found to be plagiarized (0-100)",
    "plagiarized_sentences": "Count of plagiarized sentences"
  },
  "sample": {
    "data": {
      "sentences": [
        {
          "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..."
            }
          ],
          "sentence": "The quick brown fox jumps over the lazy dog.",
          "is_unique": false,
          "is_plagiarized": true
        },
        {
          "sources": [],
          "sentence": "This is a sample text to test plagiarism detection capabilities.",
          "is_unique": true,
          "is_plagiarized": false
        }
      ],
      "total_sentences": 2,
      "unique_sentences": 1,
      "unique_percentage": 50,
      "plagiarism_percentage": 50,
      "plagiarized_sentences": 1
    },
    "status": "success"
  }
}

About the DupliChecker API

What the API Returns

The check_plagiarism endpoint accepts a text string of up to 10,000 characters and returns a sentences array containing per-sentence results. Each entry in that array includes the sentence content, a uniqueness status (unique or plagiarized), and any matching source URLs found on the web for plagiarized sentences. Summary fields include total_sentences, unique_sentences, plagiarized_sentences, unique_percentage, and plagiarism_percentage — all calculated from the sentence-level analysis.

Input Parameters

The required text parameter is split at sentence boundaries before analysis, so well-punctuated input produces the most accurate sentence-level breakdown. The optional exclude_urls parameter accepts a comma-separated list of URLs; any matches against those URLs are excluded from the plagiarism count. This is useful when checking content you've already published and want to treat as original.

Interpreting Results

plagiarism_percentage and unique_percentage always sum to 100 and are derived from sentence counts, not character counts. A single long plagiarized sentence has the same weight as a short one. The sentences array preserves original order, so results can be mapped back to the source document positionally. Matching URLs are only returned for sentences classified as plagiarized — unique sentences carry no source list.

Reliability & maintenance

The DupliChecker API is a managed, monitored endpoint for duplichecker.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when duplichecker.com 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 duplichecker.com 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.

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
  • Screen student essay submissions by flagging sentences with external web matches before grading.
  • Validate SEO content drafts by checking unique_percentage before publishing to avoid duplicate-content penalties.
  • Audit AI-generated text for passages that closely mirror existing web sources using per-sentence source URLs.
  • Allow content platforms to surface plagiarism_percentage alongside user-submitted articles during moderation.
  • Use exclude_urls to re-check republished content without penalizing your own previously published pages.
  • Build a document comparison workflow that maps plagiarized_sentences back to specific source domains.
  • Integrate into a CMS pipeline to automatically block or flag submissions where plagiarism_percentage exceeds a 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 DupliChecker have an official developer API?+
DupliChecker does not publish a documented public developer API. The Parse API provides structured programmatic access to its plagiarism detection functionality.
What exactly does the sentences array contain for plagiarized sentences?+
Each entry in the sentences array includes the sentence text, its classification (unique or plagiarized), and a list of matching source URLs for any sentence identified as plagiarized. Unique sentences are returned with the same structure but without source URLs.
Is there a way to check similarity between two documents directly rather than against the web?+
Not currently. The check_plagiarism endpoint matches submitted text against web sources and returns matches as URLs; it does not accept a second document as a comparison target. You can fork this API on Parse and revise it to add a document-to-document comparison endpoint.
What is the character limit and does it affect result accuracy?+
The text parameter accepts a maximum of 10,000 characters. Text beyond that limit is not analyzed. For longer documents, you would need to split input into chunks and merge the sentences results client-side, adjusting aggregate percentages manually.
Does the API return sentence-level match percentages or only a binary unique/plagiarized status?+
Each sentence receives a binary classification — unique or plagiarized — not a numeric similarity score. Aggregate scoring (unique_percentage, plagiarism_percentage) is available at the document level. The API does not currently expose per-sentence confidence scores or fuzzy match percentages. You can fork it on Parse and revise to surface additional match metadata if needed.
Page content last updated . Spec covers 1 endpoint from duplichecker.com.
Related APIs in Developer ToolsSee all →
plagiarismdetector.net API
plagiarismdetector.net API
parallel.ai API
Access data from parallel.ai.
clastify.com API
Search through real Common App essay examples to find samples by grade, applicant profile, and college outcomes, then view detailed essays along with the writer's test scores and admission results. Use this to understand what successful essays look like and how they compare across different colleges and student profiles.
mdpi.com API
Access MDPI's open-access academic content programmatically. Search across thousands of peer-reviewed articles, retrieve full structured text, extract key findings, and browse journal metadata including impact factors and CiteScores.
glosbe.com API
Translate words and phrases between languages while viewing parts of speech, definitions, and real-world usage examples from Glosbe's community dictionary. Get accurate multilingual translations instantly without leaving your application.
datamuse.com API
Find words by meaning, sound, or rhyme, get autocomplete suggestions, and access word metadata to power your writing apps and tools. Perfect for building spell checkers, word games, and intelligent search features.
afp.com API
Access real-time AFP news articles and fact-check stories across multiple languages, with the ability to search, filter by region or topic, and discover trending fact-checks. Browse the latest news ticker, explore fact-checked content by category, and stay informed with curated news and verification articles from AFP's global network.
decomp.me API
Track decompilation projects and monitor progress on decomp.me by viewing recent scratches, diving into project details, exploring user contributions, and checking overall site statistics. Perfect for staying updated on code decompilation work and community activity across the platform.