Plagiarism detection API: submit text, poll the report.

Một số điểm cuối, xác thực người mang, giá tín dụng minh bạch. Được xây dựng cho các cơ quan, các ống dẫn biên tập và các công cụ LMS-gần.

Chìa khóa API của bạn

Đăng nhập để lấy khóa API của bạn. Các khóa được cung cấp với mỗi tài khoản; kiểm tra API được tính bằng tín dụng.

Đăng ký

Điểm kết thúc

POST /api/v1/check/

Gửi văn bản để kiểm tra. Trả lại 202 với check_ id. Thân: JSON với một trường văn bản, boolean sâu tùy chọ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>/

Poll for status; khi status được hoàn thành, báo cáo đầy đủ được bao gồm: điểm số, các loại tương ứng với từng câu với sự tin tưởng và các đoạn trích dẫn nguồn, và danh sách nguồn.

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

GET /api/v1/checks/

Danh sách các kiểm tra gần đây, mới nhất trước. Các tham số truy vấn tùy chọn: giới hạn (1- 100, mặc định 20) và trạng thái (xếp hàng, hoàn thành, thất bại...). Hợp nhất các gửi và lưu lại bảng điều khiển của riêng bạn mà không lưu mỗi check_ id.

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

Ví dụ 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"])

Ví dụ 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));

Giá

Đúng với trang web: 1 tín dụng = 1. 000 từ được quét, tròn lên mỗi kiểm tra; kiểm tra sâu có giá gấp đôi. Bộ tín dụng có hiệu lực 365 ngày; đăng ký được nạp lại hàng tháng và bao gồm API ở mọi cấp. Không có cấp API riêng biệt, không có phí mỗi chỗ. Xem kế hoạch và gói

Kiểm tra chạy không đồng bộ (thật sự, tốc độ giới hạn truy cập web mất 20-45 giây) - hỏi điểm cuối trạng thái thay vì giữ kết nối mở. HTTP 402 có nghĩa là không đủ tín dụng; câu trả lời bao gồm giá trị kiểm tra.

Câu hỏi thường gặp

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.