Code Plagiarism & Web Similarity API
Integrate your existing software with Codequiry's source code plagiarism checker. We provide a very easy and straightforward Rest API with libraries for any custom use cases.
Updated: 07/16/2024
API Demonstration
Connect your account to run the live examples.
4. Creating Checks
Now that you have learned how to retrieve checking history, it's time to learn how to actually create a check. To understand the checking process better, we will explain the process of checking submissions with the API in this section.
Endpoint for creating a new check
First Step: Creating a new check
Creating a check is the first step in checking submissions. Before we can start uploading or starting checking, we must create a check. We will have to give the check a name and specify the programming language.
When sending the request, we will need to POST two variables:
language - The programming language (string, must be a language ID from the given list, auto detect option is coming soon)
curl -X POST \
https://codequiry.com/api/v1/check/create?name=Test%20Check&language=13 \
-H 'Accept: */*' \
-H 'apikey: YOUR_API_KEY_HERE '
Sample Response (JSON Object)
{
"name": "Test Check",
"status_id": 1,
"job_id": 0,
"updated_at": "2019-05-29 19:13:33",
"created_at": "2019-05-29 19:13:33",
"id": 2810
}
Error Format Response (422 error) , Provide a Valid Programming Language Id
{
"error": "Invalid programming language, must be a valid language ID",
"available_languages": [
{
"id": 13,
"language": "Java (.java)"
},
{
"id": 14,
"language": "Python (.py)"
},
{
"id": 16,
"language": "C (.c/.h)"
},
{
"id": 17,
"language": "C/C++ (.cc/.c/.h/.cpp/.hpp)"
},
{
"id": 18,
"language": "C# (.cs)"
},
{
"id": 20,
"language": "Perl (.pl/.sh)"
},
{
"id": 21,
"language": "PHP (.php)"
},
{
"id": 22,
"language": "SQL (.sql)"
},
{
"id": 23,
"language": "VB (.vb/.bas)"
},
{
"id": 24,
"language": "XML (.xml)"
},
{
"id": 28,
"language": "Haskell (.hs/.lhs)"
},
{
"id": 29,
"language": "Pascal (.pas/.inc)"
},
{
"id": 30,
"language": "Go (.go)"
},
{
"id": 31,
"language": "Matlab (.m)"
},
{
"id": 32,
"language": "Lisp (.el)"
},
{
"id": 33,
"language": "Ruby (.rb)"
},
{
"id": 34,
"language": "Assembly (.asm/.s)"
},
{
"id": 38,
"language": "HTML Javascript (.html/.htm/.xhtml)"
},
{
"id": 39,
"language": "Javascript (.js/.ts)"
},
{
"id": 40,
"language": "HTML (.html/.htm/.xhtml)"
},
{
"id": 41,
"language": "Plain text (.txt)"
},
{
"id": 42,
"language": "Text file by char (.txt)"
},
{
"id": 43,
"language": "Swift (.swift)"
},
{
"id": 44,
"language": "Kotlin (.kt/.kts)"
},
{
"id": 45,
"language": "Yacc (.y,.yy,.ypp,.yxx)"
},
{
"id": 46,
"language": "Lex (.l,.ll)"
},
{
"id": 47,
"language": "Elixir (.ex, .exs)"
},
{
"id": 48,
"language": "Python Jupyter Notebook (.ipynb)"
},
{
"id": 49,
"language": "Dart (.dart)"
},
{
"id": 50,
"language": "Shell (.sh/.bash)"
},
{
"id": 51,
"language": "Rust (.rs)"
},
{
"id": 52,
"language": "Scala (.scala)"
},
{
"id": 53,
"language": "R (.r)"
},
{
"id": 54,
"language": "Objective-C (.m, .mm)"
},
{
"id": 55,
"language": "TypeScript (.ts, .tsx)"
},
{
"id": 56,
"language": "Markdown (.md)"
},
{
"id": 57,
"language": "Julia (.jl)"
},
{
"id": 58,
"language": "Groovy (.groovy)"
},
{
"id": 59,
"language": "Sass/SCSS (.scss, .sass)"
},
{
"id": 60,
"language": "CoffeeScript (.coffee)"
},
{
"id": 61,
"language": "Lua (.lua)"
},
{
"id": 62,
"language": "Erlang (.erl, .hrl)"
},
{
"id": 63,
"language": "F# (.fs, .fsi, .fsx)"
},
{
"id": 64,
"language": "Fortran (.f90, .f95)"
},
{
"id": 65,
"language": "Haxe (.hx)"
},
{
"id": 66,
"language": "Scheme (.scm, .ss)"
},
{
"id": 67,
"language": "Tcl (.tcl)"
},
{
"id": 68,
"language": "Ada (.adb, .ads)"
},
{
"id": 69,
"language": "COBOL (.cob, .cbl)"
},
{
"id": 70,
"language": "VHDL (.vhd, .vhdl)"
}
]
}
How to think of the checking process
Now that you have learned how to create a check, it's time to learn how to upload files to the newly created check. Think of creating a check being like creating a folder. Now that you have created the folder, we can now upload submissions to them.
What's next
For optimal understanding of API usage, we recommend following this guide.
Our Mission
Codequiry aims to achieve an equally fair environment for fields relating to computer science by preventing the use of unoriginal and plagiarised code. The first step to preserving academic integrity and original source code starts with us.

Disclaimer: The brand images are copyrighted by their respective owners, and we have no affiliation with them. The brands listed represent teams using Codequiry under personal, team, or enterprise plans. Codequiry is utilized by over 5,000 teams globally. Teams and individuals at these organizations can use Codequiry without needing a company-wide plan or contract.
Company
Resources
- A code similarity checker
- Check your code for plagiarism
- Automatically grade your coding assignments
- Check java code for plagiarism
- Codequiry Code Checking API
- Codequiry releases updated insights page
- Codequiry vs. Moss
- How to detect plagiarism in source code
- How a Code Plagiarism Detector Helps the IT Industry?
- Codequiry vs. Turnitin: The Best Code Plagiarism Checker
© 2018-2025 CQ Pvt Ltd., Codequiry Pvt Ltd., Codequiry LLC., Smart Plagiarism Solutions, Inc
USA HQ: 535 Mission St, San Francisco, CA 94105. TECH HQ: Regal Building, New Delhi, India