Plagiarismi avastamise API: esitada tekst, küsitleda aruande.

Käputäis tulemusnäitajaid, esitaja author, läbipaistev krediidi hinnakujundus. Ehitatud agentuuridele, toimetus torujuhtmetele ja LMS-kõrvaltööriistadele.

API võti

Logi sisse, et saada oma API võti. Võtmed tulevad iga konto; API kontrolli arve krediiti.

Registreeru

Tulemusnäitajad

POST /api/v1/check/

Saatke kontrollimiseks tekst. Tagastab 202 kontroll_ id. Keha: JSON tekstiväljaga, vabatahtlik sügav tõeväärtus.

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>/

Küsitlus staatuse kohta; kui staatus on tehtud, lisatakse täielik aruanne: skoor, ühemeelelisusega matðitüübid koos usalduse ja allikate väljavõtetega ning lähteandmete nimekiri.

curl https://plagiarism.free/api/v1/check/CHECK_ID/ \
  -H "Authorization: Bearer YOUR_KEY"

GET /api/v1/checks/

Loetle oma viimaseid kontrolle, kõigepealt uusim. Valikulised päringuparamid: piirang (1- 100, vaikimisi 20) ja staatus (queued, tehtud, nurjus...). Reconcile esildised ja tagasi oma armatuurlaud ilma iga check_ id- i salvestamata.

curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \
  -H "Authorization: Bearer YOUR_KEY"

Pythoni näide

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"])

JavaScripti näide

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));

Hinnakujundus

Sama, mis saidil: 1 krediit = 1000 sõna skaneeritud, ümardatud iga kontrolli; sügav kontroll maksab topelt. Krediitpaketid kehtivad 365 päeva; tellimused täita iga kuu ja lisada API igal tasandil. Ei eraldi API tase, ei ühe koha kohta tasud. Vt plaanid ja pakendid

Kontroll toimub asünkroonselt (tegelik, määr piiratud veebiotsingu võtab 20-45 sekundit) - küsitleda staatuse tulemusnäitaja asemel hoides ühenduse avatud. HTTP 402 tähendab ebapiisavat krediiti; vastus sisaldab, mida kontroll maksaks.

Korduma kippuvad küsimused

Two endpoints. POST /api/v1/check/ with your text returns a check_id; GET /api/v1/check/check_id/ returns status while the check runs and the full report JSON (score, matched sentences, sources) when done. Auth is a Bearer key from your account page. Code samples in curl, Python and JavaScript are below.

The same transparent unit as the site: 1 credit per 1,000 words scanned, rounded up per check. Credit packs start at $4.99 for 30 credits and are valid a full year; the $7.99/month Starter plan includes 60 credits and API access. No per-seat fees, no separate API pricing tier.

A check takes roughly 20-45 seconds because it performs real, rate-limited web retrieval and page comparison - the API is asynchronous for that reason. Submissions queue fairly; paid checks get priority. Poll the status endpoint every few seconds rather than holding the connection open.

Everything the web report shows: overall matched percentage, per-sentence match type (exact / near / none) with confidence, the matched source excerpt for each flagged sentence, and the source list with URLs and per-source match percentages. Enough to render your own report UI or gate a workflow.

Yes - that is what it is for: LMS-adjacent tools, editorial workflows, agency content pipelines. Volume is metered purely by credits, and the per-check word cap is 25000 words. If you need sustained high volume, contact us and we will provision for it rather than let queues degrade.