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

4

Total users

0

Monthly active users

12 days ago

Last modified

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.isbnstringBook 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": 9.8,
"risk": {
"level": "low",
"explanation": "Few or no checked sentences closely match found public sources."
},
"sentenceSummary": {
"total": 51,
"matched": 5,
"unique": 46
},
"sources": [
{
"sourceType": "web",
"title": "Lorem Ipsum Generator, History, Meaning, and Uses | WebFX",
"url": "https://www.webfx.com/tools/lorem-ipsum-generator/",
"matches": [
{
"inputPassage": "Nulla quis sem at nibh elementum imperdiet.",
"sourcePassage": "Nulla quis sem at nibh elementum imperdiet.",
"similarityPercent": 100
}
]
},
{
"sourceType": "academic",
"title": "How to Write an Excellent Excel@FIT Paper",
"url": "http://excel.fit.vutbr.cz/download/2016-ExcelFIT-HowToWrite.pdf",
"authors": [
"Adam Herout"
],
"publishedDate": "2015-01-01",
"matches": [
{
"inputPassage": "Methodology Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 94.12
}
]
},
{
"sourceType": "academic",
"title": "Methodology",
"url": "https://osf.io/zvws6",
"authors": [
"Celina"
],
"publisher": "OSF Preprints (OSF Preprints)",
"publishedDate": "2020-09-12",
"matches": [
{
"inputPassage": "Methodology Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 94.12
}
]
},
{
"sourceType": "academic",
"title": "Essays In Exegetical Christology",
"url": "https://doi.org/10.38159/npub.eb20604",
"authors": [
"Frederick Mawusi Amevenku",
"Isaac Boaheng"
],
"publisher": "Noyam Publishers eBooks",
"publishedDate": "2020-06-11",
"identifiers": {
"doi": "10.38159/npub.eb20604"
},
"matches": [
{
"inputPassage": "of 5 -- Conclusion Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 84.21
},
{
"inputPassage": "References Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 94.12
}
]
},
{
"sourceType": "academic",
"title": "A Background to New Testament Theology for College Students and Pastors",
"url": "https://doi.org/10.38159/npub.eb20503",
"authors": [
"Jonathan Edward Tetteh Kuwornu-Adjaottor"
],
"publisher": "Noyam Publishers eBooks",
"publishedDate": "2020-05-11",
"identifiers": {
"doi": "10.38159/npub.eb20503"
},
"matches": [
{
"inputPassage": "of 5 -- Conclusion Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 84.21
},
{
"inputPassage": "References Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 94.12
}
]
},
{
"sourceType": "academic",
"title": "Testicular Carcinoma in a Patient with Previously Demonstrated Testicular Microlithiasis",
"url": "https://doi.org/10.1016/s0022-5347(01)66482-6",
"authors": [
"Thomas C. Winter",
"David E. Zunkel",
"Laurence A. Mack"
],
"publisher": "The Journal of Urology",
"publishedDate": "1996-02-01",
"identifiers": {
"doi": "10.1016/s0022-5347(01)66482-6",
"issn": "0022-5347"
},
"matches": [
{
"inputPassage": "References Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "Volume 155Issue 2February 1996Page: 648 Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 72.73
}
]
},
{
"sourceType": "academic",
"title": "Egestas Lorem Condimentum",
"url": "https://doi.org/10.5281/zenodo.13488",
"authors": [
"sprotocols"
],
"publisher": "Zenodo (CERN European Organization for Nuclear Research)",
"publishedDate": "2014-12-30",
"identifiers": {
"doi": "10.5281/zenodo.13488"
},
"matches": [
{
"inputPassage": "References Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"sourcePassage": "### Materials Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"similarityPercent": 88.89
}
]
}
],
"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 returns a clear no-report outcome when it cannot get enough source evidence. 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é