مستندات API
REST API عمومی برای اسکن عمیق DNS — ۱۲۰+ بررسی، پاسخ JSON، بدون نیاز به احراز هویت.
v—نمای کلی
- Base URL: همان دامنهٔ سایت (مثلاً
https://dns.example.com) - فرمت: JSON · UTF-8
- احراز هویت: ندارد (endpointهای عمومی)
- محدودیت نرخ: — درخواست در دقیقه به ازای هر IP
- زبان پاسخ: fa · en · ar · ru · tr · az · de · zh · ko · ja (پارامتر
langیا هدرAccept-Language) - اسکن از URL:
/example.com
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"])