API for Duplicate Content Checking

PlagTracker’s API (Application Programming Interface) enables webmasters and developers to analyze their offline text and URLs for originality and to see if it has been duplicated elsewhere online.

Server side scripts can be written so that PlagTracker receives results in either XML or HTML format.

Our subscription plans at PlagTracker enable you to see first-hand how our duplicate content monitoring and detection system operates.

If you want to use our API for duplicate content detection and to get all necessary documentation and support, email us at api@plagtracker.com.

How to Use Our API

To use PlagTracker’s API service, simply download the API Client Script, run it on your server side and texts will be sent for checking. This also processes your check’s results.

Our Checking Process:

  1. Send the query with the text (taken from your URL) to check and then you will receive a unique hash code.
  2. Send these queries about every 30 seconds to check your check’s progress from the received hash-code and status.
  3. Once the check is completed, you will receive the results.

All classification of API implements is performed with REST-API.


Receiving API Access

After signing up for PlagTracker’s API and depositing money in your account, you will be issued a username and password to use in your API client file that is also provided to you. Testing the API is free with our sample texts but any other texts won’t be checked without money in your account.

Receiving the results with getResult, getPlagiarismPercentare not valid until your text is completely checked. The status is determined by the getTextStatus query.

API Client Functions


Sending the URL/text to the server for checking.

Parameters: text – text to be checked (required)
Result:  a unique hash-code


Get the checking status.

Parameters: hash – unique hash-code of the text (required)
Results: number from 0 to 100, if 100 – the check is complete.


Receiving the results

Parameters: hash - unique hash-code of the text (required)
Results: array of n-grams with list of duplicate sources in XML format.

[{"text": "text part #1", "links": ["link #1", "link #2, "link #3"]},
{"text": "text part #2", "links": ["link #1", "link #2, "link #3"]},
{"text": "text part #3", "links": ["link #1", "link #2, "link #3"]},]


Get the % of duplicate content

Parameters: hash -  unique hash-code of the text (required)
Results: number from 0 to 100, % of duplicate content


Send the URL to the server for checking

Parameters: url – web page address (required)
Results: unique hash of the page text


Send the text file to the server for checking

Parameters: file_path – path to the file (required)
Results: unique hash of the page text


Receive the checking results with the quotations from search engines

Parameters: unique hash of the text document (required)
Results: array of n-grams with the list of URLs for the duplicate sources, as well as the quotations for the links Format similar to:

[ {"text": "text part #1", "links": [{"link": "link #1", "quote": "quote#1"}, {"link": "link #2", "quote": "quote#2"}, {"link": "link #3", "quote": "quote#3"}]}, {"text": "text part #2", "links": [{"link": "link #1", "quote": "quote#1"}, {"link": "link #2", "quote": "quote#2"}, {"link": "link #3", "quote": "quote#3"}]}, {"text": "text part #3", "links": [{"link": "link #1", "quote": "quote#1"}, {"link": "link #2", "quote": "quote#2"}, {"link": "link #3", "quote": "quote#3"}]}, ]

The Format of the Results

All results received by the API client have the same JSON format similar to:
"data": null, //  data received as a result of executing the function
"message": "Wrong login or password", // error message
"status": 403 // http response code

Here is an example of the query for sending the text for checking:

$client = new Client('login', 'password');
$result = $client->getResponse();

The result getResult will look like this:

[{"text": "text part #1",
"links": ["link #1", "link #2, "link #3"]},
{"text": "text part #2",
"links": ["link #1", "link #2, "link #3"]},
{"text": "text part #3",
"links": ["link #1", "link #2, "link #3"]},],
"message": "",
"status": 200

Error Messages

  • 'Wrong login or password'
  • 'URL not found'
  • 'Https have to be used'
  • 'Add text error'
  • 'Text not found'
  • 'Text is not checked yet'
  • 'Limit of checks at the same time is exceeded'
  • 'Wrong subscription type'
  • 'Limit of checks is exceeded'
  • 'Subscription is not active'

HTTP Response Codes

  • OK = 200;


  • FORBIDDEN = 403;

  • NOT_FOUND = 404;




Stay in touch with us