> ## Documentation Index
> Fetch the complete documentation index at: https://dev-docs.trychainshift.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 인용 도메인 통계

> 조직의 답변에 인용된 출처를 도메인 단위로 집계합니다. domains는 인용 수 내림차순 상위 limit개만 담는 랭킹이며(페이지네이션 아님), 스코프 내 총 인용 수(totalCitations)와 고유 도메인 수(totalDomains)를 함께 반환합니다. 기본 집계 단위는 eTLD+1이라 blog.naver.com과 cafe.naver.com이 naver.com으로 합산되며, groupBy=subdomain으로 서브도메인별 집계를 선택할 수 있습니다.

실측 예시와 해석은 [통계로 분석하기](/guides/analytics#인용-도메인-랭킹) 가이드를 참고하세요.

## 자주 묻는 질문

**결과가 비어 있습니다.**
실행이 아직 진행 중이거나, 지정한 범위에 출처를 제공한 성공 답변이 없는 경우입니다.


## OpenAPI

````yaml GET /v1beta/platform/sources/statistics/domains
openapi: 3.1.0
info:
  description: >-
    외부 파트너용 플랫폼 API. 조직 API 키 기반 인증을 사용합니다.

    ### 공통 요청 제한

    - 요청 body 크기는 최대 2MiB이며, 초과 시 413과 함께 `COMMON_REQUEST_BODY_TOO_LARGE` 코드를
    반환합니다.

    - 배열 파라미터와 문자열 필드에는 엔드포인트별 개수·길이 상한이 있습니다. 상한은 각 필드/파라미터 설명에 명시되어 있으며, 위반 시
    400과 함께 `COMMON_VALIDATION` 코드를 반환합니다.

    - 검증 실패 시 `details` 배열에 위반 필드와 사유가 담깁니다. 예:
    `{"code":"COMMON_VALIDATION","message":"데이터 검증에
    실패했습니다","details":["keywords: 최대 100개까지 입력할 수 있습니다"]}`

    - `message`와 `details`는 Accept-Language 헤더에 따라 한국어(ko) 또는 영어(en)로 제공됩니다.
  title: Platform API
  version: '1.0'
servers:
  - url: https://dev-platform-api.trychainshift.ai/api
security: []
tags:
  - description: API 키가 귀속되는 최상위 계정 단위입니다. 조직의 기본 정보를 조회합니다.
    name: Organization
  - description: AI 서비스에서 노출을 모니터링하는 대상 브랜드입니다. 브랜드 등록·조회·수정·삭제를 제공합니다.
    name: Brand
  - description: >-
      브랜드와 시장을 분석하기 위한 키워드 인텔리전스입니다. 구글·네이버 검색 지표, 연관·자동완성 키워드 조회와 사이트 URL 기반
      키워드 분석을 제공합니다.
    name: Keyword
  - description: 프롬프트를 목적별로 묶는 그룹입니다. 프롬프트 세트 생성·조회·수정·삭제를 제공합니다.
    name: PromptSet
  - description: AI 서비스에 질의하는 문장 단위입니다. 프롬프트 생성·조회·수정·삭제와 대량 생성을 제공합니다.
    name: Prompt
  - description: 실행(Run)에 사용하는 AI 서비스 모델입니다. 지원 모델 목록을 조회합니다.
    name: Model
  - description: Run 제출에 사용하는 실행 지역입니다. 지원 리전 목록을 조회합니다.
    name: Region
  - description: 프롬프트를 AI 서비스에 실제로 실행하는 작업 단위입니다. Run 제출과 진행 상태·목록 조회를 제공합니다.
    name: Run
  - description: 실행으로 수집된 AI 서비스의 응답입니다. 인용 출처·검색 쿼리를 포함한 답변을 조회합니다.
    name: Answer
  - description: 답변에 인용된 출처를 도메인·URL 단위로 집계한 지표입니다. 인용 요약, 도메인별·URL별 인용 집계를 조회합니다.
    name: SourceStatistics
  - description: 답변 본문의 토큰(Kiwi 명사)을 집계한 지표입니다. 많이 나온 토큰 랭킹과 특정 단어의 근접 토큰을 조회합니다.
    name: AnswerStatistics
  - description: AI가 답변 생성 시 실제로 던진 검색 쿼리(팬아웃)를 집계한 지표입니다. 검색 쿼리별 등장 횟수 랭킹을 조회합니다.
    name: FanoutStatistics
  - description: 텍스트에서 고유명사를 식별하는 부가 기능입니다. 고유명사 추출을 제공합니다.
    name: ProperNoun
  - description: 조직 크레딧 잔액 및 플랫폼 API 과금 정보입니다. 현재 크레딧 잔액을 조회합니다.
    name: Credit
externalDocs:
  description: ''
  url: ''
paths:
  /v1beta/platform/sources/statistics/domains:
    get:
      tags:
        - SourceStatistics
      summary: 도메인별 인용 집계 조회
      description: >-
        조직의 답변에 인용된 출처를 도메인 단위로 집계합니다. domains는 인용 수 내림차순 상위 limit개만 담는
        랭킹이며(페이지네이션 아님), 스코프 내 총 인용 수(totalCitations)와 고유 도메인 수(totalDomains)를
        함께 반환합니다. 기본 집계 단위는 eTLD+1이라 blog.naver.com과 cafe.naver.com이 naver.com으로
        합산되며, groupBy=subdomain으로 서브도메인별 집계를 선택할 수 있습니다.
      operationId: listSourceStatisticsDomains
      parameters:
        - description: 특정 Run 필터 (제출 시 발급된 Run ID). runID·promptID 중 최소 하나 필수 (ID 문자열)
          in: query
          name: runID
          schema:
            type: string
        - description: 특정 프롬프트 필터. runID·promptID 중 최소 하나 필수 (ID 문자열)
          in: query
          name: promptID
          schema:
            type: string
        - description: 모델 필터. GET /models 로 조회 가능한 모델만 허용
          in: query
          name: model
          schema:
            enum:
              - CHATGPT
              - GOOGLE_OVERVIEW
              - GOOGLE_AI
              - PERPLEXITY
              - GEMINI
              - NAVER_AI_BRIEFING
              - NAVER_AI_TAB
              - CLAUDE
            type: string
        - description: >-
            도메인 필터. 여러 번 전달 가능(최대 50개, 각 253자 이내). 매칭 축은 groupBy를 따름(domain이면
            eTLD+1 domain=naver.com, subdomain이면 서브도메인 domain=blog.naver.com).
            상위 limit 밖 도메인도 필터로 지정하면 지표를 확인할 수 있음
          in: query
          name: domain
          schema:
            items:
              type: string
            type: array
          style: form
        - description: >-
            집계 단위 (기본 domain: eTLD+1 합산. subdomain: 서브도메인별로 구분. www.는 항상 제거되어 상위
            도메인과 합산)
          in: query
          name: groupBy
          schema:
            enum:
              - domain
              - subdomain
            type: string
        - description: >-
            추가로 포함할 필드. 현재 지원 값은 models 하나(예: ?include=models). 도메인별 모델 분해를 함께
            반환
          in: query
          name: include
          schema:
            items:
              type: string
            type: array
          style: form
        - description: 상위 몇 개 도메인까지 반환할지 (기본 50, 최대 200)
          in: query
          name: limit
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/domain.ListSourceStatisticsDomainsResponse
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domain.Error'
          description: >-
            잘못된 요청: runID·promptID 둘 다 누락, limit 범위 위반(1~200), domain 필터
            개수(50개)·길이(253자) 초과, 지원하지 않는 groupBy·model·include 값
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domain.Error'
          description: '인증 실패: API 키가 유효하지 않습니다'
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domain.Error'
          description: 크레딧 부족 (INSUFFICIENT_CREDITS)
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domain.Error'
          description: 요청 한도 초과 (PLATFORM_RATE_LIMIT_EXCEEDED, Retry-After 헤더 참조)
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/domain.Error'
          description: 서버 내부 오류
      security:
        - OrgAPIKeyAuth: []
components:
  schemas:
    domain.ListSourceStatisticsDomainsResponse:
      properties:
        domains:
          description: 인용 수 내림차순 도메인 랭킹 (상위 limit개)
          items:
            $ref: '#/components/schemas/domain.SourceDomainStatisticDTO'
          type: array
          uniqueItems: false
        totalCitations:
          description: 스코프 내 총 인용 수 (동일 URL이 여러 답변에 인용되면 각각 1건)
          type: integer
        totalDomains:
          description: >-
            스코프 내 고유 도메인 수 (집계 단위 기준, 도메인 미확인 인용 제외). 종류가 내부 집계 상한을 넘어 정확히 셀 수
            없으면 null
          type: integer
      type: object
    domain.Error:
      properties:
        code:
          type: string
        details: {}
      type: object
    domain.SourceDomainStatisticDTO:
      properties:
        citationCount:
          description: 이 도메인의 총 인용 수
          type: integer
        domain:
          description: >-
            집계 단위 (기본 eTLD+1, 예: naver.com / groupBy=subdomain 이면 서브도메인 포함, 예:
            blog.naver.com)
          type: string
        models:
          description: 모델별 인용 수 분해 (include=models 일 때만, 인용 수 내림차순)
          items:
            $ref: '#/components/schemas/domain.SourceModelStatisticDTO'
          type: array
          uniqueItems: false
      type: object
    domain.SourceModelStatisticDTO:
      properties:
        citationCount:
          description: 해당 모델에서의 인용 수
          type: integer
        model:
          description: '모델 (예: CHATGPT)'
          type: string
      type: object
  securitySchemes:
    OrgAPIKeyAuth:
      description: '"조직 API 키를 입력하세요. 예: ''cs_live_xxxx'' 또는 ''cs_test_xxxx''"'
      in: header
      name: API-Key
      type: apiKey

````