API تشخیص تقلب: ارسال متن، پرس و جو گزارش.

چند تا نقطه انتهايي، امضاي حامل، قيمت شفافي اعتباري براي آژانس ها، خط توليد و ابزارهاي مجاور LMS ساخته شده

کلید API شما

برای گرفتن کلید API خود وارد شوید. کلیدها با هر حسابی می‌آیند؛ چک‌های API به صورت اعتباری محاسبه می‌شوند.

ثبت نام

نقطه پایانی

POST /api/v1/check/

ارسال یک متن برای چک کردن. با یک 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/

فهرست چک‌کردنهای اخیر شما ، جدیدترین اول. پارامترهای پرسش اختیاری: محدودیت) ۱- ۱۰۰ ، پیش‌فرض ۲۰ (و وضعیت) صف‌بندی شده ، انجام شده ، شکست خورده... (. توافق ارسالها و پشته خود را بدون ذخیره هر 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 اعتبار = 1000 کلمه اسکن شده، گردآوری شده برای هر چک؛ چک عمیق دو برابر هزینه. بسته‌های اعتباری 365 روز معتبر هستند؛ اشتراک ماهانه و شامل API در هر سطح. نقشه‌ها و بسته‌ها را ببینید

چک‌ها به صورت غیر همگام اجرا می‌شوند (بازیابی واقعی وب با نرخ محدود ۲۰ تا ۴۵ ثانیه طول می‌کشد) - به جای نگه داشتن اتصال باز، وضعیت نقطه پایانی را بررسی می‌کند. 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.