API ìṣàfihàn àwọn àkóónú: fi àkọlé pamọ́, fi àkọlé pamọ́.

A fọọ́lù tí a tí kọ́ nípa àwọn ààyè-iṣẹ́, àwọn ìṣàmúlò-ètò, àwọn à

Bọ́tìnì API Rẹ̀

Fi wọlé láti gba bọ́tìnì API rẹ̀. Bọ́tìnì náà tí wọ́n sí àwọn kọ́̀ǹpútà gbogbò; àwọn ìṣàyẹwo API ní a fi pamọ́ sí àwọn ẹ̀yàn.

Fikún

Àwọn ààyè-iṣẹ́ ìtàn

POST /api/v1/check/

Fi àkọlé pamọ́ sínú ìṣàmúlò-ètò. Ò fi 202 pamọ́ sí àwọn

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

Àwọn ààyè-iṣẹ́ àwọn ààyè-iṣẹ́; nigba tí ààyè-iṣẹ́ bá ṣé, àwọn àkọlé àwọn ààyè-iṣẹ́ ní pàtó: àwọn ààyè-iṣẹ́, àwọn irúfẹ́ ìṣàfarawé àwọn

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

GET /api/v1/checks/

Fi àtòjọ àwọn ìṣàmúlò-ètò tó kù jù rẹ hàn, àwọn tí a fi pamọ́ ní akọkọ. Àwọn àtòjọ-ẹ̀yàn ààtò: ìdájú (1-100, ìpéwọ̀n 20) àti ìdájú (ní àtòjọ-ẹ̀yàn, tí a tí ṣe, tí a tí kò bá). Àwọn ìṣàfihàn àti àwọn ìṣàfihàn ààtò rẹ̀ láti àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò àwọn ààtò

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

Àwọn ààtòjú 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"])

Àwọn ààtò àtòjọ-ẹ̀yàn 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));

Àwọn Ìṣàmúlò-ètò

Iyatọ si saiti: 1 credit = 1,000 ọrọ scanned, ti a ti pẹpẹ lọ si oke fun gbogbo ayẹwo; ayẹwo ti o ni igbẹkẹle jẹ owo meji. Awọn paadi ayẹwo jẹ deede fun ọjọ 365; awọn abẹwo si tunṣe ni oṣu kan ati pe o ni API ni gbogbo ipele. Ko si API ti o yatọ, ko si awọn owo-ori fun-abẹwo. Wó àwọn

Àwọn ìṣàyẹwo tí wọ́ inú ìṣàyẹwo àìdárá (ìṣàyẹwo wẹ́ẹ̀bù tí a fi àwọn ìṣàfilọ́lẹ̀ pẹ̀lú àwọn ìṣàfilọ́lẹ̀ pẹ̀lú àwọn ààtòjútó wẹ́ẹ̀bù tí a fi 20-45 àwọn ìsàlẹ̀-ilà pamọ́) - fi àwọn ààtòjú ààtò ààtòjú àwọn ààtòjú àwọn ìṣàfilọ́lẹ̀ pẹ̀lú àwọn ìṣàfilọ́lẹ̀ àwọn ìṣàfilọ́lẹ̀. HTTP 402 tumọ̀ sí àwọn àwọn ẹ̀yàn tí kò ní ìbárá; àwọn ìṣàfilọ́lẹ̀ náà ní àwọn à

Àwọn Àtòjọ-ẹ̀yàn

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.