API pengesanan plagiarisme: hantar teks, sokong laporan.
Segelintir titik akhir, pengesahan pembawa, harga kredit transparan. Dibina untuk agensi, paip editorial dan alat LMS-berdampingan.
Kekunci API anda
Log masuk untuk mendapatkan kekunci API anda. Kekunci datang dengan setiap akaun; semakan API dicaj dalam kredit.
Daftar MasukTitik Akhir
POST /api/v1/check/
Hantar teks untuk diperiksa. Kembalikan 202 dengan check_id. Badan: JSON dengan medan teks, boolean dalam pilihan.
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>/
Soal selidik untuk status; apabila status selesai laporan penuh dimasukkan: skor, jenis sepadan per-frasa dengan keyakinan dan huraian sumber, dan senarai sumber.
curl https://plagiarism.free/api/v1/check/CHECK_ID/ \ -H "Authorization: Bearer YOUR_KEY"
GET /api/v1/checks/
Senarai semakan baru-baru ini anda, terkini pertama. Parameter pertanyaan opsyenal: had (1-100, default 20) dan status (berbaris, selesai, gagal...). Selaraskan penyerahan dan simpan papan pemuka anda sendiri tanpa menyimpan setiap check_id.
curl "https://plagiarism.free/api/v1/checks/?limit=20&status=done" \ -H "Authorization: Bearer YOUR_KEY"
Contoh 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"])
Contoh 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));
Harga
Sama seperti laman web: 1 kredit = 1,000 perkataan diimbas, diputarkan setiap periksa; periksa mendalam kos dua kali ganda. Pakej kredit sah 365 hari; langganan diisi semula setiap bulan dan termasuk API pada setiap tahap. Tiada lapisan API terpisah, tiada bayaran per-tempat duduk. Lihat rancangan dan pakej
Pemeriksaan berjalan secara asynchronous (sebenar, kadar- terhad web pemulihan mengambil 20- 45 saat) - poll status titik akhir daripada menahan sambungan terbuka. HTTP 402 bermakna kredit tidak mencukupi; jawapan termasuk apa yang periksa akan kos.