Code Plagiarism Detection API
Build plagiarism detection into your applications with our powerful REST API. Detect copied code across 20+ billion sources with industry-leading accuracy.
API Playground
Not ConnectedConnect your API key to test endpoints in real-time
Create a New Plagiarism Check
Initialize a new plagiarism detection analysis by creating a check. This is the first step in your workflow—after creating a check, you'll upload source code files and then start the analysis to detect code similarity and plagiarism.
API Endpoint
Understanding Checks
Think of a check as a project container for your plagiarism analysis. Each check has a name and programming language, and can contain multiple code submissions that you want to compare. This organizational structure makes it easy to manage different assignments, projects, or code reviews.
Common Use Cases
Student Assignments
Compare student submissions to detect code copying and collaboration
Code Reviews
Verify originality of code contributions in pull requests and projects
Open Source Auditing
Check for unauthorized use of licensed or proprietary code
Interview Assessments
Detect cheating in coding tests and technical interviews
Request Parameters
Creating a check requires just two simple parameters: a name to identify your analysis and the programming language of the code you'll be analyzing.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
String | Required | Human-readable name for your check (minimum 3 characters). Use descriptive names like "CS101 Assignment 3" or "React Project Review" |
language |
Integer | Required | Programming language ID from our supported languages list (see reference below) |
Example Request
curl -X POST \
https://codequiry.com/api/v1/check/create \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'apikey: YOUR_API_KEY_HERE ' \
-d '{
"name": "Python Assignment - Week 5",
"language": 14
}'
Success Response
{
"id": 2810,
"name": "Python Assignment - Week 5",
"status_id": 1,
"job_id": 0,
"created_at": "2024-01-15 14:30:22",
"updated_at": "2024-01-15 14:30:22"
}
Understanding the Response
- id — Unique check identifier. Save this value! You'll need it for uploading files and retrieving results.
- name — The name you assigned to this check for identification purposes
- status_id — Current status (1 = newly created, awaiting file uploads)
- job_id — Processing job ID (0 indicates analysis hasn't started yet)
- created_at / updated_at — Timestamps in UTC format showing when the check was created
Supported Programming Languages
Choose the appropriate language ID for your source code. Codequiry supports 50+ programming languages with intelligent syntax-aware plagiarism detection:
Most Popular Languages
| Language | File Extensions | Language ID |
|---|---|---|
| Python | .py |
14 |
| Java | .java |
13 |
| JavaScript | .js, .jsx |
39 |
| TypeScript | .ts, .tsx |
55 |
| C++ | .cpp, .hpp, .cc |
17 |
| C# | .cs |
18 |
| PHP | .php |
21 |
| Ruby | .rb |
33 |
Modern & Systems Languages
| Language | File Extensions | Language ID |
|---|---|---|
| Go | .go |
30 |
| Rust | .rs |
51 |
| Swift | .swift |
43 |
| Kotlin | .kt, .kts |
44 |
| C | .c, .h |
16 |
| R | .r, .R |
32 |
Error Responses
Invalid Language ID (422 Unprocessable Entity)
If you provide an unsupported language ID, the API returns a helpful error with all available languages:
{
"error": "Invalid programming language, must be a valid language ID",
"available_languages": [
{
"id": 13,
"language": "Java (.java)"
},
{
"id": 14,
"language": "Python (.py)"
},
{
"id": 39,
"language": "Javascript (.js/.ts)"
}
// ... more languages
]
}
Other Common Errors
Cause: Missing required parameters
Solution: Ensure both name and language are included in your request body. Name must be at least 3 characters long.
Cause: Invalid or missing API key
Solution: Verify your API key is correct and properly included in the apikey header.
What's Next?
Congratulations! You've created a check. Now you're ready to upload code files and start the plagiarism analysis: