Skip to main content
수집된 답변을 서버에서 집계해 랭킹으로 반환하는 엔드포인트들입니다. 답변을 전부 내려받아 직접 집계하는 대신 이 API를 사용하세요.

공통 규칙

  • 인용 도메인·URL·fan-out 통계는 runIDs 또는 promptIDs최소 하나로 범위를 지정해야 합니다. 조직 전체를 한 번에 집계할 수는 없습니다.
  • 복수 값은 같은 파라미터를 반복 전달합니다(?runIDs=a&runIDs=b, runIDs 최대 5개·promptIDs 최대 10개). 콤마 구분은 지원하지 않습니다 — 콤마로 보내면 통째로 한 값으로 취급됩니다.
  • model로 특정 모델의 답변만 집계하도록 좁힐 수 있습니다.
  • 결과는 상위 N개 랭킹입니다. limit은 기본 50, 최대 200이며 페이지네이션(cursor)은 없습니다.
  • 전체 규칙은 통계 공통 규칙이 정본입니다.

인용 도메인 랭킹

어떤 도메인이 AI 답변에 가장 많이 인용됐는지 봅니다. “어떤 소스를 공략해야 하나”에 답하는 핵심 데이터입니다.
아래는 중고차 관련 프롬프트 140개를 8개 모델에 실행한 결과의 실제 집계입니다(상위 2개만 표시).
모델 분해가 있어야 보이는 것: 이 시장에서는 전체 인용 800건 중 1/3이 네이버 콘텐츠이고, 유튜브는 Perplexity·Google AI가 주로 인용하지만 ChatGPT는 거의 인용하지 않습니다(74건 중 1건). 어떤 모델을 공략하느냐에 따라 만들어야 할 콘텐츠 채널이 달라진다는 뜻입니다.
  • groupBy=subdomain을 지정하면 서브도메인 단위로 집계합니다(기본은 도메인 단위).
  • include=models를 지정하면 도메인별 모델 분해 카운트가 포함됩니다.
  • domains 파라미터(반복 가능, 최대 50개)로 특정 도메인만 조회할 수 있습니다. 매칭 기준은 groupBy를 따릅니다.
  • totalDomains는 도메인 종류가 내부 집계 상한을 넘으면 null로 반환됩니다.

인용 URL 랭킹

도메인보다 한 단계 깊게, 어떤 페이지가 인용됐는지 봅니다.
include=quotes를 지정하면 AI가 해당 페이지에서 실제로 인용한 문장이 포함됩니다. 위 예시처럼 매거진형 콘텐츠의 어떤 문장이 인용되는지 보이므로, 어떤 형식의 문장이 AI에 잘 인용되는지의 직접적인 힌트가 됩니다. 같은 문서의 URL 표기가 여러 개인 경우(모바일 서브도메인 등)는 자동으로 정규화되어 하나로 집계됩니다.
  • groupBy=subdomain을 지정하면 domains 필터의 매칭 기준과 항목 domain 필드가 서브도메인 축으로 바뀝니다 — 도메인 랭킹(groupBy=subdomain)에서 본 값을 그대로 넣어 드릴다운할 수 있습니다.
  • include=models를 지정하면 URL별 모델 분해 카운트가 포함됩니다(도메인 통계와 동일 패턴).
  • 특정 URL을 인용한 답변 목록이 필요하면 응답의 url 값을 그대로 GET /answers?sourceURL=…에 넣으세요. 도메인 단위는 sourceDomain입니다.

fan-out 쿼리 집계

AI가 답변을 만들기 위해 실제로 던진 팬아웃의 랭킹입니다. AI가 어떤 검색어로 정보를 찾는지 — 즉 어떤 검색어에서 인용될 콘텐츠를 만들어야 하는지 보여줍니다.
  • totalFanouts는 조회 범위 전체의 총 fan-out 발생 수입니다 — fanoutCount ÷ totalFanouts로 쿼리별 비중을 계산할 수 있습니다.
  • 쿼리별 models·regions distinct 목록은 include=models·include=regions를 지정할 때만 포함됩니다.
사용자 프롬프트는 “중고 전기차 살 때 주의할 점 알려줘”처럼 구어체지만, AI가 실제로 던진 팬아웃은 “중고 전기차 구매 주의사항 배터리 성능 점검”처럼 명사 나열형입니다. 이 형태의 검색어에서 검색되는 콘텐츠를 만드는 것이 AEO의 출발점입니다.
fan-out은 ChatGPT · Perplexity · Claude 답변에서만 수집됩니다. 다른 모델만 실행한 경우에는 결과가 비어 있습니다. 지원 모델 참고.

실행(run) 간 비교하기

같은 프롬프트 세트를 시점을 달리해 실행하고 두 랭킹을 비교하면 인용 변화(가시성 추이)를 볼 수 있습니다. run별 분해 파라미터는 없으며, run마다 따로 호출해 클라이언트에서 비교하는 것이 의도된 사용법입니다. 이때 함정 하나를 주의하세요 — run별 상위 N이 서로 달라서, run A에서 상위인 도메인이 run B의 랭킹 밖이면 비교표에 구멍이 생깁니다. 다음 2단계 패턴으로 해결합니다.
  1. 비교 대상 키 수집: 각 run에 도메인 통계를 한 번씩 호출해, 비교하고 싶은 도메인 키의 합집합을 만듭니다.
  2. 키 지정 재조회: 그 키들을 domains 필터(최대 50개)로 지정해 각 run을 다시 조회합니다. 상위 N 밖 도메인도 지정하면 지표가 반환되므로 비교표의 모든 칸이 채워집니다.
비율 비교에는 각 응답의 totalCitations를 분모로 쓰세요 — run마다 성공 답변 수가 달라 건수 비교는 왜곡됩니다.

자주 묻는 질문

통계 결과가 비어 있어요. 실행이 아직 진행 중이거나(GET /runs/:runID로 확인), 지정한 runIDs/promptIDs에 성공한 답변이 없는 경우입니다. fan-out 통계는 fan-out을 지원하지 않는 모델만 실행했을 때도 비어 있습니다. 조직 전체 기간별 추이를 보고 싶어요. 현재 통계는 실행·프롬프트 단위 스냅샷입니다. 실행을 정기 제출하고 위의 실행 간 비교하기 패턴으로 실행별 통계를 저장해 비교하세요.