Plagiaat detectie API: Stuur tekst, peil het rapport.
Een handvol eindpunten, auth-drager, transparante kredietprijzen. Gebouwd voor agentschappen, redactionele pijpleidingen en LMS-aangrenzende tools.
Uw API-sleutel
Meld je aan om je API-sleutel te krijgen. Sleutels worden geleverd met elk account; API-controles worden gefactureerd in credits.
AanmeldenEindpunten
POST /api/v1/check/
Een tekst indienen om te controleren. Geeft 202 terug met een check_id. Lichaam: JSON met een tekstveld, optioneel diep booleaans.
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>/
Poll voor status; wanneer de status is gedaan, is het volledige rapport opgenomen: score, per-sententie match types met vertrouwen en bronfragmenten, en de bronlijst.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Laat eerst uw recente controles zien. Optionele zoekparams: limiet (1-100, standaard 20) en status (in wachtrij, gedaan, mislukt...). Vergelijk uw inzendingen en steun uw eigen dashboard zonder elke check_id op te slaan.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Python voorbeeld
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"])
JavaScript voorbeeld
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));
Prijzen
Identiek aan de site: 1 credit = 1.000 woorden gescand, afgerond per controle; diepe controles kosten dubbel. Credit packs zijn geldig 365 dagen; abonnementen bijvullen maandelijks en omvatten de API op elk niveau. Geen aparte API tier, geen per-zitplaats vergoedingen. Zie plannen en verpakkingen
Controles lopen asynchroon (echte, snelheidsbeperkte web retrieval duurt 20-45 seconden) - poll het status eindpunt in plaats van de verbinding open te houden. HTTP 402 betekent onvoldoende credits; de respons omvat wat de controle zou kosten.