Copyleaks detects online plagiarism and checks content distribution. Use Copyleaks to find out if textual content is original and where it has been used before. This package shows how to integrate with the Copyleaks cloud to search for copyright infringement.

v1.4 2019-02-17 11:48 UTC

This package is auto-updated.

Last update: 2020-02-15 11:14:36 UTC


This package is supporting v1 of the API which will no longer be in use as of July 1, ,2020. It's recommended to use the new v3 of the API, see full documentation with code snippets here -

Copyleaks finds plagiarism online using copyright infringement detection technology. Find those who have used your content with Copyleaks. See here how to integrate Copyleaks easily with your services, using Java, to detect plagiarism.

Copyleaks PHP SDK

Copyleaks SDK is a simple framework that allows you to scan text for plagiarism and detect content distribution online, using the Copyleaks plagiarism checker cloud.

Using Copyleaks SDK you can detect plagiarism in:


Integrate with the Copyleaks SDK in one of two options:

  • Recommended: Use the Package Manager - Packagist.
    When integrating that way you will automatically be able to update the SDK to its latest version:
    composer require copyleaks/php-plagiarism-checker @dev
    Following that, in order to use the SDK, add this to your code:
    //copyleaks dependencies 
    include_once( __DIR__.'/vendor/copyleaks/php-plagiarism-checker/autoload.php');
    use Copyleaks\CopyleaksCloud;
    use Copyleaks\CopyleaksProcess;
  • Download the code from this repository and add it to your project.

Register and Get Your API Key

To use the Copyleaks API you need to first have a Copyleaks account. The registration to Copyleaks takes a minute and is free of charge. Signup and confirm your account to finalize your registration.

You can generate your personal API key. Do so by entering your dashboard (Businesses dashboard/Academic dashboard/Websites dashboard), and under 'Access Keys' you will be able to see and generate your API keys.

For more information check out our API guide.


See example_asynchronous.php for an example using callbacks and example_synchronous.php for a synced example that update the status programatically.


To scan for plagiarism the URL: ''. All you have to do is to update the following two lines with your email and API key:

$email = 'Your-Email-Address-Here';
$apiKey = 'Your-API-Key-Here';

Add this additional header to get a completion callback:

$additionalHeaders = array($clConst['HTTP_CALLBACK'].':' 

For testing purposes you can use

Create a process using createByUrl:

$process  = $clCloud->createByURL('',$additionalHeaders); 

Available create methods are: createByURL, createByFile, createByFiles, createByOCR and createByText.

If you don't want to use callbacks you can wait for the scan to complete:

while ($process->getStatus() != 100){

And get the results:

$results = $process->getResult();
// Print the results
foreach ($results as $result) {
	echo $result;


You can set specific headers:

$additionalHeaders = array(
  $clConst['SANDBOX_MODE_HEADER'], // Sandbox mode - Scan without consuming any credits and get back dummy results
  $clConst['HTTP_CALLBACK'].':', # For a fast testing of callbacks option we recommend to use
  $clConst['CLIENT_CUSTOM_PREFIX'].'name: some name'
  $clConst['COMPARE_ONLY'] # Compare files in between - available only on createByFiles
  $clConst['IMPORT_FILE_TO_DATABASE'] # Import your file to our database only

For more info about the optional headers see API Request Headers

Read More