مرجع المطورين
ملف تعريف المجال
استكشف توثيق API الخاص بـ ملف تعريف المجال، بما في ذلك معلمات الطلب وحقول الاستجابة وأمثلة الشفرة ومعالجة الأخطاء لتكاملات DomScan.
ملف تعريف المجال
احصل على بيانات تسجيل RDAP معايرة بما في ذلك المسجل وتاريخ الإنشاء والانتهاء وخوادم الأسماء وحالة DNSSEC وملخص جهات الاتصال. يتضمن عمر المجال المحسوب مسبقاً والأيام المتبقية حتى انتهاء الصلاحية للراحة.
GET
/v1/profile
معاملات الاستعلام
| المعامل | النوع | Description |
|---|---|---|
| domain مطلوب | string | اسم المجال الكامل (على سبيل المثال، github.com) |
حقول الرد
| الحقل | النوع | Description |
|---|---|---|
age_days | number | عمر المجال بالأيام منذ التسجيل |
days_until_expiry | number | الأيام المتبقية حتى انتهاء صلاحية المجال |
dnssec | boolean | ما إذا كان DNSSEC مفعلاً |
status | array | أكواد حالة EPP (clientDeleteProhibited وما إلى ذلك) |
طلب مثال
curl -H "X-API-Key: your-api-key" "https://domscan.net/v1/profile?domain=github.com"
const domscanFetch = (url, options = {}) =>
fetch(url, {
...options,
headers: { ...options.headers, "X-API-Key": "your-api-key" },
});
const response = await domscanFetch(
"https://domscan.net/v1/profile?domain=github.com"
);
const data = await response.json();
console.log(`Domain age: ${data.age_days} days`);
console.log(`Expires in: ${data.days_until_expiry} days`);
console.log(`DNSSEC: ${data.dnssec ? 'Enabled' : 'Disabled'}`);
import requests
domscan = requests.Session()
domscan.headers.update({"X-API-Key": "your-api-key"})
response = domscan.get(
"https://domscan.net/v1/profile",
params={"domain": "github.com"}
)
data = response.json()
print(f"Domain age: {data['age_days']} days ({data['age_days'] // 365} years)")
print(f"Expires in: {data['days_until_expiry']} days")
مثال الرد
{
"domain": "github.com",
"registered": true,
"registrar": "MarkMonitor Inc.",
"registrar_url": "https://www.markmonitor.com",
"created_date": "2007-10-09T18:20:50Z",
"updated_date": "2024-09-08T09:19:27Z",
"expiry_date": "2026-10-09T07:00:00Z",
"age_days": 6310,
"days_until_expiry": 628,
"nameservers": ["dns1.p08.nsone.net", "dns2.p08.nsone.net"],
"dnssec": true,
"status": ["clientDeleteProhibited", "clientTransferProhibited"],
"contacts": {
"registrant_name": "GitHub, Inc.",
"registrant_org": "GitHub, Inc.",
"registrant_country": "US"
},
"privacy": {
"is_private": false,
"privacy_service": null
}
}
POST
/v1/profile/bulk
معاملات الجسم
| المعامل | النوع | مطلوب |
|---|---|---|
| domains | string[] | مطلوب |
حقول الرد
| الحقل | النوع |
|---|---|
results[] |
unknown[] |
meta |
object |
meta.total |
integer |
meta.succeeded |
integer |
meta.failed |
integer |
meta.max_items |
integer |
meta.credits_per_item |
integer |
meta.duration_ms |
integer |
طلب مثال
curl -X POST "https://domscan.net/v1/profile/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"domains": [
"example.com",
"cloudflare.com"
]
}'
مثال الرد
{
"results": [
null
],
"meta": {
"total": 1,
"succeeded": 1,
"failed": 1,
"max_items": 10,
"credits_per_item": 1,
"duration_ms": 1
}
}
GET
/v1/overview
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| domain | string | مطلوب |
حقول الرد
| الحقل | النوع |
|---|---|
domain |
string |
health |
object |
health.dns_ok |
boolean | null |
health.https_ok |
boolean | null |
dns |
object |
dns.has_a |
boolean | null |
dns.has_aaaa |
boolean | null |
dns.has_mx |
boolean | null |
dns.nameservers[] |
string[] |
registration |
object |
registration.registered |
boolean | null |
registration.registrar |
string | null |
registration.created_date |
string | null |
registration.expiry_date |
string | null |
registration.age_days |
integer | null |
registration.days_until_expiry |
integer | null |
registration.dnssec |
boolean | null |
reputation |
object |
reputation.score |
number | null |
reputation.grade |
string | null |
popularity |
object |
popularity.rank |
integer | null |
popularity.bucket |
string | null |
component_freshness |
object |
component_freshness.cache_status |
string |
component_freshness.checked_at |
string |
component_freshness.component_count |
integer |
component_freshness.fresh_component_count |
integer |
component_freshness.degraded_component_count |
integer |
component_freshness.components |
object |
component_freshness.components.health |
object |
component_freshness.components.health.source |
string |
component_freshness.components.health.state |
string |
component_freshness.components.health.checked_at |
string |
component_freshness.components.health.evidence_count |
integer |
component_freshness.components.health.reason |
string | null |
component_freshness.components.dns |
object |
component_freshness.components.dns.source |
string |
component_freshness.components.dns.state |
string |
component_freshness.components.dns.checked_at |
string |
component_freshness.components.dns.evidence_count |
integer |
component_freshness.components.dns.reason |
string | null |
component_freshness.components.registration |
object |
component_freshness.components.registration.source |
string |
component_freshness.components.registration.state |
string |
component_freshness.components.registration.checked_at |
string |
component_freshness.components.registration.evidence_count |
integer |
component_freshness.components.registration.reason |
string | null |
component_freshness.components.reputation |
object |
component_freshness.components.reputation.source |
string |
component_freshness.components.reputation.state |
string |
component_freshness.components.reputation.checked_at |
string |
component_freshness.components.reputation.evidence_count |
integer |
component_freshness.components.reputation.reason |
string | null |
component_freshness.components.popularity |
object |
component_freshness.components.popularity.source |
string |
component_freshness.components.popularity.state |
string |
component_freshness.components.popularity.checked_at |
string |
component_freshness.components.popularity.evidence_count |
integer |
component_freshness.components.popularity.reason |
string | null |
query_time_ms |
integer |
checked_at |
string |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/overview?domain=example.com"
مثال الرد
{
"domain": "example.com",
"health": {
"dns_ok": true,
"https_ok": true
},
"dns": {
"has_a": true,
"has_aaaa": true,
"has_mx": true,
"nameservers": [
"string"
]
},
"registration": {
"registered": true,
"registrar": "string",
"created_date": "2026-04-15",
"expiry_date": "2026-04-15",
"age_days": 1,
"days_until_expiry": 1,
"dnssec": true
},
"reputation": {
"score": 1,
"grade": "string"
},
"popularity": {
"rank": 1,
"bucket": "string"
},
"component_freshness": {
"cache_status": "hit",
"checked_at": "2026-04-15T12:00:00Z",
"component_count": 1,
"fresh_component_count": 1,
"degraded_component_count": 1,
"components": {
"health": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"dns": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"registration": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"reputation": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
},
"popularity": {
"source": "string",
"state": "fresh",
"checked_at": "2026-04-15T12:00:00Z",
"evidence_count": 1,
"reason": "upstream_unavailable"
}
}
},
"query_time_ms": "2026-04-15T12:00:00Z",
"checked_at": "2026-04-15T12:00:00Z"
}
GET
/v1/popularity
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| domain | string | مطلوب |
| include_history |
boolean
الافتراضي
false
|
اختياري |
| history_limit |
integer
الافتراضي
30
|
اختياري |
حقول الرد
| الحقل | النوع |
|---|---|
domain |
string |
status |
string |
rank |
integer | null |
bucket |
string |
source |
object |
source.id |
string |
source.url |
string |
source.list_date |
string | null |
source.provenance |
object |
source.provenance.owner |
string |
source.provenance.source_url |
string |
source.provenance.methodology_url |
string |
source.provenance.access_method |
string |
source.provenance.cost |
string |
source.provenance.runtime_rate_limits |
string |
source.provenance.terms_status |
string |
source.provenance.expected_freshness |
string |
source.provenance.maintenance_risk |
string |
source.provenance.fallback_behavior |
string |
source.provenance.last_verified |
string |
freshness |
object |
freshness.cache_status |
string |
freshness.ttl_seconds |
integer |
checked_at |
string |
result_count |
integer | null |
empty_result |
boolean |
history |
object |
history.collection |
string |
history.complete_daily_series |
boolean |
history.available |
boolean |
history.observations[] |
object[] |
history.observations[] |
object |
history.observations[].domain |
string |
history.observations[].rank |
integer | null |
history.observations[].bucket |
string |
history.observations[].status |
string |
history.observations[].source |
string |
history.observations[].list_date |
string | null |
history.observations[].observed_on |
string |
history.observations[].checked_at |
string |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/popularity?domain=example.com&include_history=example.com&history_limit=example.com"
مثال الرد
{
"domain": "example.com",
"status": "ranked",
"rank": 1,
"bucket": "top-100",
"source": {
"id": "tranco",
"url": "https://example.com",
"list_date": "2026-04-15",
"provenance": {
"owner": "string",
"source_url": "https://example.com",
"methodology_url": "https://example.com",
"access_method": "public_domain_rank_api",
"cost": "none",
"runtime_rate_limits": "2026-04-15T12:00:00Z",
"terms_status": "string",
"expected_freshness": "daily",
"maintenance_risk": "medium",
"fallback_behavior": "string",
"last_verified": "2026-04-15"
}
},
"freshness": {
"cache_status": "hit",
"ttl_seconds": 300
},
"checked_at": "2026-04-15T12:00:00Z",
"result_count": 0,
"empty_result": true,
"history": {
"collection": "lookup_driven",
"complete_daily_series": false,
"available": true,
"observations": [
{
"domain": "example.com",
"rank": 1,
"bucket": "top-100",
"status": "ranked",
"source": "tranco",
"list_date": "2026-04-15",
"observed_on": "2026-04-15",
"checked_at": "2026-04-15T12:00:00Z"
}
]
}
}
GET
/v1/popularity/history
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| domain | string | مطلوب |
| limit |
integer
الافتراضي
30
|
اختياري |
حقول الرد
| الحقل | النوع |
|---|---|
domain |
string |
collection |
string |
complete_daily_series |
boolean |
result_count |
integer |
empty_result |
boolean |
observations[] |
object[] |
observations[] |
object |
observations[].domain |
string |
observations[].rank |
integer | null |
observations[].bucket |
string |
observations[].status |
string |
observations[].source |
string |
observations[].list_date |
string | null |
observations[].observed_on |
string |
observations[].checked_at |
string |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/popularity/history?domain=example.com&limit=25"
مثال الرد
{
"domain": "example.com",
"collection": "lookup_driven",
"complete_daily_series": false,
"result_count": 1,
"empty_result": true,
"observations": [
{
"domain": "example.com",
"rank": 1,
"bucket": "top-100",
"status": "ranked",
"source": "tranco",
"list_date": "2026-04-15",
"observed_on": "2026-04-15",
"checked_at": "2026-04-15T12:00:00Z"
}
]
}