Code Plagiarism
Detection API
Build plagiarism detection into your apps. Check code against 20+ billion sources.
Get Available Test Types
Retrieve all available plagiarism detection engines (test types), their capabilities, features, and your account's access level for each.
API Endpoint
Authentication
Include your API key in the request header:
apikey: YOUR_API_KEY_HERE
Success Response
HTTP Status: 200 OK
Engine IDs, names, and descriptions are returned from the live engine list and may differ from the illustrative values below. Always read the id values from the live response rather than hard-coding them.
{
"success": true,
"test_types": [
{
"id": 1,
"name": "Peer Similarity",
"description": "Compares submissions against each other within the same check",
"features": [
"Local peer-to-peer comparison",
"AST-based analysis",
"Variable renaming detection"
],
"consumption": 1,
"peer_only": true,
"auto_detect_base_code": false,
"available": true
},
{
"id": 1,
"name": "Standard Web Check",
"description": "Checks against web sources including GitHub, Stack Overflow, and code repositories",
"features": [
"20+ billion web sources",
"GitHub repository search",
"Stack Overflow matching",
"Open source detection"
],
"consumption": 2,
"peer_only": false,
"auto_detect_base_code": true,
"available": true
},
{
"id": 2,
"name": "Advanced Database Check",
"description": "Deep analysis against our proprietary database of code submissions",
"features": [
"Proprietary code database",
"Historical submission matching",
"Cross-institution detection",
"AI-generated code detection"
],
"consumption": 3,
"peer_only": false,
"auto_detect_base_code": true,
"available": true
}
],
"user_access": {
"has_full_access": true,
"is_pro": true,
"is_edu_verified": false,
"is_enterprise": false
},
"default_test_type": 1,
"recommended_test_type": 9,
"note": "Engine availability and quota consumption may vary based on your subscription plan"
}
Response Fields
- success — Boolean indicating the request was successful
- test_types — Array of available analysis engines
- test_types[].id — Test type (engine) identifier to use in
start checkandcreate checkendpoints - test_types[].name — Human-readable name of the detection engine
- test_types[].description — Description of what this test type analyzes
- test_types[].features — Array of capabilities included in this test type
- test_types[].consumption — Credit consumption multiplier for this test type
- test_types[].peer_only — Whether this test type only compares files within the same check
- test_types[].auto_detect_base_code — Whether base code is automatically excluded from results
- test_types[].available — Whether your account has access to this test type
- test_types[].requires — Only present when the engine needs higher access and you don't have it; describes the requirement (e.g. "Pro subscription, EDU verification, or Enterprise plan")
- user_access — Object with
has_full_access,is_pro,is_edu_verified, andis_enterprisebooleans for your account - default_test_type — The test type ID used if none is specified (currently
1) - recommended_test_type — The recommended test type ID (currently
9, Group Similarity) - note — Informational note about availability and quota consumption
Understanding Test Types
Peer Similarity
Compares all submissions within a check against each other. Best for detecting copying between students in the same class. (peer_only: true)
Web Check
Searches 20+ billion web sources including GitHub, Stack Overflow, and public repositories for matching code.
Database Check
Deep analysis against our proprietary database with AI-generated code detection and cross-institution matching.
Error Responses
Invalid or missing API key. Response body: { "success": false, "error": "Invalid API key" }.
An unexpected error occurred while fetching test types. Response body: { "success": false, "error": "...", "message": "..." }.
Code Examples
cURL
curl -X GET "https://codequiry.com/api/v1/test-types" \
-H "apikey: YOUR_API_KEY_HERE"
JavaScript
const response = await fetch('https://codequiry.com/api/v1/test-types', {
headers: { 'apikey': 'YOUR_API_KEY_HERE' }
});
const data = await response.json();
if (data.success) {
data.test_types.forEach(type => {
console.log(`${type.name} (ID: ${type.id})`);
console.log(` Available: ${type.available}`);
console.log(` Features: ${type.features.join(', ')}`);
});
console.log(`Recommended: Type ${data.recommended_test_type}`);
}