Plagiat-detekto API: sendi tekston, enketi la raporton.

Manpleno da finpunktoj, portanta aŭtentigo, travidebla kredita prezo. Konstruita por agentejoj, redaktaj kanaloj kaj LMS- apudaj iloj.

Via API-ŝlosilo

Salutu por ricevi vian API-ŝlosilon. Ŝlosiloj venas kun ĉiu konto; API-kontroloj estas fakturataj per kreditoj.

Subskribi

Finpunktoj

POST /api/v1/check/

Sendu tekston por kontroli. Redonas 202 kun check_ id. Korpo: JSON kun tekstkampo, opcia profunda buleo.

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

Laŭ la ĵurnalo, la celo de la projekto estas: "alporti al la publiko la plej bonajn informojn pri la mondo, kun la plej bonaj informoj pri la mondo, kun la plej bonaj informoj pri la mondo, kun la plej bonaj informoj pri la mondo".

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

GET /api/v1/checks/

Listigi viajn lastajn kontrolojn, plej nova unue. Opciaj serĉparametroj: limigo (1- 100, defaŭlte 20) kaj stato (envico, farita, malsukcesa...). Konciligu senditojn kaj redonu vian propran stirtablon sen konservi ĉiun check_ id.

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

Pitona ekzemplo

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

Ĝavoskripta ekzemplo

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

Prezoj

Identaj al la retejo: 1 kredito = 1000 vortoj skanitaj, rondigitaj per kontrolo; profundaj kontroloj kostas duoble. Kreditpakaĵoj validas 365 tagojn; abonoj reŝarĝas ĉiumonate kaj inkluzivas la API ĉe ĉiu nivelo. Neniu aparta API-nivelo, neniu per-seĝo-kotizo. Vidu planojn kaj pakaĵojn

Kontroloj estas rulitaj nesinkrone (reala, rapideco- limigita retpreno daŭras 20- 45 sekundojn) - enketi la statofinpunkton anstataŭ teni la konekton malfermita. HTTP 402 signifas ne sufiĉan krediton; la respondo inkluzivas kiom la kontrolo kostus.

Oftaj demandoj

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.