Плагиат аныктоо API: текстти жөнөтүү, отчетту сурамжылоо.

Бир нече аяктоо пункттары, өнөктөштүн аутентификациясы, ачык кредиттик баалар. Агенттиктерге, редакциялык конвейерлерге жана LMS-ге жакын аспаптарга ылайыкталган.

Сиздин API ачкычы

API ачкычыңызды алуу үчүн компьютерге кирүү керек. Ачкычтар ар бир эсепке алуу менен келет; API текшерүүлөрү кредиттер менен эсептелет.

Каттоо

Акыркы пункттар

POST /api/v1/check/

Текст для проверки. Возвращает 202 с check_id. Тело: JSON с текстовым полем, необязательный глубокий логический.

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

Статус боюнча сурамжылоо; абал бүткөндө толук отчетту камтыйт: балл, ар бир сүйлөмдүн окшоштук түрлөрү ишенимдүүлүк жана булак издөөлөрү менен, жана булак тизмеси.

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

GET /api/v1/checks/

Жакында жүргүзүлгөн текшерүүлөрүңүздүн тизмесин жаңысы биринчи болуп көрсөтүү. Запростун опционалдык параметрлери: чектөө (1-100, адаттагы 20) жана абал (кабыл алынган, аткарылган, ката...). Жөнөтүүлөрүңүздү бирдикте сактоо жана ар бир check_idди сактоосуз өз панелиңизди сактоо.

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

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

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

Баалар

Сайтка окшош: 1 кредит = 1000 сөз, бир текшерүүдөн кийин жогоруга жылдырылган; терең текшерүү эки эсе кымбатка турат. Кредит пакеттери 365 күнгө чейин күчүндө болот; жазылуу ай сайын жаңыланып турат жана ар бир деңгээлде API'ни камтыйт. Ар бир API'нин өзүнчө түрү жок, бир орун үчүн төлөм жок. Пландар жана пакеттерди көрүү

Текшерүү асинхрондуу жүргүзүлөт (реалдуу, ылдамдыгы чектелген веб-талап 20-45 секундду талап кылат) - байланышты ачуу ордуна абалдын акыркы пунктун сурап алуу. HTTP 402 - жетишсиз кредиттер; жооп текшерүү үчүн канча акча керектигин көрсөтөт.

Кайра-кайра берилүүчү суроолор

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.