API الخاص بـ أصول هوية الموقع
استخرج الشعارات والأيقونات المفضلة وأصول المعاينة وألوان السمة والملفات التعريفية المعلنة من المواقع العامة مع إسناد المصدر. استخدم هذا المرجع لاختيار عملية ودمج عقد الاستجابة الموثق.
العمليات
GET /v1/identity-assets
GET
/v1/identity-assets
الرصيد: 2
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| domain | string | مطلوب |
| skip_cache |
string
القيم المسموحة
1
|
اختياري |
حقول الرد
| الحقل | النوع |
|---|---|
cache_age_s |
integer |
domain |
string |
website_url |
string |
fetch_state |
string |
organization_name |
string | null |
assets |
object |
assets.logo_url |
string | null |
assets.logo_kind |
string | null |
assets.logo_source |
string | null |
assets.logo_verification |
string | null |
assets.favicon_url |
string | null |
assets.touch_icon_url |
string | null |
assets.preview_image_url |
string | null |
assets.manifest_url |
string | null |
assets.theme_color |
string | null |
assets.candidates[] |
object[] |
assets.candidates[] |
object |
assets.candidates[].url |
string |
assets.candidates[].kind |
string |
assets.candidates[].source |
string |
assets.candidates[].type |
string | null |
assets.candidates[].sizes |
string | null |
assets.candidates[].score |
integer |
assets.candidates[].confidence |
string |
social_profiles[] |
object[] |
social_profiles[] |
object |
social_profiles[].platform |
string |
social_profiles[].type |
string |
social_profiles[].handle |
string | null |
social_profiles[].url |
string |
social_profiles[].source |
string |
social_profiles[].confidence |
string |
confidence |
number |
evidence[] |
string[] |
meta |
object |
meta.checked_at |
string |
meta.cached |
boolean |
meta.fetch_transport |
string |
meta.fetch_error |
string |
طلب مثال
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/identity-assets?domain=example.com&skip_cache=1"const response = await fetch("https://domscan.net/v1/identity-assets?domain=example.com&skip_cache=1", {
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/identity-assets?domain=example.com&skip_cache=1",
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/identity-assets?domain=example.com&skip_cache=1", 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/identity-assets?domain=example.com&skip_cache=1")
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))مثال الرد
{
"domain": "www.example.com",
"website_url": "https://www.example.com/",
"fetch_state": "ok",
"organization_name": "Example Co",
"assets": {
"logo_url": "https://www.example.com/logo.png",
"logo_kind": "logo",
"logo_source": "json_ld:logo",
"logo_verification": "verified",
"favicon_url": "https://www.example.com/favicon.ico",
"touch_icon_url": "https://www.example.com/apple-touch-icon.png",
"preview_image_url": "https://www.example.com/og.png",
"manifest_url": "https://www.example.com/site.webmanifest",
"theme_color": "#0b5fff",
"candidates": [
{
"url": "https://www.example.com/logo.png",
"kind": "logo",
"source": "json_ld:logo",
"type": null,
"sizes": null,
"score": 100,
"confidence": "high"
},
{
"url": "https://www.example.com/apple-touch-icon.png",
"kind": "touch_icon",
"source": "link:apple-touch-icon",
"type": null,
"sizes": "180x180",
"score": 80,
"confidence": "high"
},
{
"url": "https://www.example.com/favicon.ico",
"kind": "favicon",
"source": "link:icon",
"type": null,
"sizes": "48x48",
"score": 60,
"confidence": "medium"
},
{
"url": "https://www.example.com/og.png",
"kind": "preview_image",
"source": "open_graph:image",
"type": null,
"sizes": null,
"score": 30,
"confidence": "low"
}
]
},
"social_profiles": [
{
"platform": "linkedin",
"type": "social",
"handle": "example-co",
"url": "https://www.linkedin.com/company/example-co",
"source": "same_as",
"confidence": "high"
},
{
"platform": "github",
"type": "developer",
"handle": "example-co",
"url": "https://github.com/example-co",
"source": "same_as",
"confidence": "high"
}
],
"confidence": 1,
"evidence": [
"organization_name",
"structured_logo",
"asset_verified",
"declared_icon",
"declared_social_profiles"
],
"meta": {
"checked_at": "2026-10-09T10:15:30.000Z",
"cached": false,
"fetch_transport": "edge_relay"
}
}
رموز حالة HTTP
200OK400طلب غير صالح401غير مصرح402الدفع مطلوب429طلبات كثيرة جداً502بوابة غير صالحة
POST /v1/identity-assets/bulk
POST
/v1/identity-assets/bulk
الرصيد: 2/item
معاملات الاستعلام
| المعامل | النوع | مطلوب |
|---|---|---|
| dry_run |
string
القيم المسموحة
true
|
اختياري |
معاملات متن الطلب
| المعامل | النوع | مطلوب |
|---|---|---|
| domains | string[] | مطلوب |
حقول الرد
| الحقل | النوع |
|---|---|
results[] |
object[] |
results[] |
object |
results[].input |
string |
results[].data |
object |
results[].error |
object |
results[].error.error |
object |
results[].error.error.code |
string |
results[].error.error.type |
string |
results[].error.error.message |
string |
results[].error.error.status |
integer |
results[].error.error.retryable |
boolean |
results[].error.error.request_id |
string |
results[].error.error.suggestion |
string |
results[].error.error.details |
object |
results[].error.error.retry_after |
integer |
results[].error.error.docs_url |
string |
meta |
object |
meta.total |
integer |
meta.succeeded |
integer |
meta.failed |
integer |
meta.unknown |
integer |
meta.max_items |
integer |
meta.credits_per_item |
integer |
meta.duration_ms |
integer |
طلب مثال
curl -X POST "https://domscan.net/v1/identity-assets/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"domains": [
"stripe.com",
"github.com"
]
}'const response = await fetch("https://domscan.net/v1/identity-assets/bulk", {
method: "POST",
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({
"domains": [
"stripe.com",
"github.com"
]
}),
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.post(
"https://domscan.net/v1/identity-assets/bulk",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
json={
"domains": [
"stripe.com",
"github.com",
],
},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"domains": [
"stripe.com",
"github.com"
]
}`)
req, err := http.NewRequest(http.MethodPost, "https://domscan.net/v1/identity-assets/bulk", body)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
req.Header.Set("Content-Type", "application/json")
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/identity-assets/bulk")
request = Net::HTTP::Post.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
request["Content-Type"] = "application/json"
request.body = JSON.generate({
"domains" => [
"stripe.com",
"github.com"
]
})
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))مثال الرد
{
"results": [
{
"input": "example",
"data": {},
"error": {
"error": {
"code": "INVALID_DOMAIN",
"type": "authentication_error",
"message": "Invalid domain format",
"status": 400,
"retryable": false,
"request_id": "request-id",
"docs_url": "https://domscan.net/docs/check-availability",
"suggestion": "example",
"details": {},
"retry_after": 300
}
}
}
],
"meta": {
"total": 1,
"succeeded": 1,
"failed": 1,
"unknown": 1,
"max_items": 10,
"credits_per_item": 2,
"duration_ms": 1
}
}
رموز حالة HTTP
200OK400طلب غير صالح401غير مصرح402الدفع مطلوب409HTTP 409422HTTP 422429طلبات كثيرة جداً