رابطة كشف السرقة: تقديم النص، استفتاء التقرير.

عدد قليل من النقاط النهائية، وشهادة حامل، وتسعير الائتمان الشفافة، مصنوعة من أجل الوكالات، وخطوط الإنتاج والأدوات المجاورة لنظام إدارة التعليم.

مفتاح 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"])

مثال 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));

التسعير

1 = 000 1 كلمة مسحها، مقربة إلى أعلى لكل فحص؛ وتكلفة الفحوص العميقة ضعف التكلفة. ومجموعات الائتمانات صالحة لمدة 365 يوما؛ وتتم إعادة شحن الاشتراكات شهريا وتشمل البرنامج المساعد على كل مستوى. ولا يوجد مستوى مستقل للبرنامج المساعد، ولا توجد رسوم لكل مقعد. انظر الخطط والبرامج

تجري عمليات التحقق بشكل غير متزامن (يستغرق استرجاع الويب الحقيقي المحدود بالمعدل 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.