API الخاص بـ API لروابط الصفحة وفحص الروابط المعطلة
اسرد روابط الصفحة واعثر على المعطلة منها بفحوص حالة محدودة العدد. استخدم هذا المرجع لاختيار عملية ودمج عقد الاستجابة الموثق.
العمليات
GET /v1/links
GET
/v1/links
الرصيد: 2-6
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| url | string | مطلوب |
| render | boolean | اختياري |
| check | boolean | اختياري |
| type |
string
القيم المسموحة
allinternalexternal
الافتراضي
all
|
اختياري |
| limit |
integer
الافتراضي
200
|
اختياري |
حقول الرد
| الحقل | النوع |
|---|---|
url |
string |
final_url |
string |
status |
string |
reason |
string | null |
checked_at |
string |
fetch |
object |
fetch.http_status |
integer | null |
fetch.final_url |
string |
fetch.content_type |
string | null |
fetch.bytes |
integer |
fetch.truncated |
boolean |
fetch.redirect_count |
integer |
fetch.duration_ms |
integer |
fetch.rendered |
boolean |
summary |
object |
summary.total |
integer |
summary.internal |
integer |
summary.external |
integer |
summary.nofollow |
integer |
summary.empty_anchor |
integer |
summary.unique_urls |
integer |
summary.external_domains |
integer |
links[] |
object[] |
links[] |
object |
links[].url |
string |
links[].text |
string |
links[].type |
string |
links[].rel[] |
string[] |
links[].nofollow |
boolean |
links[].image_alt |
string | null |
has_more |
boolean |
check |
object |
check.unique_targets |
integer |
check.checked |
integer |
check.not_checked |
integer |
check.ok |
integer |
check.redirect |
integer |
check.broken |
integer |
check.unknown |
integer |
check.unchecked |
integer |
check.skipped |
integer |
check.results[] |
object[] |
check.results[] |
object |
check.results[].url |
string |
check.results[].state |
string |
check.results[].http_status |
integer | null |
check.results[].final_url |
string | null |
check.results[].redirect_count |
integer |
check.results[].reason |
string | null |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/links?url=https%3A%2F%2Fexample.com&render=false&check=false&type=all&limit=25"const response = await fetch("https://domscan.net/v1/links?url=https%3A%2F%2Fexample.com&render=false&check=false&type=all&limit=25", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/links?url=https%3A%2F%2Fexample.com&render=false&check=false&type=all&limit=25",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/links?url=https%3A%2F%2Fexample.com&render=false&check=false&type=all&limit=25", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/links?url=https%3A%2F%2Fexample.com&render=false&check=false&type=all&limit=25")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))مثال الرد
{
"url": "https://example.com/shoes/trail-runner",
"final_url": "https://example.com/shoes/trail-runner",
"status": "ok",
"reason": null,
"checked_at": "2026-10-13T12:00:00.000Z",
"fetch": {
"http_status": 200,
"final_url": "https://example.com/shoes/trail-runner",
"content_type": "text/html",
"bytes": 3535,
"truncated": false,
"redirect_count": 0,
"duration_ms": 412,
"rendered": false
},
"summary": {
"total": 7,
"internal": 5,
"external": 2,
"nofollow": 1,
"empty_anchor": 1,
"unique_urls": 7,
"external_domains": 2
},
"links": [
{
"url": "https://example.com/",
"text": "Home",
"type": "internal",
"rel": [],
"nofollow": false,
"image_alt": null
},
{
"url": "https://example.com/shoes",
"text": "Shoes",
"type": "internal",
"rel": [],
"nofollow": false,
"image_alt": null
},
{
"url": "https://example.com/missing-page",
"text": "Old sale",
"type": "internal",
"rel": [],
"nofollow": false,
"image_alt": null
}
],
"has_more": true,
"check": {
"unique_targets": 7,
"checked": 7,
"not_checked": 0,
"ok": 4,
"redirect": 1,
"broken": 1,
"unknown": 1,
"unchecked": 0,
"skipped": 0,
"results": [
{
"url": "https://example.com/",
"http_status": 200,
"final_url": "https://example.com/",
"redirect_count": 0,
"state": "ok",
"reason": null
},
{
"url": "https://example.com/shoes",
"http_status": 200,
"final_url": "https://example.com/shoes",
"redirect_count": 1,
"state": "redirect",
"reason": null
},
{
"url": "https://example.com/missing-page",
"http_status": 404,
"final_url": "https://example.com/missing-page",
"redirect_count": 0,
"state": "broken",
"reason": "http_404"
},
{
"url": "https://partner.example.org/fit-guide",
"http_status": 403,
"final_url": "https://partner.example.org/fit-guide",
"redirect_count": 0,
"state": "unknown",
"reason": "blocked"
}
]
}
}
رموز حالة HTTP
200OK400طلب غير صالح401غير مصرح402الدفع مطلوب429طلبات كثيرة جداً