Plagiarism Checker avatar

Plagiarism Checker

Pricing

$2.80 / 1,000 plagiarism checks

Go to Apify Store
Plagiarism Checker

Plagiarism Checker

Check text against public web sources and your own reference files. Get a score, sentence totals, matched passages, source links, and a clear risk summary.

Pricing

$2.80 / 1,000 plagiarism checks

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

5

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

🔎 Check text for matching sources

Plagiarism Checker helps writers, editors, teachers, and content teams review one text or text-bearing document. It returns a plagiarism score, sentence totals, matched passages, source links, and a plain risk summary for review.

Compare a draft with public web and academic sources, then check any reference files you provide. Long text is handled as one report, but the Actor does not promise to find every match.

📊 See scores and source evidence

Each successful run saves one report to the Apify dataset. You get a percentage score, a low, medium, or high risk summary, sentence counts, matched sources, matched passages, and optional reference-file comparisons.

Each source is listed once, with its matched passages under it. Authors, publisher, dates, and scholarly IDs appear when the source provides them.

▶️ Check a text or document

  1. Choose Plain text or Document file as the Target.
  2. Paste your text or upload one text-bearing file.
  3. Optional: upload reference files for a direct comparison.
  4. Start the Actor and open the default dataset.

The document fields accept TXT, Markdown, HTML, PDF, and DOCX files. PDF files must contain text. Scanned or image-only PDFs need OCR before checking, which this Actor does not provide.

⚙️ Input

Choose Plain text or Document file as the Target. The other target field is ignored. Reference files are optional and work with either choice.

Input fields

FieldTypeWhat it does
targetstringChooses text for pasted text or document for one document file.
textstringHolds the pasted text when target is text.
documentstringHolds one TXT, Markdown, HTML, PDF, or DOCX file when target is document.
referenceDocumentsarray of stringsHolds optional TXT, Markdown, HTML, PDF, or DOCX files for direct comparison. The report gives one similarity percent per file.

Only the field for the chosen Target is used. Reference files are optional.

Example input

{
"target": "text",
"text": "The quick brown fox jumps over the lazy dog. This sentence contains all 26 letters of the English alphabet. It is commonly used for touch-typing practice. It is also used to test typewriters and computer keyboards."
}

🧾 Output

Each successful report uses one dataset shape. Optional source metadata appears when known, and referenceComparisons contains one entry for each supplied reference file.

Output fields

FieldTypeWhat it does
plagiarismPercentnumberShare of checked sentences with a found match, from 0 to 100.
riskobjectHolds the risk level and its plain-language explanation.
risk.levelstringlow, medium, or high risk level.
risk.explanationstringExplains the reported risk level.
sentenceSummaryobjectHolds the total, matched, and unique sentence counts.
sentenceSummary.totalintegerNumber of sentences checked.
sentenceSummary.matchedintegerNumber of sentences with a found match.
sentenceSummary.uniqueintegerNumber of sentences with no found match.
sourcesarray of objectsMatched web and academic sources, with one source entry per source.
sources[].sourceTypestringweb or academic.
sources[].titlestringTitle of the matched page or work.
sources[].urlstringLink to the matched source.
sources[].authorsarray of stringsSource authors when known.
sources[].publisherstringSource publisher when known.
sources[].publishedDatedate stringSource publication date when known, as YYYY-MM-DD.
sources[].identifiersobjectKnown scholarly identifiers when available.
sources[].identifiers.doistringDigital Object Identifier when available.
sources[].identifiers.pmidstringPubMed identifier when available.
sources[].identifiers.arxivIdstringarXiv paper identifier when available.
sources[].identifiers.issnstringJournal or series identifier when available.
sources[].matchesarray of objectsMatched passages for this source.
sources[].matches[].inputPassagestringMatched passage from the checked content.
sources[].matches[].sourcePassagestringMatching passage from the source.
sources[].matches[].similarityPercentnumberStrength of this passage match, from 0 to 100.
referenceComparisonsarray of objectsSimilarity results for the supplied reference documents.
referenceComparisons[].documentNamestringName of the reference document.
referenceComparisons[].similarityPercentnumberShare of checked content similar to that reference, from 0 to 100.

Each source is listed once, with its matched passages under it. Optional source fields appear only when the source provides them.

Example report

{
"plagiarismPercent": 50,
"risk": {
"level": "medium",
"explanation": "Some checked sentences match public sources and should be reviewed."
},
"sentenceSummary": {
"total": 4,
"matched": 2,
"unique": 2
},
"sources": [
{
"sourceType": "web",
"title": "The Quick Brown Fox Jumps Over the Lazy Dog – Meaning, Origin ...",
"url": "https://www.thehistoryofenglish.com/the-quick-brown-fox-jumps-over-the-lazy-dog",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "What you can say in place of ‘The quick brown fox jumps over the lazy dog’.",
"similarityPercent": 72
}
]
},
{
"sourceType": "web",
"title": "The quick brown fox jumps over the lazy dog - Idioms by The ...",
"url": "https://idioms.thefreedictionary.com/the+quick+brown+fox+jumps+over+the+lazy+dog",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "What does the quick brown fox jumps over the lazy dog expression mean?",
"similarityPercent": 81.82
}
]
},
{
"sourceType": "web",
"title": "Pangram - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Pangram",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "The best-known English pangram is \"The quick brown fox jumps over the lazy dog\".",
"similarityPercent": 75
}
]
},
{
"sourceType": "web",
"title": "the quick brown fox jumps over the lazy dog",
"url": "https://idioms.thefreedictionary.com/quick+brown+fox+jumps+over+the+lazy+dog",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "What does quick brown fox jumps over the lazy dog expression mean?",
"similarityPercent": 76.19
}
]
},
{
"sourceType": "academic",
"title": "The quick brown fox jumps over a lazy dog",
"url": "http://www.cqvip.com/QK/82426X/198201/1002778566.html",
"authors": [
"孟武"
],
"publisher": "现代外语",
"publishedDate": "1982-01-01",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "句子是The quick brown fox jumps over a lazy dog.(",
"similarityPercent": 77.78
}
]
},
{
"sourceType": "academic",
"title": "The quick, brown fox jumps over a lazy dog",
"url": "https://demo.ojsplus.com/index.php/demo1/article/view/13",
"authors": [
"administrator administrator"
],
"publishedDate": "2020-06-17",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "The quick, brown fox jumps over a lazy dog.",
"similarityPercent": 88.89
}
]
},
{
"sourceType": "academic",
"title": "Quote Post Format",
"url": "https://turismo.dlfroma.it/quote-post-format/",
"authors": [
"Davide"
],
"publishedDate": "2016-06-06",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "The quick, brown fox jumps over a lazy dog.",
"similarityPercent": 88.89
}
]
},
{
"sourceType": "academic",
"title": "Aside Post Format",
"url": "https://turismo.dlfroma.it/aside-post-format/",
"authors": [
"Davide"
],
"publishedDate": "2016-06-06",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "The quick, brown fox jumps over a lazy dog.",
"similarityPercent": 88.89
}
]
},
{
"sourceType": "academic",
"title": "Aside Post Format",
"url": "https://dlfroma.it/blog/2016/06/06/aside-post-format/",
"authors": [
"julia l"
],
"publishedDate": "2016-06-06",
"matches": [
{
"inputPassage": "The quick brown fox jumps over the lazy dog.",
"sourcePassage": "The quick, brown fox jumps over a lazy dog.",
"similarityPercent": 88.89
}
]
},
{
"sourceType": "web",
"title": "The Quick Brown Fox… | EnglishClub",
"url": "https://www.englishclub.com/efl/jo/curiosities/the-quick-brown-fox/",
"matches": [
{
"inputPassage": "This sentence contains all 26 letters of the English alphabet.",
"sourcePassage": "This sentence contains all 26 letters of the English alphabet and is (was?)",
"similarityPercent": 86.96
}
]
}
],
"referenceComparisons": []
}

No found match means sources is empty and the score may be 0. A score is evidence for review, not a ruling about intent or ownership. Public-source access can vary, so the Actor does not promise exhaustive coverage.

💳 Pricing

This Actor uses pay-per-event pricing.

Charge event

You are charged for each completed plagiarism analysis that is saved as a report. Input checks, failed public-source access, and runs stopped before a report is saved are not charged as completed checks. Apify platform usage may still apply.

🔌 Integrations

Use the Apify API, schedules, webhooks, dataset exports, and Apify integrations to add reports to your workflow.

❓ FAQ

What happens if public sources cannot be reached?

The Actor first retries the source checks. If it still cannot get enough source evidence, the run fails with a clear message and saves no report. You can start the run again. A run without a saved report is not charged as a completed check.

What happens if source access fails after some matches are found?

The Actor keeps valid evidence already obtained and labels the result as partial when a later source failure prevents a full report.

Can I check a scanned PDF?

No. PDF files must contain text. This Actor does not run OCR on images or scanned pages.

Can I compare text with my own files?

Yes. Add TXT, Markdown, HTML, PDF, or DOCX files to referenceDocuments. The report gives one similarity percent for each file.

Does a match prove plagiarism?

No. The report shows text overlap with found sources. Review the source, quotes, and citations before you decide what the match means.

Does it check every page on the web?

No. It checks publicly discoverable web and academic sources. It cannot promise every web page, private source, or paywalled database.

Is this an AI detector?

No. It does not guess whether AI or a person wrote the text.

Is this plagiarism checker free?

No. A completed report has a pay-per-event charge, and Apify platform usage may also apply. Runs that do not save a completed report are not charged as completed checks.

Can it replace Turnitin?

No. It is a separate plagiarism checker that checks publicly discoverable web and academic sources. It cannot promise the same coverage as Turnitin or another service.

How is this different from other plagiarism checker tools?

It saves structured match evidence in an Apify dataset. You can export the report or use it with the Apify API, schedules, and webhooks.

📝 Changelog

v0.0

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré