Plagiarizm tapmak API: metiny iber, habary sora.

Bir näçe ahtarlyk, bärçi awtorlaşdyrmak, açyk kredit bahalandyrmak. agentlikler, redaksiýa öwrümleri we LMS-a ýakyn esbaplar üçin gurlan.

Siziň API adynyz

API adyny almak üçin log in et. Alyçlar her hasabyň bilen gelyar; API barlaglary kreditler bilen tölenyar.

_Gün

_Soňky

POST /api/v1/check/

Bir metiny barlamak üçin iber. 202'i bir check_id bilen gaýtar. Bedeni: JSON bir metin meýdançasynda, saýlawly derin bolýan.

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

Halt üçin soralyş; halt tamamlananda doly hat içer: baha, sözler üçin meňzeşlik tipleri we çeşme öwrümleri bilen we çeşme sanawy.

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

GET /api/v1/checks/

Siziň soňky barlaglaryňyzy sana, iň täzesi öňe. Saýlanan soraglar parametrleri: çäk (1-100, öň bellenen 20) we ýagdaý (wagtda, tamamlandy, hata etdi...). Her bir check_id saklamazdan ibermeleri birleşdir we öz daşbornuňyzy arka galdyr.

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

Python mysal

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 mysal

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

_Sat

Saýt bilen deň: 1 kredit = 1000 söz skanlan, her barlag üçin dogrylan; derin barlaglar iki esse bahaly. Kredit paketleri 365 gün geçerli; subskrypsiýalar aýlyk doldurylýar we her bir derejede API'yi içer. Özbeginde API derejesi ýok, her bir orun üçin töleg ýok. Planlary we paketleri gör

Barlamalar asynchronously işleýär (akyly, tizligi çäkli web alşy 20-45 sekuntlar dowam edýär) - baglanyşygy aç saklamakdan başga halyň ahyryny soraýar. HTTP 402 ýeterlik krediti aňladýar; jogap barlamanyň bahasyny içer.

Köp soralýan soraglar

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.