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"

ตัวอย่างไพทอน

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

ตัวอย่างจาวาสคริปต์

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 credit = 1,000 คำสแกน, รอบขึ้นต่อการตรวจสอบ; การตรวจสอบลึกมีค่าใช้จ่ายสองเท่า แพ็คเกจ credit มีผลใช้ได้ 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.