Developer API

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.

99.7%
Accuracy
51+
Languages
20B+
Sources
5
SDKs

API Playground

Not Connected

Connect your API key to test endpoints in real-time

CREATE CHECK

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
POST https://codequiry.com/api/v1/check/create

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.

Workflow Overview: The complete plagiarism detection process follows three steps: 1) Create Check → 2) Upload Code Files → 3) Start Analysis → View Results
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
  }'
		
cURL Command
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"
}
		
JSON Response
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
Connect Your API Key: To test check creation, connect your API key using the playground at the top of the page.

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
Need the Complete List? We support 50+ languages. To get the full list programmatically, send a request with an invalid language ID and the API will return all available languages in the error response.

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
    ]
}
        
Error Response
Other Common Errors
400 Bad Request

Cause: Missing required parameters

Solution: Ensure both name and language are included in your request body. Name must be at least 3 characters long.

401 Unauthorized

Cause: Invalid or missing API key

Solution: Verify your API key is correct and properly included in the apikey header.