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

문서 · API 레퍼런스

Extract endpoint: 에이전트가 이미 가진 URL 읽기

때로는 에이전트가 이미 링크를 가지고 있습니다: 사용자가 붙여넣었거나, 이전 검색이 나열했거나, 문서가 인용한 경우입니다. /extract는 그 페이지들을 읽고 본문을 반환하며, /search과 동일한 리더와 동일한 규칙을 사용합니다.

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

빠른 답변

이미 URL을 가진 웹페이지를 어떻게 읽나요?

최대 20개의 URL을 POST https://llmwebsearch.com/api/v1/extract로 보내세요. LLMWebSearch는 각 공개 페이지를 읽고 본문을 Markdown 또는 일반 텍스트로 반환하며, URL마다 상태를 표시합니다. 청구는 읽은 3페이지 그룹이 시작될 때마다 1 크레딧이며, 2026년 10월 기준 검색 크레딧당 US$1.20/1K 검색부터입니다. robots.txt를 준수합니다. KYC 없이, 암호화폐로 결제하세요.

/extract at a glance

메서드JSON 본문을 사용하는 POST
URLhttps://llmwebsearch.com/api/v1/extract
입력urls: 1~20개의 http 또는 https 주소
출력URL별 본문, markdown (기본값) 또는 text
과금이미 URL을 알고 있는 페이지를 읽는 경우, 콘텐츠와 함께 반환되는 3개 페이지 단위로 크레딧 1개가 청구되며, 호출당 최대 20개 URL까지 가능합니다. 거부되거나 실패한 URL은 집계되지 않습니다
robots.txt저희 리더는 robots.txt를 준수합니다. 자신을 LLMWebSearch로 소개하고, 사이트가 리더를 위해 또는 모든 로봇을 위해 작성한 규칙을 따르며, 읽기가 허용되지 않은 페이지의 콘텐츠는 제외합니다
페이지 리더LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/)

URL 목록 읽기

POST/api/v1/extract

각 URL을 병렬로 가져와 보낸 순서대로 본문을 반환합니다. 각 항목은 자체 content_status를 가지므로 거부된 페이지 하나가 호출을 실패시키지 않습니다. 예제는 세 페이지를 읽으며, 제목과 값은 예시입니다.

인증: Authorization: Bearer API_KEY 헤더에 API 키.

요청 본문

필드유형필수설명
urlsstring[]예1~20개의 http 또는 https 주소. 비공개, 로컬 및 클라우드 메타데이터 주소는 거부됩니다.
formatstring아니요markdown (기본값) 또는 text.
max_charsinteger아니요각 페이지 콘텐츠의 길이 상한, 500~50,000자. 기본값 6,000.
예시: three pages, longer content
{
  "urls": [
    "https://docs.example.com/security/key-rotation",
    "https://blog.example.org/key-rotation-checklist",
    "https://example.com/changelog"
  ],
  "max_chars": 20000
}

응답 200

{
  "credits_used": 1,
  "results": [
    {
      "url": "https://docs.example.com/security/key-rotation",
      "title": "Rotating API keys",
      "content_status": "ok",
      "content": "# Rotating API keys\n\n## Zero-downtime rotation\n\n1. Create a second key...",
      "word_count": 948
    },
    {
      "url": "https://blog.example.org/key-rotation-checklist",
      "content_status": "blocked_by_robots"
    },
    {
      "url": "https://example.com/changelog",
      "title": "Changelog",
      "content_status": "ok",
      "content": "# Changelog\n\n## 2026-10-20\n\n- New export format...",
      "word_count": 2204
    }
  ]
}

코드 예제

curl
curl -s "https://llmwebsearch.com/api/v1/extract" \
  -H "Authorization: Bearer $LLMWEBSEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"], "max_chars": 20000}'
Python
import os
import requests

resp = requests.post(
    "https://llmwebsearch.com/api/v1/extract",
    headers={"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]},
    json={"urls": ["https://docs.example.com/security/key-rotation", "https://example.com/changelog"]},
    timeout=60,
)
for page in resp.json()["results"]:
    print(page["url"], page["content_status"], page.get("word_count", 0))
Node.js
const res = await fetch('https://llmwebsearch.com/api/v1/extract', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LLMWEBSEARCH_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ urls: ['https://docs.example.com/security/key-rotation', 'https://example.com/changelog'] }),
});
for (const page of (await res.json()).results) console.log(page.url, page.content_status);

검색에서 read 대신 extract를 언제 사용해야 하나요?

URL이 실행 중인 검색에서 나온 것이 아닐 때 extract를 사용하세요. 사용자가 링크를 붙여넣었거나, 문서가 세 개의 출처를 인용했거나, read=0을 사용한 첫 검색에서 모델이 어떤 페이지를 전체 읽기할지 선택하게 한 경우입니다.

같은 호출에서 상위 결과를 그냥 읽고 싶을 때는 /search 안에서 read을 사용하세요. 요청 두 번 대신 한 번이며, 최대 3페이지가 검색 크레딧 1개에 포함됩니다.

extract 호출은 어떻게 청구되나요?

읽은 3페이지 그룹이 시작될 때마다 1 크레딧입니다. 개수는 콘텐츠와 함께 반환된 페이지를 기준으로 합니다: robots.txt나 사이트에 의해 거부된 URL, 또는 로드에 실패한 URL은 계산되지 않습니다.

읽은 페이지크레딧
1~31
4~62
7~93
19 또는 207

응답은 항상 총계를 credits_used에 표시합니다. 페이지를 하나도 읽을 수 없었던 호출은 비용이 들지 않습니다.

응답의 각 항목은 무엇을 알려주나요?

각 항목은 보낸 url을 그대로 반복하고 content_status를 제공합니다. ok를 사용하면 페이지 title, 주요 content, word_count도 함께 받습니다. 그렇지 않으면 상태가 사유를 나타냅니다: blocked_by_robots, blocked_by_site_policy, target_refused과 사이트의 target_status, fetch_failed, fetch_timeout 또는 unsupported_content입니다.

항목은 urls 목록의 순서를 유지하므로, URL뿐 아니라 인덱스로도 매칭할 수 있습니다. response format 페이지에서 각 상태를 설명합니다.

어떤 URL이 fetch 전에 거부되나요?

사설 네트워크, 로컬 머신 또는 클라우드 메타데이터 서비스를 가리키는 주소는 거부됩니다. 이렇게 하면 누군가 우리 리더를 이용해 내부 시스템에 접근하는 것을 막습니다. 그러한 주소로 이어지는 리다이렉트도 거부되며, 최대 5번의 리다이렉트까지만 따라갑니다.

주소는 http 또는 https을 사용해야 합니다. urls이 비어 있거나, 20개를 초과하거나, 잘못된 형식의 주소가 포함된 호출은 400 invalid_parameter를 반환하며, 무료입니다.

네. 동일한 리더이며, 자기를 LLMWebSearch/1.0 (+https://llmwebsearch.com/bot/)로 소개합니다. robots.txt에 Content-Signal: ai-input=no를 설정한 사이트는 해당 페이지의 콘텐츠가 결과에 포함되지 않습니다. 사이트가 저희 리더를 거부하면, 결과는 콘텐츠 없이 해당 사이트의 상태와 함께 반환됩니다. 저희는 CAPTCHA를 풀거나 계정에 로그인하거나 차단 또는 페이월을 우회하지 않습니다.

로그인이 필요하거나 유료 장벽 뒤에 있는 페이지는 콘텐츠 없이 반환됩니다. 에이전트를 다른 소스로 안내하거나, 자신의 브라우저 세션으로 읽을 수 있는 페이지로 안내하세요.

Extract endpoint: 자주 묻는 질문

어떤 종류의 파일을 읽을 수 있나요?

웹페이지가 목적입니다. 읽을 수 있는 텍스트가 없는 비디오, 아카이브 또는 기타 파일 링크는 unsupported_content로 반환되며, 해당 URL은 가격에 포함되지 않습니다.

같은 URL을 두 번 보내면 두 번 읽나요?

각 URL은 한 번만 보내세요. 목록에 중복이 있을 수 있다면 먼저 제거하여, 결과가 목록과 일대일로 일치하도록 하세요.

JavaScript 렌더링은 추가 비용이 있나요?

아니요. 페이지가 텍스트를 표시하기 위해 브라우저가 필요하면, 추가 비용 없이 렌더링됩니다.

extract로 로그인한 페이지를 읽을 수 있나요?

아니요. 리더는 계정에 로그인하지 않으며 사용자의 쿠키를 보내지 않습니다. 사이트가 저희 리더를 거부하면, 결과는 콘텐츠 없이 해당 사이트의 상태와 함께 반환됩니다. 저희는 CAPTCHA를 풀거나 계정에 로그인하거나 차단 또는 페이월을 우회하지 않습니다.

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

API 키 받기