개발자 참고자료

웹사이트 분류

웹사이트 분류 API 문서에서 요청 매개변수, 응답 필드, 코드 예제, DomScan 통합을 위한 오류 처리를 확인하세요.

웹사이트 분류

가중 키워드 매칭, schema.org, Open Graph, meta generator 감지, TLD 휴리스틱, URL 패턴, HTML 구조를 포함한 다중 신호 분석으로 웹사이트를 DomScan의 IAB 기반 카테고리로 분류합니다. 지원되는 카테고리 ID와 하위 카테고리는 /v1/categorize/taxonomy에서 확인할 수 있습니다.

GET /v1/categorize

쿼리 매개변수

매개변수 유형 필수
url string 선택 사항
domain string 선택 사항
skip_cache string 선택 사항
min_confidence integer 선택 사항

응답 필드

필드 유형
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

예제 요청

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"

예제 응답

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

응답 필드

필드 유형
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

예제 요청

curl "https://domscan.net/v1/categorize/taxonomy"

예제 응답

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

본문 매개변수

매개변수 유형 필수
urls string[] 필수

응답 필드

필드 유형
results[] object[]
results[] object
results[].url string
results[].primary_category string | null
results[].primary_category_id string | null
results[].categories[] object[]
results[].categories[] object
results[].categories[].category_id string
results[].categories[].category string
results[].categories[].subcategory_id string | null
results[].categories[].subcategory string | null
results[].categories[].confidence integer
results[].categories[].keywords_found[] string[]
results[].categories[].signals[] object[]
results[].categories[].signals[] object
results[].categories[].signals[].source string
results[].categories[].signals[].evidence string
results[].primary_category_confidence string
results[].title string | null
results[].description string | null
results[].language string | null
results[].language_confidence string
results[].adult_content boolean
results[].signals_used integer
results[].cached boolean
results[].total_time_ms integer
results[].checked_at string
meta object
meta.total integer
meta.duration_ms integer

예제 요청

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

예제 응답

{
  "results": [
    {
      "url": "https://example.com",
      "primary_category": "string",
      "primary_category_id": "string",
      "categories": [
        {
          "category_id": "string",
          "category": "string",
          "subcategory_id": "string",
          "subcategory": "string",
          "confidence": 1,
          "keywords_found": [
            "string"
          ],
          "signals": [
            {
              "source": "string",
              "evidence": "string"
            }
          ]
        }
      ],
      "primary_category_confidence": "high",
      "title": "string",
      "description": "198.51.100.10",
      "language": "string",
      "language_confidence": "high",
      "adult_content": true,
      "signals_used": 1,
      "cached": true,
      "total_time_ms": "2026-04-15T12:00:00Z",
      "checked_at": "2026-04-15T12:00:00Z"
    }
  ],
  "meta": {
    "total": 1,
    "duration_ms": 1
  }
}