Detect plagiarized and similar code across trillions of code sources on the web See what's new
Unified API

Quick Check API
One Call. Everything.

A single-request plagiarism detection API. Create the check, upload code, and start analysis in one call, usually a few lines of code in any language.

FEATURES

Why Developers Love It

Built from the ground up for speed, simplicity, and scale. Everything you need, nothing you don't.

One Round-Trip

One API call replaces three: create the check, upload code, and start analysis without sequencing requests yourself.

Atomic Operations

Database transactions keep state consistent: either every step succeeds, or none of them do.

Multi-File Upload

Upload unlimited ZIP files in parallel. Automatic retry logic handles failures gracefully with detailed error reporting.

Real-Time Analytics

Track execution time, upload success rates, and performance metrics. Built-in monitoring for production apps.

Global Infrastructure

Distributed across 6 continents. Sub-100ms latency worldwide. 99.99% uptime SLA with automatic failover.

Enterprise Security

256-bit encryption, SOC 2 Type II certified. Your code never leaves secure servers. GDPR compliant.

CODE EXAMPLES

Start Coding in Seconds

Production-ready code examples in your favorite language. Copy, paste, ship.

import requests

API_KEY = "your_api_key_here"
API_URL = "https://codequiry.com/api/v1/check/quick"

def quick_check(name, files, language_id=14):
    """Create plagiarism check in one call"""
    headers = {"apikey": API_KEY}
    data = {
        "name": name,
        "language": language_id,
        "test_type": 1
    }
    
    # Prepare files
    file_handles = []
    files_data = []
    
    try:
        for file_path in files:
            handle = open(file_path, "rb")
            file_handles.append(handle)
            files_data.append(
                ("files[]", (file_path, handle, "application/zip"))
            )
        
        response = requests.post(API_URL, headers=headers, 
                                data=data, files=files_data)
        return response.json()
    
    finally:
        for handle in file_handles:
            handle.close()

# Example usage
result = quick_check(
    "Python Assignment - Week 5",
    ["student1.zip", "student2.zip", "student3.zip"],
    language_id=14
)

if result.get("success"):
    print(f"✅ Check created! ID: {result['data']['check_id']}")
    print(f"Files uploaded: {result['data']['submissions']['uploaded']}")
    print(f"View: {result['data']['check_url']}")
else:
    print(f"❌ Error: {result.get('error')}")
const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');

const API_KEY = 'your_api_key_here';
const API_URL = 'https://codequiry.com/api/v1/check/quick';

async function quickCheck(name, files, languageId = 14) {
    const formData = new FormData();
    
    formData.append('name', name);
    formData.append('language', languageId);
    formData.append('test_type', 1);
    
    files.forEach(file => {
        formData.append('files[]', fs.createReadStream(file));
    });
    
    try {
        const response = await axios.post(API_URL, formData, {
            headers: {
                'apikey': API_KEY,
                ...formData.getHeaders()
            }
        });
        
        return response.data;
    } catch (error) {
        return {
            success: false,
            error: error.response?.data?.error || error.message
        };
    }
}

// Example usage
(async () => {
    const result = await quickCheck(
        'JavaScript Project - Sprint 2',
        ['student1.zip', 'student2.zip', 'student3.zip'],
        39 // JavaScript
    );
    
    if (result.success) {
        console.log(`✅ Check created! ID: ${result.data.check_id}`);
        console.log(`Files: ${result.data.submissions.uploaded}`);
        console.log(`View: ${result.data.check_url}`);
    } else {
        console.error(`❌ Error: ${result.error}`);
    }
})();
<?php

define('API_KEY', 'your_api_key_here');
define('API_URL', 'https://codequiry.com/api/v1/check/quick');

function quickCheck($name, $files, $languageId = 21) {
    $data = [
        'name' => $name,
        'language' => $languageId,
        'test_type' => 1
    ];
    
    foreach ($files as $index => $file) {
        $data["files[$index]"] = new CURLFile(
            $file, 'application/zip', basename($file)
        );
    }
    
    $ch = curl_init(API_URL);
    curl_setopt_array($ch, [
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $data,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => ['apikey: ' . API_KEY]
    ]);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return json_decode($response, true);
}

// Example usage
$result = quickCheck(
    'PHP Assignment - Module 3',
    ['student1.zip', 'student2.zip', 'student3.zip'],
    21 // PHP
);

if ($result['success']) {
    echo "✅ Check created! ID: {$result['data']['check_id']}\n";
    echo "Files: {$result['data']['submissions']['uploaded']}\n";
    echo "View: {$result['data']['check_url']}\n";
} else {
    echo "❌ Error: {$result['error']}\n";
}

?>
#!/bin/bash

API_KEY="your_api_key_here"
API_URL="https://codequiry.com/api/v1/check/quick"

# Simple one-liner
curl -X POST "$API_URL" \
  -H "apikey: $API_KEY" \
  -F "name=Command Line Check" \
  -F "language=14" \
  -F "test_type=1" \
  -F "files[][email protected]" \
  -F "files[][email protected]" \
  -F "files[][email protected]"

# With response parsing
response=$(curl -s -w "\n%{http_code}" -X POST "$API_URL" \
  -H "apikey: $API_KEY" \
  -F "name=Advanced CLI Check" \
  -F "language=14" \
  -F "test_type=1" \
  -F "files[][email protected]" \
  -F "files[][email protected]")

http_code=$(echo "$response" | tail -n1)
body=$(echo "$response" | sed '$d')

if [ "$http_code" -eq 201 ]; then
  echo "✅ Check created successfully!"
  echo "$body" | jq '.data | {check_id, files_uploaded: .submissions.uploaded, check_url}'
else
  echo "❌ Error (HTTP $http_code)"
  echo "$body" | jq '.error'
fi
BY THE NUMBERS

Trusted by Developers Worldwide

3x
Faster Than Legacy API
70%
Less Code Required
99.99%
Uptime SLA
<100ms
Global Latency

Build with the Quick Check API

Used in production by developers and platforms integrating code similarity into their own workflows.