> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/ar/docs/products/identity-assets

# API الخاص بـ أصول هوية الموقع

استخرج الشعارات والأيقونات المفضلة وأصول المعاينة وألوان السمة والملفات التعريفية المعلنة من المواقع العامة مع إسناد المصدر. استخدم هذا المرجع لاختيار عملية ودمج عقد الاستجابة الموثق.

[عرض صفحة المنتج](https://domscan.net/ar/company-logo-api)

## العمليات

GET `/v1/identity-assets` [عرض مرجع API](https://domscan.net/ar/docs/products/identity-assets#getWebsiteIdentityAssets)

POST `/v1/identity-assets/bulk` [عرض مرجع API](https://domscan.net/ar/docs/products/identity-assets#bulkGetWebsiteIdentityAssets)

## GET `/v1/identity-assets`

العملية: `getWebsiteIdentityAssets`
الوحدات والمصادقة: 2
المصادقة مطلوبة

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 |

#### طلب مثال

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/identity-assets?domain=example.com&skip_cache=1"
```

```javascript
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);
```

```python
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())
```

```go
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"))

```ruby
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")

#### مثال الرد

```json
{
  "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

- `200` OK
- `400` طلب غير صالح
- `401` غير مصرح
- `402` الدفع مطلوب
- `429` طلبات كثيرة جداً
- `502` بوابة غير صالحة

## POST `/v1/identity-assets/bulk`

العملية: `bulkGetWebsiteIdentityAssets`
الوحدات والمصادقة: 2
المصادقة مطلوبة

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 |

#### طلب مثال

```bash
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"
  ]
}'
```

```javascript
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);
```

```python
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())
```

```go
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))
}
```

```ruby
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))
```

#### مثال الرد

```json
{
  "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

- `200` OK
- `400` طلب غير صالح
- `401` غير مصرح
- `402` الدفع مطلوب
- `409` HTTP 409
- `422` HTTP 422
- `429` طلبات كثيرة جداً

## موارد المرجع

[OpenAPI 3.0](https://domscan.net/v1/openapi.json)
[Postman](https://domscan.net/v1/postman.json)
[MCP](https://domscan.net/ar/mcp-domain-checker)
