The plagiarism checker API allows one to implement an efficient similarity detector in a convenient environment. Follow the instructions to check texts for plagiarism in your application, and visit our GitHub profile for more examples.
You need to use an API token to connect the plagiarism detector to your app. Please select the API type first to get the plagiarism check API token.
There are two types of API:
Find more examples in our GitHub repository and use the Swagger page for API plagiarism checker specification.
Click below for instructions on implementing Check Plagiarism API for single or multiple users.
To check a text for plagiarism in your application, you MUST:
For authorization, you MUST have a registered account with PlagiarismCheck.org and a special API token from our support team.
To receive an API token, you need to contact our Support. Also, you can sign in and copy the actual API token below.
API returns 401 Unauthorized if you provide an invalid token. You MUST send your token in the header with the name X-API-TOKEN.
Example of an HTTP header:
X-API-TOKEN: vsMKX3179tjK3CqvhE228IDeMV-eBBER
Where vsMKX3179tjK3CqvhE228IDeMV-eBBER is an example of the api token.
The request has parameters:
The Request:
curl "https://plagiarismcheck.org/api/v1/text" \ --request POST \ --header "X-API-TOKEN: cUwhcQU88K2cYn47aPCg-snWoSNNJwyW" \ --data "language=en" \ --data "text=an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library and Java APIs are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage"
The Response:
{ "success": true, "data": { "text": { "id": 2, "filename": "an_application", "created_at": "1516279363000", "updated_at": "1516279364000", "submitted_at": "1516279364000", "is_deleted": false, "deleted_at": null, "state": 3, "language": "en", "pages": 1, "group_id": null, "user_id": 9, "report_id": null }, "charged": 0, "bonus_charged": 1 } }
This method receives an ID of the text and returns detailed information about the text. Here is a table with statuses:
ID | Name | Description |
2 | STATE_STORED | Text has been stored and waiting for a check. |
3 | STATE_SUBMITTED | Text has been stored and waiting for a check. |
4 | STATE_FAILED | Text has not been checked. An error happened. |
5 | STATE_CHECKED | Text has been successfully checked and you can receive the report. |
In example: "2" is the ID of text
Request:
curl "https://plagiarismcheck.org/api/v1/text/2" \ -X GET \ -H "X-API-TOKEN: cUwhcQU88K2cYn47aPCg-snWoSNNJwyW"
Response:
{ "data": { "id": 2, "filename": "an_application", "created_at": "1516279363000", "updated_at": "1516279369000", "submitted_at": "1516279364000", "is_deleted": false, "deleted_at": null, "state": 5, "language": "en", "pages": 1, "group_id": null, "creator": { "id": 9, "name": "Test", "email": "test@example.com", "created_at": "1516279118000", "updated_at": "1516279118000", "is_blocked": false, "allowed_languages": [ "en" ], "balance": { "balance": 0, "bonus": 596, "hold": 0, "hold_bonus": 0 }, "avatar": null }, "report": { "id": 1, "created_at": "1516279369000", "source_count": 0, "percent": "0.00" } } }
This method receives an ID of the text and returns a detailed report. The text MUST be with status 5 (STATE_CHECKED). The report contains nodes, sources, and other information. Each node has text, a start position, an end position, and sources where the text was found. Each source has: content-type, percentage of plagiarism, and a URL. In example "2" is The ID of the text.
Request:
curl "https://plagiarismcheck.org/api/v1/text/report/2" \ -X GET \ -H "X-API-TOKEN: cUwhcQU88K2cYn47aPCg-snWoSNNJwyW"
Response:
{ "data": { "report": { "id": 14, "created_at": "1513617036000", "source_count": 3, "percent": "100.00", //percent of plagiarism "text_id": 14 // ID of check }, "report_data": { "version": "1.1", "length": 2435, "created_at": "2017-12-18 11:10:35", "nodes": [ { "enabled": true, "start": 0, "end": 205, "text": "Because of its location on the crossroads between Europe and Asia, and its proximity to lucrative east-west trade routes, throughout history Tbilisi was a point of contention between various global powers. ", "sources": [ 0, 1, 2 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 }, { "source": 2, "cos": 0.66 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1, 2 ] }, { "enabled": true, "start": 206, "end": 327, "text": "The city\u0027s location to this day ensures its position as an important transit route for various energy and trade projects. ", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 328, "end": 486, "text": "Tbilisi\u0027s diverse history is reflected in its architecture, which is a mix of medieval, neoclassical, Beaux Arts, Art Nouveau, Stalinist and Modern structures.", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 0.7 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 487, "end": 692, "text": "Because of its location on the crossroads between Europe and Asia, and its proximity to lucrative east-west trade routes, throughout history Tbilisi was a point of contention between various global powers. ", "sources": [ 2 ], "sources_improved": [ { "source": 2, "cos": 0.66 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 2 ] }, { "enabled": true, "start": 693, "end": 814, "text": "The city\u0027s location to this day ensures its position as an important transit route for various energy and trade projects. ", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 815, "end": 973, "text": "Tbilisi\u0027s diverse history is reflected in its architecture, which is a mix of medieval, neoclassical, Beaux Arts, Art Nouveau, Stalinist and Modern structures.", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 0.7 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 974, "end": 1179, "text": "Because of its location on the crossroads between Europe and Asia, and its proximity to lucrative east-west trade routes, throughout history Tbilisi was a point of contention between various global powers. ", "sources": [ 2 ], "sources_improved": [ { "source": 2, "cos": 0.66 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 2 ] }, { "enabled": true, "start": 1180, "end": 1301, "text": "The city\u0027s location to this day ensures its position as an important transit route for various energy and trade projects. ", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 1302, "end": 1460, "text": "Tbilisi\u0027s diverse history is reflected in its architecture, which is a mix of medieval, neoclassical, Beaux Arts, Art Nouveau, Stalinist and Modern structures.", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 0.7 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 1461, "end": 1666, "text": "Because of its location on the crossroads between Europe and Asia, and its proximity to lucrative east-west trade routes, throughout history Tbilisi was a point of contention between various global powers. ", "sources": [ 2 ], "sources_improved": [ { "source": 2, "cos": 0.66 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 2 ] }, { "enabled": true, "start": 1667, "end": 1788, "text": "The city\u0027s location to this day ensures its position as an important transit route for various energy and trade projects. ", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 1789, "end": 1947, "text": "Tbilisi\u0027s diverse history is reflected in its architecture, which is a mix of medieval, neoclassical, Beaux Arts, Art Nouveau, Stalinist and Modern structures.", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 0.7 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 1948, "end": 2153, "text": "Because of its location on the crossroads between Europe and Asia, and its proximity to lucrative east-west trade routes, throughout history Tbilisi was a point of contention between various global powers. ", "sources": [ 2 ], "sources_improved": [ { "source": 2, "cos": 0.66 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 2 ] }, { "enabled": true, "start": 2154, "end": 2275, "text": "The city\u0027s location to this day ensures its position as an important transit route for various energy and trade projects. ", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 1 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] }, { "enabled": true, "start": 2276, "end": 2434, "text": "Tbilisi\u0027s diverse history is reflected in its architecture, which is a mix of medieval, neoclassical, Beaux Arts, Art Nouveau, Stalinist and Modern structures.", "sources": [ 0, 1 ], "sources_improved": [ { "source": 0, "cos": 1 }, { "source": 1, "cos": 0.7 } ], "references": [], "headers": [], "quotes": [], "destinations_clusters": [ 0, 1 ] } ], "indexes": [ { "id": 0, "db_id": 1, "name": "", "status": "success", "queries": 10, "type": "external" } ], "references": [], "header": [], "quotes": [], "sources": [ { "dst_pos_success": true, "content_type": "text\/html", "index": 0, "source": "https:\/\/en.wikipedia.org\/wiki\/Tbilisi", "length": 1611, "percent": 66.16, "link": { "name": "en.wikipedia.org", "urls": [ "https:\/\/en.wikipedia.org\/wiki\/Tbilisi" ] }, "tf_idf": false, "plagiarism_length": 1611, "plagiarism_percent": 66.16 }, { "dst_pos_success": true, "content_type": "text\/html", "index": 0, "source": "https:\/\/www.youtube.com\/watch?v=YU-db2NKMtY", "length": 1611, "percent": 66.16, "link": { "name": "www.youtube.com", "urls": [ "https:\/\/www.youtube.com\/watch?v=YU-db2NKMtY" ] }, "tf_idf": false, "plagiarism_length": 1611, "plagiarism_percent": 66.16 }, { "dst_pos_success": true, "content_type": "text\/html", "index": 0, "source": "https:\/\/www.facebook.com\/New-Georgia-Travel-agency-306643492874270\/", "length": 1030, "percent": 42.3, "link": { "name": "www.facebook.com", "urls": [ "https:\/\/www.facebook.com\/New-Georgia-Travel-agency-306643492874270\/" ] }, "tf_idf": false, "plagiarism_length": 1030, "plagiarism_percent": 42.3 } ], "sources_count": 3, "matched_length": 2435, "matched_percent": 100, "external_queries": 10, "destinations_clusters": [ { "source": 0, "id": 0, "offsets": [ { "start": 28510, "end": 28843, "cos": 1 }, { "start": 28844, "end": 28965, "cos": 1 }, { "start": 28966, "end": 29554, "cos": 1 }, { "start": 28844, "end": 28965, "cos": 1 }, { "start": 28966, "end": 29554, "cos": 1 }, { "start": 28844, "end": 28965, "cos": 1 }, { "start": 28966, "end": 29554, "cos": 1 }, { "start": 28844, "end": 28965, "cos": 1 }, { "start": 28966, "end": 29554, "cos": 1 }, { "start": 28844, "end": 28965, "cos": 1 }, { "start": 28966, "end": 29554, "cos": 1 } ] }, { "source": 1, "id": 1, "offsets": [ { "start": 87684, "end": 87889, "cos": 1 }, { "start": 87890, "end": 88011, "cos": 1 }, { "start": 88012, "end": 88180, "cos": 0.7 }, { "start": 87890, "end": 88011, "cos": 1 }, { "start": 88012, "end": 88180, "cos": 0.7 }, { "start": 87890, "end": 88011, "cos": 1 }, { "start": 88012, "end": 88180, "cos": 0.7 }, { "start": 87890, "end": 88011, "cos": 1 }, { "start": 88012, "end": 88180, "cos": 0.7 }, { "start": 87890, "end": 88011, "cos": 1 }, { "start": 88012, "end": 88180, "cos": 0.7 } ] }, { "source": 2, "id": 2, "offsets": [ { "start": 296896, "end": 297223, "cos": 0.66 }, { "start": 296896, "end": 297223, "cos": 0.66 }, { "start": 296896, "end": 297223, "cos": 0.66 }, { "start": 296896, "end": 297223, "cos": 0.66 }, { "start": 296896, "end": 297223, "cos": 0.66 } ] } ] } } }
To check a text for plagiarism in your application, you MUST:
For authorization, you MUST have a registered account with PlagiarismCheck.org and a special API token from our support team.
To receive an API token, you need to contact our Support. Also, you can sign in as owner and copy the actual API token below.
The request has parameters:
The Request:
curl "https://plagiarismcheck.org/api/org/text/check/" \ --request POST \ --data "group_token=G-HEfFiCHYWYx...." \ --data "author=example@example.com" \ --data "text=an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library and Java APIs are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage" \
The Response:
{ "success":true, "data":{ "id":14, // Check ID "filename":"an application", "created_at":"1643727469000", "updated_at":"1643727469000", "submitted_at":"1643727469000", "is_deleted":false, "deleted_at":null, "state":3, "language":"en", "pages":1, "words":127, "group_id":3, "custom_author":null, "user_id":24, "report_id":null, "integration_links":[ { "id":11, "integration_id":null, "submission":null, "course_work":null, "assignment":null, "publishable":false } ] } }
This method receives the ID of the text and returns detailed information about the text. Here is a table with statuses:
ID | Name | Description |
2 | STATE_STORED | Text has been stored and waiting for a check. |
3 | STATE_SUBMITTED | Text has been stored and waiting for a check. |
4 | STATE_FAILED | Text has not been checked. An error happened |
5 | STATE_CHECKED | Text has been successfully checked and you can receive the report. |
In example: "14" is the ID of text
Request:
curl "https://plagiarismcheck.org/api/org/text/status/14/" \ --request POST \ --data "group_token=G-HEfFi..."
Response:
{ "success":true, "data":{ "id":14, //Check ID "filename":"an application", "created_at":"1643727469000", "updated_at":"1643727471000", "submitted_at":"1643727469000", "is_deleted":false, "deleted_at":null, "state":5, "language":"en", "pages":1, "words":127, "group_id":3, "custom_author":null, "creator":{ "id":24, "name":"Default User", //author name "email":"example@example.com", //author email "created_at":"1643307115000", "updated_at":"1643647307000", "is_blocked":false, "allowed_languages":[ "en" ], "balance":{ "balance":0, "bonus":397, "hold":0, "hold_bonus":0 }, "avatar":null, "sale_role":null }, "report":{ "id":13, "created_at":"1643727471000", "source_count":5, "percent":"28.57" // Percent of plagiarism }, "integration_links":[ { "id":11, "integration_id":null, "submission":null, "course_work":null, "assignment":null, "publishable":false } ] } }
This method receives an ID of the text and returns a detailed report. The text MUST be with status 5 (STATE_CHECKED). The report contains nodes, sources, and other information. Each node contains the text, the start position, the end position, and the sources where the text was found. Each source has the content type, percentage of plagiarism, and a URL. In the example "14" is The ID of the text.
Request:
curl "https://plagiarismcheck.org/api/org/text/report/14/" \ --request POST \ --data "group_token=G-HEfFiCHYWY..."
Response:
{ "success":true, "data":{ "report":{ "id":13, "created_at":"1643727471000", "source_count":5, "percent":"28.57", "text_id":14 }, "report_data":{ "version":"1.1", "length":637, "created_at":"2017-05-12 05:10:57", "nodes":[ { "enabled":true, "start":0, "end":19, "text":"\nnon_matched_header\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ 0 ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":20, "end":34, "text":"matched_header\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ 0 ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":35, "end":53, "text":"non_matched_header\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ 0 ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":54, "end":74, "text":"\nnon_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":75, "end":90, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":91, "end":122, "text":"matched_content_with_paraphrase\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":0.65 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":123, "end":138, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":139, "end":179, "text":"non_matched_content\n\nnon_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":180, "end":195, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":196, "end":233, "text":"matched_content_with_multiple_sources\n", "sources":[ 0, 1 ], "sources_improved":[ { "source":0, "cos":1 }, { "source":1, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0, 1 ] }, { "enabled":true, "start":234, "end":334, "text":"matched_content_from_internal_db\nmatched_content_from_cache\nnon_matched_content\n\nnon_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":335, "end":350, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":351, "end":377, "text":"matched_content_with_quote\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ 0 ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":378, "end":393, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":394, "end":413, "text":"non_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":414, "end":444, "text":"non_matched_content_with_quote\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ 1 ], "destinations_clusters":[ ] }, { "enabled":true, "start":445, "end":485, "text":"non_matched_content\n\nnon_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":486, "end":501, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":502, "end":532, "text":"matched_content_with_reference\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ 0 ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":533, "end":548, "text":"matched_content\n", "sources":[ 0 ], "sources_improved":[ { "source":0, "cos":1 } ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ 0 ] }, { "enabled":true, "start":549, "end":568, "text":"non_matched_content\n", "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":569, "end":603, "text":"non_matched_content_with_reference\n", "sources":[ ], "sources_improved":[ ], "references":[ 1 ], "headers":[ ], "quotes":[ ], "destinations_clusters":[ ] }, { "enabled":true, "start":604, "end":636, "sources":[ ], "sources_improved":[ ], "references":[ ], "headers":[ ], "quotes":[ ], "text":"non_matched_content\n\nVERSION 1.4\n", "destinations_clusters":[ ] } ], "indexes":[ { "id":0, "db_id":1, "name":"", "status":"success", "queries":5, "type":"external" }, { "id":1, "db_id":1, "name":"", "status":"success", "queries":7, "type":"external" }, { "id":2, "db_id":2, "name":"", "status":"success", "queries":0, "type":"internal" }, { "id":3, "db_id":3, "name":"", "status":"success", "queries":0, "type":"cache" } ], "references":[ { "id":0, "length":31 }, { "id":1, "length":35 } ], "header":[ { "id":0, "length":54 } ], "quotes":[ { "id":0, "length":27 }, { "id":1, "length":31 } ], "sources":[ { "dst_pos_success":true, "content_type":"text\/plain", "index":0, "source":"http:\/\/searchengine.localhost\/resource\/first", "length":255, "percent":40.03, "link":{ "name":"searchengine.localhost", "urls":[ "http:\/\/searchengine.localhost\/resource\/first" ] }, "tf_idf":false, "plagiarism_length":182, "plagiarism_percent":28.57 }, { "dst_pos_success":false, "content_type":"text\/plain", "index":0, "source":"http:\/\/searchengine.localhost\/resource\/second", "length":38, "percent":5.97, "link":{ "name":"searchengine.localhost", "urls":[ "http:\/\/searchengine.localhost\/resource\/second" ] }, "tf_idf":false, "plagiarism_length":38, "plagiarism_percent":5.97 }, { "dst_pos_success":false, "content_type":"text\/plain", "index":1, "source":"http:\/\/another.searchengine.localhost\/some_url", "length":0, "percent":0, "link":{ "name":"another.searchengine.localhost", "urls":[ "http:\/\/another.searchengine.localhost\/some_url" ] }, "tf_idf":false, "plagiarism_length":0, "plagiarism_percent":0 }, { "dst_pos_success":false, "content_type":"text\/plain", "index":2, "source":"7200207", "length":0, "percent":0, "link":{ "name":"7200207", "urls":[ "7200207" ] }, "tf_idf":false, "plagiarism_length":0, "plagiarism_percent":0 }, { "dst_pos_success":false, "content_type":"text\/plain", "index":3, "source":"http:\/\/real.searchengine.localhost\/url\/to\/original\/resource", "length":0, "percent":0, "link":{ "name":"real.searchengine.localhost", "urls":[ "http:\/\/real.searchengine.localhost\/url\/to\/original\/resource" ] }, "tf_idf":false, "plagiarism_length":0, "plagiarism_percent":0 } ], "sources_count":5, "matched_length":182, "matched_percent":28.57, "external_queries":12, "destinations_clusters":[ { "source":0, "id":0, "offsets":[ { "start":20, "end":34, "cos":1 }, { "start":75, "end":90, "cos":1 }, { "start":91, "end":122, "cos":0.65 }, { "start":123, "end":138, "cos":1 }, { "start":180, "end":233, "cos":1 }, { "start":335, "end":393, "cos":1 }, { "start":486, "end":548, "cos":1 } ] }, { "source":1, "id":1, "offsets":[ { "start":196, "end":233, "cos":1 } ] }, { "source":2, "id":2, "offsets":[ ] }, { "source":3, "id":3, "offsets":[ ] }, { "source":4, "id":4, "offsets":[ ] } ] } } }
This method will delete a text entity.
Request:
curl "https://plagiarismcheck.org/api/org/text/delete/14/" \ --request POST \ --data "group_token=G-HEfFiCHYWY..."
Response:
{"success": true}
You can submit a report to the user interface. You need to create a html-form and submit it from the user browser.
<!DOCTYPE html> <html> <body> <form method="post" action="https://plagiarismcheck.org/lms/public-report/14/"> <input type="hidden" name="token" value="G-HEf......" /> <input type="hidden" name="lms-type" value="api" /> <input type="submit" /> </form> </body> </html>
This document provides all the necessary information you need for checking texts for AI in your application.
You can find more examples in our GitHub repository and use Swagger page for API specification.
To check a text for AI in your application, you MUST:
For authorization, you MUST have a registered account with PlagiarismCheck.org and a special API token from our support team.
To receive an API token, you need to contact our Support. Also, you can sign in and copy the actual API token below.
API returns 401 Unauthorized if you provide an invalid token. You MUST send your token in the header with the name X-API-TOKEN.
Example of an HTTP header:
X-API-TOKEN: vsMKX3179tjK3CqvhE228IDeMV-eBBER
Where vsMKX3179tjK3CqvhE228IDeMV-eBBER is an example of the api token.
The request has parameters:
The Request:
curl "https://plagiarismcheck.org/api/v1/chat-gpt/" \ --request POST \ --header "X-API-TOKEN: vsMKX3179tjK3CqvhE228IDeMV-eBBER" \ --data "text=an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library and Java APIs are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage" \
The Response:
{ "success": true, "data": { "enabled": true, "id": 2, "status": 2, "percent": null, "processed_percent": null, "strong_percent": null, "likely_percent": null, "mark": null, "comment": null, "comment_author": null, "type": 3, "content": "", "chunks": [] } }
This method receives an ID of the text and returns detailed information about the text. Here is a table with statuses:
ID | Name | Description |
1 | STATE_QUEUED | Text has been stored and waiting for a check. |
2 | STATE_IN_PROGRESS | Text has been stored and waiting for a check. |
3 | STATE_FAILED | Text has not been checked. An error happened. |
4 | STATE_CHECKED | Text has been successfully checked and you can receive the report. |
In example: "2" is the ID of text
Request:
curl "https://plagiarismcheck.org/api/v1/chat-gpt/2" \ -X GET \ -H "X-API-TOKEN: vsMKX3179tjK3CqvhE228IDeMV-eBBER"
Response:
{ "success": true, "data": { "enabled": true, "id": 2, "status": 2, "percent": null, "processed_percent": null, "strong_percent": null, "likely_percent": null, "mark": null, "comment": null, "comment_author": null, "type": 3, "content": "", "chunks": [] } }
This method receives an ID of the text and returns a detailed report. The text MUST be with status 4 (STATE_CHECKED). The report contains general prercent, processed percent, chunks, and other information. Each chunk has reliability, a start position, and an end position in text where AI was found. In example "2" is The ID of the text.
Request:
curl "https://plagiarismcheck.org/api/v1/chat-gpt/2" \ -X GET \ -H "X-API-TOKEN: vsMKX3179tjK3CqvhE228IDeMV-eBBER"
Response:
{ "success": true, "data": { "enable": true, "id": 2, "status": 4, "percent": 50.5, "processed_percent": 70.25, "strong_percent": 40.25, "likely_percent": 30, "mark": 1, "comment": "Comment message", "comment_author": { "id": 24, "name": "John Doe" }, "type": 3, "content": "an application programming interface (API) is a set of subroutine definitions, protocols, and tools for building application software. In general terms, it is a set of clearly defined methods of communication between various software components. A good API makes it easier to develop a computer program by providing all the building blocks, which are then put together by the programmer. An API may be for a web-based system, operating system, database system, computer hardware or software library. An API specification can take many forms, but often includes specifications for routines, data structures, object classes, variables or remote calls. POSIX, Microsoft Windows API, the C++ Standard Template Library and Java APIs are examples of different forms of APIs. Documentation for the API is usually provided to facilitate usage", "chunks": [ { "reliability": 1, "position": [ 100, 200 ] } ] } }