Dokumentacja dla deweloperów
Kategoryzacja witryny
Poznaj dokumentację API Kategoryzacja witryny, parametry żądań, pola odpowiedzi, przykłady kodu i obsługę błędów w integracjach DomScan.
Kategoryzacja witryny
Klasyfikuj strony internetowe do kategorii DomScan inspirowanych IAB za pomocą analizy wielu sygnałów: ważonego dopasowania słów kluczowych, schema.org, Open Graph, wykrywania meta generator, heurystyk TLD, wzorców URL i struktury HTML. Użyj /v1/categorize/taxonomy, aby wyświetlić obsługiwane ID kategorii i podkategorie.
GET
/v1/categorize
Parametry zapytania
| Parametr | Typ | wymagane |
|---|---|---|
| url | string | opcjonalne |
| domain | string | opcjonalne |
| skip_cache |
string
Dozwolone wartości
01
|
opcjonalne |
| min_confidence |
integer
Domyślnie
0
|
opcjonalne |
Odpowiedź Fields
| Pole | Typ |
|---|---|
url |
string |
primary_category |
string | null |
primary_category_id |
string | null |
categories[] |
object[] |
categories[] |
object |
categories[].category_id |
string |
categories[].category |
string |
categories[].subcategory_id |
string | null |
categories[].subcategory |
string | null |
categories[].confidence |
integer |
categories[].keywords_found[] |
string[] |
categories[].signals[] |
object[] |
categories[].signals[] |
object |
categories[].signals[].source |
string |
categories[].signals[].evidence |
string |
primary_category_confidence |
string |
title |
string | null |
description |
string | null |
language |
string | null |
language_confidence |
string |
adult_content |
boolean |
signals_used |
integer |
cached |
boolean |
total_time_ms |
integer |
checked_at |
string |
evidence_summary |
object |
evidence_summary.analysis_status |
string |
evidence_summary.content_observed |
boolean |
evidence_summary.content_source |
string |
evidence_summary.cache_status |
string |
evidence_summary.stale |
boolean |
evidence_summary.fetch_transport |
string | null |
evidence_summary.response_status |
integer | null |
evidence_summary.final_url |
string |
evidence_summary.redirect_count |
integer |
evidence_summary.body_truncated |
boolean |
evidence_summary.unavailable_reason |
string |
meta |
object |
meta.served_by |
string |
meta.cache_status |
string |
Przykład Request
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/categorize?url=https%3A%2F%2Fexample.com&domain=example.com&skip_cache=example.com&min_confidence=example.com"
Example Odpowiedź
{
"url": "https://example.com",
"primary_category": "SaaS & Cloud",
"primary_category_id": "IAB25",
"categories": [
{
"category_id": "IAB25",
"category": "SaaS & Cloud",
"subcategory_id": null,
"subcategory": null,
"confidence": 84,
"keywords_found": [
"platform",
"dashboard",
"enterprise"
],
"signals": [
{
"source": "keyword_title",
"evidence": "Matched platform and dashboard in the page title."
}
]
},
{
"category_id": "IAB19",
"category": "Technology & Computing",
"subcategory_id": null,
"subcategory": null,
"confidence": 72,
"keywords_found": [
"api",
"developer",
"automation"
],
"signals": [
{
"source": "keyword_body",
"evidence": "Developer-focused terms appear repeatedly in page copy."
}
]
}
],
"primary_category_confidence": "high",
"title": "Developer platform for AI apps",
"description": "Build with APIs, models, and cloud workflows",
"language": "en",
"language_confidence": "high",
"adult_content": false,
"signals_used": 12,
"cached": false,
"total_time_ms": 412,
"checked_at": "2026-04-18T21:00:00Z"
}
GET
/v1/categorize/taxonomy
Odpowiedź Fields
| Pole | Typ |
|---|---|
taxonomy |
string |
version |
string |
official_iab_taxonomy |
boolean |
inspired_by |
string |
category_count |
integer |
subcategory_count |
integer |
notes[] |
string[] |
categories[] |
object[] |
categories[] |
object |
categories[].category_id |
string |
categories[].category |
string |
categories[].taxonomy_name |
string |
categories[].ranked_category |
boolean |
categories[].subcategories[] |
object[] |
categories[].subcategories[] |
object |
categories[].subcategories[].subcategory_id |
string |
categories[].subcategories[].subcategory |
string |
meta |
object |
Przykład Request
curl "https://domscan.net/v1/categorize/taxonomy"
Example Odpowiedź
{
"taxonomy": "domscan-iab-inspired",
"version": "v1",
"official_iab_taxonomy": false,
"inspired_by": "IAB Tech Lab Content Taxonomy 3.x",
"category_count": 35,
"subcategory_count": 134,
"notes": [
"DomScan returns IAB-style IDs from its own IAB-inspired taxonomy.",
"The category field matches the value returned by /v1/categorize for backward compatibility.",
"IAB29 Adult is primarily exposed through the adult_content boolean in categorization responses."
],
"categories": [
{
"category_id": "IAB22",
"category": "E-commerce",
"taxonomy_name": "Shopping & E-commerce",
"ranked_category": true,
"subcategories": [
{
"subcategory_id": "IAB22-1",
"subcategory": "Online Retail"
},
{
"subcategory_id": "IAB22-2",
"subcategory": "Deals & Coupons"
}
]
},
{
"category_id": "IAB25",
"category": "SaaS & Cloud",
"taxonomy_name": "SaaS & Cloud",
"ranked_category": true,
"subcategories": [
{
"subcategory_id": "IAB25-3",
"subcategory": "Developer Tools"
}
]
}
]
}
POST
/v1/categorize/bulk
Parametry treści
| Parametr | Typ | wymagane |
|---|---|---|
| urls | string[] | wymagane |
Odpowiedź Fields
| Pole | Typ |
|---|---|
results[] |
unknown[] |
meta |
object |
meta.total |
integer |
meta.succeeded |
integer |
meta.failed |
integer |
meta.cached |
integer |
meta.stale |
integer |
meta.duration_ms |
integer |
Przykład Request
curl -X POST "https://domscan.net/v1/categorize/bulk" \
-H "Content-Type: application/json" \
-H "X-API-Key: $DOMSCAN_API_KEY" \
-d '{
"urls": [
"github.com",
"amazon.com",
"bbc.com"
]
}'
Example Odpowiedź
{
"results": [
null
],
"meta": {
"total": 1,
"succeeded": 1,
"failed": 1,
"cached": 1,
"stale": 1,
"duration_ms": 1
}
}