Media Buzz
  • "The highest rated system within the test 2010 is PlagAware"
    Test HTW Berlin, 2010
  • "PlagAware was one of the best systems in the area of usability"
    Test HTW Berlin, 2013
  • "PlagAware identified more web sources than most of other systems
    c't Test Plagiarism Search Services, 2011
Getting Support
Frequently asked questions regarding plagiarism checks Contact PlagAware by contact form Contact PlagAware by phone
PlagAware News
  • 10.07.2017 - Server location in Germany - why is this of imprtance for your plagiarism checks? More...
  • 16.03.2017 - Further improved recognition performance with the PlagAware FullScan technology. More...
  • 20.01.2017 - New functions for free plagiarism checks of text versions. More...
  • 01.11.2016 - Make own forms for the submission of assignment per "Drag & Drop" available to your students and pupils!
  • 15.10.2016 - The expanded PlagAware API allows the transfer of text documents from your application
  • Further news...

Start your plagiarism check directly from your application

The PlagAware application programming interface allows you to order the plagiarism checks directly from your own website or your own application - without having to leave your website or application and retrieve the PlagAware website. This way the professional plagiarism check of PlagAware can be seamlessly integrated into your individual work flow.

The application has a wide variety:

  • Checking articles of copyright violations before publishing
  • Automatic checking of received texts for uniqueness
  • Integration of plagiarism checks in educational learning platforms like Moodle
  • Execution of plagiarism searches in collaboration platforms like SharePoint
  • Avoiding duplicate content in content management systems like Joomla, WordPress or Blogger
  • For many systems like Moodle and Joomla integrations for plagiarism checks already exist or are in the development. We gladly assist you with integrating the PlagAware plagiarism search also into your system.

Set-up of the Plagaware application programming interface

The transfer is carried out by running this transfer URL (https://www.plagaware.com/de/service/api) and the transfer below selected parameter via HTTP-POST. At that time provide a return URL, which will run after the completion of the plagiarism check of PlagAware. You can add your own parameter into this URL to mark possible transfer texts with their own ID or other parameters. You can find an implementation example on how to run the PlagAware interface on PHP further below.

Transfer parameter

The transferable parameters correspond with the manual transfer. In case you only want to check transfer data but won't trigger plagiarism check, please activate the "Dry Run" option. In this case, your result URL will run with the random result value.

UserCode String Yes This code identifies the PlagAware user that the plagiarism check should be conducted. If you do not have a user code, you can have one generate further below following the registration with PlagAware.
TestText String Alternative Transfers of the checked texts. The text must have a minimum length of 250 characters, otherwise the check will be denied. This parameter must not be transferred if the text folder was transferred into the protected folder format.
ResultUrl String No As an option, enter a URL of your web presence that should be run after the conducted plagiarism check. You can turn over the URL with your own already coded URL parameters to give it its own ID for example. After conducted check, this URL will attached the checked results in percent.
ReportName String No Optional name for the plagiarism check. In case that this parameter is not transferred, the name of the check will be generated from a test text and accordingly from a folder name of the text document.
ReportComment String No Optional comment for the plagiarism check. This comment will be attached to a report through the check creation.
ProjectId Integer No Optional ID of the project which should be conducted for the plagiarism check. If this field is not transferred, the check without a reference to the project will be created.
DryRun Boolean 0/1 No If the DryRun option is set, no plagiarism check will be ordered. Instead all parameters will be tested and the ResultUrl will run with the random result value between 0% and 100%.
Lang String No Language selection of plagiarism scan PDF report. As of today, valid options are en and de for Englisch and German. Further languages are available upon request.

Return value

If the text was successfully transferred to PlagAware, this will be returned with Success: Text submitted. Otherwise the applicable error message will appear.

After completion of the plagiarism check, your result URL will run with the attached parametersresult and status. In doing so result stand for the percentage rate of copied words of the checked text. The parameter result takes the value ok and accordingly error. You can analyse your generate reports in detail in your user panel.

Ihr persönlicher UserCode

Um Ihren UserCode zu erzeugen oder anzuzeigen, melden Sie sich bitte bei PlagAware an.


Bitte benutzen Sie das nachfolgende Formular, um erste Tests mit der PlagAware Schnittstelle durchzuführen. Die hierdurch angeforderten Prüfberichte können Sie wie gewohnt in Ihrem Benutzerbereich einsehen und bearbeiten.

User Code (mandatory)
Result Url (mandatory)
Text to Test (mandatory, > 250 chars)
Report Name (optional)
Report Comment (optional)
Project Id (optional)
Hold (optional) Datei hochladen und testen, aber Plagiatsprüfung nicht starten
Dry Run (Testmodus) Die Parameter werden geprüft und es wird Ihre Result-Url mit einem zufälligen Testergebnis aufgerufen.

Code example for running the PlagAware interface (PHP)

function SubmitPlagAwareTestText( $userCode, $resultUrl, $testText, $testFile, $reportName, $reportComment, $lang, $author, $projectId, $externalId, $libraryOnly, $copyToLibrary, $hold, $dryRun ) { $url = 'https://www.plagaware.com/service/api'; $boundary = "---------------------" . substr(md5(rand(0, 32000)), 0, 10); $header = "Content-Type: multipart/form-data; boundary=" . $boundary; $content = ""; // Collect FORM data $postdata = array( 'UserCode' => $userCode, 'ResultUrl' => $resultUrl, 'TestText' => $testText, 'ReportName' => $reportName, 'ReportComment' => $reportComment, 'ProjectId' => $projectId, 'Lang' => $lang, 'Author' => $author, 'ExternalId' => $externalId, 'Hold' => $hold, 'DryRun' => $dryRun, 'CopyToLibrary' => $copyToLibrary, 'LibraryOnly' => $libraryOnly ); foreach ($postdata as $key => $val) { $content .= "--$boundary\n"; $content .= "Content-Disposition: form-data; name=\"" . $key . "\"\n\n" . $val . "\n"; } $content .= "--$boundary\n"; // Collect FILE data $file_contents = file_get_contents($testFile); $filedata = array("TestFile", basename($testFile), $file_contents); $content .= "Content-Disposition: form-data; name=\"{$filedata[0]}\"; filename=\"{$filedata[1]}\"\n"; $content .= "Content-Transfer-Encoding: binary\n\n"; $content .= $filedata[2] . "\n"; $content .= "--$boundary--\n"; //Create stream context $context = stream_context_create(array( 'http' => array( 'method' => 'POST', 'header' => $header, 'content' => $content ) )); //Invoke API $result = file_get_contents($url, false, $context); return $result; }
Back to Top