مستندات API

REST API عمومی برای اسکن عمیق DNS — ۱۲۰+ بررسی، پاسخ JSON، بدون نیاز به احراز هویت.

v—

نمای کلی

Endpointها

GET /api/health

بررسی سلامت سرویس.

Response 200
{"status":"ok","version":"1.0.0"}
GET /api/docs

مشخصات کامل API به صورت JSON (همان منبعی که این صفحه از آن استفاده می‌کند).

POST /api/scan

اجرای اسکن کامل DNS برای یک دامنه.

پارامترمحلنوعتوضیح
domain* body string نام دامنه (مثل example.com)
lang body / query fa | en | ar زبان برچسب‌ها و توصیه‌ها
Accept-Language header string جایگزین lang در body
Request body
{
  "domain": "cloudflare.com",
  "lang": "en"
}

ساختار پاسخ اسکن

domain string

lang string

scanned_at string (ISO 8601)

summary object — total, ok, warnings, errors, duration_ms

categories[] array — id, title, checks[]

هر check: name, sub, status (ok|warn|err|info), value, time_ms, advice

Response 200 (truncated)
{
  "domain": "cloudflare.com",
  "lang": "en",
  "scanned_at": "2026-05-24T12:00:00",
  "summary": {
    "total": 120,
    "ok": 45,
    "warnings": 12,
    "errors": 3,
    "duration_ms": 1850
  },
  "categories": [
    {
      "id": "records",
      "title": "Standard DNS records",
      "checks": [
        {
          "name": "A",
          "sub": "IPv4 address",
          "status": "ok",
          "value": "104.16.0.1",
          "time_ms": 42,
          "advice": null
        }
      ]
    }
  ]
}

کدهای خطا

200

اسکن موفق

400

دامنه نامعتبر

403

IP مسدود شده

429

محدودیت نرخ

نمونه کد

cURL
curl -X POST "/api/scan?lang=en" \
  -H "Content-Type: application/json" \
  -d '{"domain":"example.com","lang":"en"}'
JavaScript
const res = await fetch('/api/scan?lang=en', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ domain: 'example.com', lang: 'en' }),
});
const data = await res.json();
console.log(data.summary);
Python
import httpx

r = httpx.post("https://your-domain/api/scan", json={
    "domain": "example.com",
    "lang": "en",
})
print(r.json()["summary"])