KYC 없이 — 신분증, 셀피, 서류가 필요 없습니다. 암호화폐로 결제하세요: BTC, USDT, USDC, ETH, SOL, LTC
언어: 한국어
API 키 받기

문서 · API 레퍼런스

응답 형식: 검색의 모든 필드 설명

검색 응답은 하나의 JSON 객체입니다. 호출에 관한 몇 개의 필드 다음에 순위가 매겨진 results 배열이 옵니다. 각 결과는 해당 페이지를 읽었는지 여부를 표시하고, 읽었으면 콘텐츠를 담고 있습니다. 에이전트가 처리해야 할 상태 값과 함께 모든 필드를 정리했습니다.

마지막 업데이트: · 5 분 소요

빠른 답변

LLMWebSearch API는 검색 시 무엇을 반환하나요?

LLMWebSearch는 query, created_at, credits_used와 순위가 매겨진 results 배열을 포함한 JSON을 반환합니다. 각 결과에는 순위, 제목, URL, 호스트, 스니펫과 content_status이 있습니다. 해당 값이 ok이면 페이지의 본문이 word_count과 함께 content에 담깁니다. 최대 3개 페이지를 읽는 검색 1회는 크레딧 1개가 들며, 2026년 10월 기준 US$1.20/1K 검색부터 시작합니다. KYC 없이, 암호화폐로 결제하세요.

호출을 설명하는 필드는 무엇인가요?

/search 응답의 최상위 필드입니다.

필드유형의미
querystring공백을 제거한 뒤 실제로 실행한 검색 쿼리
created_atstring검색을 실행한 시각, UTC 기준 ISO 8601
credits_usedinteger호출 비용: 1, 또는 read이 4에서 10일 때 2
resultsarray순위가 매겨진 결과, 가장 좋은 것부터, 최대 max_results개 항목

각 결과에는 어떤 필드가 있나요?

페이지나 검색 결과가 제공하지 않는 필드는 빈 값으로 보내지 않고 생략합니다.

필드유형존재할 때의미
positioninteger항상검색 순위, 1부터 시작
titlestring항상결과의 제목
urlstring항상페이지 주소
hoststring항상페이지의 호스트 이름, 그룹화나 인용에 유용
snippetstring항상검색에서 표시되는 짧은 발췌
published_atstring날짜를 알 수 있는 경우페이지 또는 검색 결과의 게시일
content_statusstring항상페이지를 읽었는지 여부와, 읽지 못했다면 그 이유
contentstringcontent_status이(가) ok인 경우Markdown 또는 일반 텍스트로 된 본문, max_chars에서 잘림
word_countintegercontent_status이(가) ok인 경우잘리기 전에 집계된, 추출된 전체 텍스트의 단어 수
target_statusintegertarget_refused과(와) 함께사이트가 응답한 HTTP 상태 코드 (예: 403 또는 429)

각 content_status는 무슨 의미인가요?

이 중 어느 것도 검색 가격을 바꾸지 않습니다. 이 값들은 페이지 하나를 설명할 뿐, 호출 전체를 설명하지 않습니다.

content_status의미에이전트가 해야 할 일
ok페이지를 읽었으며, content에 본문이 담겨 있습니다이를 사용하고 url을(를) 인용하세요
not_requested결과가 read 개수 범위를 벗어남read을(를) 늘리거나, 필요하다면 /extract을(를) 통해 읽으세요
blocked_by_robots사이트의 robots.txt가 이 페이지에 대한 우리 리더의 접근을 허용하지 않음스니펫 또는 다른 출처에 의존하세요
blocked_by_site_policy사이트가 Content-Signal: ai-input=no을(를) 선언함스니펫 또는 다른 출처에 의존하세요
target_refused사이트가 요청을 거부함; target_status 참고페이지를 재시도하지 말고 다른 출처를 사용하세요
fetch_failedDNS, TLS 또는 연결 오류, 또는 페이지가 사라짐다른 결과를 시도하세요; 나중에 재시도하면 될 수 있습니다
fetch_timeout페이지가 15초 안에 응답하지 않음다른 결과를 시도하세요; 나중에 재시도하면 될 수 있습니다
unsupported_content링크가 텍스트로 변환할 수 없는 파일임스니펫 또는 다른 결과를 사용하세요

전체 응답은 어떻게 생겼나요?

아래 예시는 결과 5개를 요청하고 처음 4개를 읽었으므로 크레딧 2개가 소모되었습니다. 결과 1과 3은 읽혔습니다. 결과 2는 robots.txt가 우리 리더의 접근을 막는 사이트에 속하며, 결과 4는 요청을 거부했고, 결과 5는 read을(를) 벗어납니다. 제목, URL, 값은 예시입니다.

POST /search 응답 (예시)
{
  "query": "how to rotate api keys without downtime",
  "created_at": "2026-10-22T10:15:04Z",
  "credits_used": 2,
  "results": [
    {
      "position": 1,
      "title": "Rotating API keys",
      "url": "https://docs.example.com/security/key-rotation",
      "host": "docs.example.com",
      "snippet": "Create a second key, deploy it everywhere, then revoke the first one.",
      "published_at": "2026-09-30",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key.\n2. Deploy it to every service.\n3. Revoke the old key.",
      "word_count": 948
    },
    {
      "position": 2,
      "title": "Key rotation checklist",
      "url": "https://blog.example.org/key-rotation-checklist",
      "host": "blog.example.org",
      "snippet": "Keep two keys active during the switch and alert on the old one.",
      "content_status": "blocked_by_robots"
    },
    {
      "position": 3,
      "title": "Secrets management basics",
      "url": "https://security.example.net/secrets-basics",
      "host": "security.example.net",
      "snippet": "Never commit keys to a repository.",
      "content_status": "ok",
      "content": "# Secrets management basics\n\n**Never** commit keys to a repository.",
      "word_count": 1310
    },
    {
      "position": 4,
      "title": "Key management service guide",
      "url": "https://cloud.example.com/kms-guide",
      "host": "cloud.example.com",
      "snippet": "Store keys in a managed vault and rotate them on a schedule.",
      "content_status": "target_refused",
      "target_status": 403
    },
    {
      "position": 5,
      "title": "API key best practices",
      "url": "https://dev.example.com/api-key-best-practices",
      "host": "dev.example.com",
      "snippet": "Scope each key to one service and one environment.",
      "content_status": "not_requested"
    }
  ]
}

어떤 결과에 not_requested가 아닌 페이지 상태가 붙나요?

처음 read개 결과만, 그리고 /extract 호출의 모든 항목에 붙습니다. 이 페이지들은 리더가 실제로 시도한 페이지입니다. read개 이후의 결과는 사이트가 무엇을 응답했든 not_requested로 남습니다.

순서는 결코 바뀌지 않습니다. 리더는 1, 2, 3... 위치를 기준으로 작업하며, 실패한 앞선 결과 대신 뒤의 결과로 대체하지 않습니다. 에이전트가 거부된 페이지를 대체할 결과가 필요하면 /extract로 다음 결과를 읽을 수 있습니다.

extract 응답은 어떻게 생겼나요?

/extract은 credits_used과, 보낸 URL 순서대로 정렬된 results 배열을 반환합니다. 각 항목에는 url과 content_status이 있고, ok을 사용하면 title, content, word_count가 추가되며, target_refused을 사용하면 target_status이 추가됩니다. 검색이 실행되지 않았으므로 position, host, snippet은 없습니다.

extract 레퍼런스에서 전체 예시를 확인하고 크레딧이 어떻게 계산되는지 설명합니다.

결과를 모델용 컨텍스트로 어떻게 바꾸나요?

출처에 번호를 매기고 각 출처 옆에 URL을 두고, 모델에 필요한 것만 전달하세요. 간결한 레이아웃이 잘 맞습니다: [1] title — url, 그다음 해당 페이지의 콘텐츠, 그다음 다음 출처. 모델에게 같은 번호로 인용하도록 요청하세요.

결과에 콘텐츠가 없으면 대신 스니펫을 주고 스니펫일 뿐이라고 알려주세요. 그러면 모델이 보지 못한 페이지에 기반한 답변을 피할 수 있습니다. Python 페이지에는 이 모든 것을 토큰 예산 안에서 처리하는 짧은 루프가 있습니다.

응답 형식: 자주 묻는 질문

콘텐츠는 항상 Markdown인가요?

기본은 Markdown입니다. 마크업 없는 일반 텍스트가 필요하면 format: "text"을 보내세요. 예를 들어 단어 수만 세거나 페이지를 분류할 때 유용합니다. 필드 이름은 content 그대로입니다.

일부 결과에서 published_at이 없는 이유는 무엇인가요?

많은 페이지가 날짜를 표시하지 않으며, 일부 검색 결과도 날짜를 보여주지 않습니다. 이 경우 필드는 생략되므로 사용하기 전에 필드가 있는지 확인하세요.

나중에 새 필드가 추가될 수 있나요?

예. 버전 1에서는 필드가 추가될 수 있지만 이름이 바뀌거나 제거되지는 않습니다. 파서가 모르는 필드는 무시하도록 작성하세요.

콘텐츠가 귀하 측에 저장되나요?

아니요. 저희는 귀하의 검색 쿼리나 API가 반환하는 내용으로 어떤 모델도 학습시키지 않으며, 결과 저장을 금지하는 자체 규칙도 두지 않습니다. 다만 귀하가 읽는 페이지의 사이트 권리는 여전히 적용됩니다. 요청 로그에는 각 호출의 짧은 흔적만 남으며, 개인정보 페이지에서 설명합니다.

US$1.20/1K 검색부터 · KYC 없이

API 키 받기