API de detectare a plagiarii: trimite text, sondaj raportului.
O mână de endpoints, auth purtător, prețuri de credit transparente. Construit pentru agenții, conducte editoriale și instrumente adjacente LMS.
Cheia API
Autentificați-vă pentru a obține cheia API. Keys vin cu fiecare cont; verificările API sunt facturate în credite.
ÎnregistreazăPuncte finale
POST /api/v1/check/
Trimite un text pentru verificare. Returnează 202 cu un check_id. Corpul: JSON cu un câmp de text, booleanul adânc opțional.
curl -X POST https://plagiarism.free/api/v1/check/ \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "The text you want to check..."}'
GET /api/v1/check/<check_id>/
Sondaj pentru stare; atunci când starea este efectuată raportul complet este inclusă: scor, per-sentence tipuri de meci cu incredere și extracte de sursă, și lista sursă.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Înscrieți-vă verificările recente, cele mai noi. Paramele opționale de cerere: limită (1-100, implicit 20) și starea (încuietă, făcută, eșuat...).
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Exemplu Python
import time
import requests
API = "https://plagiarism.free/api/v1/check/"
HEADERS = {"Authorization": "Bearer YOUR_KEY"}
r = requests.post(API, json={"text": open("essay.txt").read()}, headers=HEADERS)
check_id = r.json()["check_id"]
while True:
report = requests.get(f"{API}{check_id}/", headers=HEADERS).json()
if report["status"] in ("done", "failed"):
break
time.sleep(3)
print(report["score_pct"], "% matched")
for source in report["sources"]:
print(source["pct_of_document"], source["url"])
Exemplu JavaScript
const API = "https://plagiarism.free/api/v1/check/";
const headers = { "Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json" };
const { check_id } = await fetch(API, {
method: "POST", headers, body: JSON.stringify({ text })
}).then(r => r.json());
let report;
do {
await new Promise(res => setTimeout(res, 3000));
report = await fetch(`${API}${check_id}/`, { headers }).then(r => r.json());
} while (!["done", "failed"].includes(report.status));
Prețuri
Identic la site: 1 credit = 1000 cuvinte scanate, rotunjite pe check; cost de verificare profund dublu. Pachetele de credit sunt valabile 365 zile; abonamentele reumplu lunar și include API la fiecare nivel. Nu nivel API separat, nici taxe pe locuri. A se vedea planurile și pachetele
Verificarea se realizează în mod sincronic (real, rate limited web recuperare durează 20-45 secunde) - sondajul de stare în loc de a păstra deschisă conexiunea. HTTP 402 înseamnă credite insuficiente; răspunsul include ceea ce va costa verificarea.