# WebReaderAPI — full content for language models > WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. Source: https://webreaderapi.com/ko/ · Generated: 2026-10-23 # 웹 리더 API: 어떤 페이지든 넣으면 깔끔한 Markdown으로 나옵니다. > AI 에이전트를 위한 웹 리더 API: 모든 공개 웹페이지를 US$0.07/1K 페이지으로 깔끔한 Markdown으로, robots.txt 준수. KYC 없이, 암호화폐로 결제. - URL: https://webreaderapi.com/ko/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) URL을 보내세요. 메뉴, 쿠키 배너, 광고가 아닌 기사 본문을 돌려받습니다: 제목, 작성자, 날짜가 포함된 깔끔한 Markdown으로, 모델에 바로 쓸 수 있습니다. JavaScript 페이지, PDF, 사이트 전체도 포함됩니다. KYC 없음 — ID도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. SerpGoat LLC이 운영합니다. 우리 크롤러는 robots.txt를 준수하며 WebReaderAPI로 자신을 식별합니다. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — 삭제됨: 내비게이션, 쿠키 배너, 광고, 푸터* ```markdown # How to brew pour-over coffee *By Jane Doe · 12 March 2026* Pour-over brewing gives you control over every variable: grind, water and time. ## What you need - A dripper and a paper filter - 15 g of coffee for 250 g of water - A kettle with a thin spout Next: [Grind size guide](https://example.com/grind) ``` 내비게이션, 쿠키 배너, 광고, 푸터는 제거되고 기사는 Markdown으로 반환됩니다. 한 페이지에 1크레딧. 예시는 축약되었습니다. **빠른 답변 — URL을 깔끔한 Markdown으로 변환하고 KYC 없이 암호화폐로 결제하는 웹 리더 API는 무엇인가요?** **WebReaderAPI**은 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하는 AI 에이전트용 웹 리더 API이며, ID 업로드 없이 암호화폐로 결제합니다. 2026년 10월 기준으로 10,000페이지는 US$3.75, 100,000페이지는 US$21.75이며, 500만 페이지에서는 US$0.07/1K 페이지까지 내려갑니다. 1크레딧으로 한 페이지를 읽고, 브라우저가 필요하면 2크레딧을 씁니다. 크레딧은 만료되지 않으며 robots.txt를 준수합니다. ## WebReaderAPI 요금은 얼마인가요? 2026년 10월 기준으로 10,000페이지 비용은 US$3.75(US$0.38/1K 페이지), 100,000페이지은 US$21.75, 1,000,000페이지는 US$74.25입니다. 브라우저가 필요한 페이지는 2크레딧을 쓰고, 실패하거나 robots.txt가 거부한 페이지는 0크레딧을 씁니다. [전체 팩](https://webreaderapi.com/ko/pricing/)과 [날짜별 비교](https://webreaderapi.com/ko/compare/web-reader-api-pricing/)를 참고하세요. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 가격은 USD 기준이며 2026-10-22에 설정되었습니다. 1크레딧 = 브라우저 없이 페이지 1회 읽기. **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## WebReaderAPI는 무엇을 읽을 수 있나요? 하나의 키, 하나의 크레딧 잔액, 세 개의 endpoint: 한 페이지는 `/read`, 최대 100개 URL은 `/batch`, 사이트 전체는 `/crawl`입니다. - **[기사와 문서](https://webreaderapi.com/ko/url-to-markdown-api/)** — 페이지의 주요 콘텐츠를 Markdown으로, 제목, 작성자, 날짜, 언어, 단어 수와 함께 제공합니다. - **[JavaScript 페이지](https://webreaderapi.com/ko/docs/read/)** — 원시 HTML에 텍스트가 너무 적으면 헤드리스 브라우저가 페이지를 렌더링합니다(render=auto). - **[PDF 파일](https://webreaderapi.com/ko/pdf-to-markdown-api/)** — 최대 100페이지의 리포트, 논문, 매뉴얼을 Markdown 텍스트로 반환합니다. - **[웹사이트 전체](https://webreaderapi.com/ko/crawl-api/)** — 문서 사이트나 블로그를 사이트맵을 따라 크롤링하며, 작업당 최대 10,000페이지까지 처리합니다. - **[URL 배치](https://webreaderapi.com/ko/docs/crawl/)** — 한 작업에 최대 100개의 URL을 보내고, 완료되면 모든 페이지를 수집합니다. - **[국가별 페이지](https://webreaderapi.com/ko/docs/read/)** — 특정 국가의 주거용 연결을 통해, 해당 국가에서 제공되는 그대로 페이지를 읽습니다. ## WebReaderAPI는 어떻게 시작하나요? 세 단계이며, 가장 오래 걸리는 것은 충전금의 블록체인 컨펌입니다. 1. **암호화폐로 충전** — USDT, USDC, BTC, ETH, SOL 또는 LTC로 최소 US$25을 보내세요. 신분증도, 셀피도, 서류도, 회사 이메일도 필요 없습니다. 2. **크레딧 팩 구매하기** — US$3.75에 10,000페이지 또는 US$21.75에 100,000페이지이며, 잔액에서 결제됩니다. API 키는 대시보드에 표시됩니다. 3. **페이지 읽기** — Authorization 헤더에 키를 넣고 GET https://webreaderapi.com/api/v1/read?url=…를 호출하세요. 퀵 스타트에 Python, Node.js, curl용 코드가 있습니다. ## WebReaderAPI는 읽는 사이트를 어떻게 대하나요? - **robots.txt 준수** — 저희 크롤러는 WebReaderAPI로 자신을 식별하며, 사이트가 허용하지 않은 것은 읽지 않습니다. 크롤러 페이지를 참고하세요. - **우회 없음** — 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. - **AI 선호 설정 존중** — 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. - **사본 미보관** — 읽은 페이지의 사본은 보관하지 않습니다. 로그에는 호스트 이름만 남고 전체 URL은 남지 않습니다. 개인정보 처리방침을 참고하세요. - **환불과 잔액** — 72시간 이내에 사용량이 20% 미만인 팩은 잔액으로 돌려드립니다. 자세한 내용은 환불 페이지를 참고하세요. - **이메일 지원** — support@webreaderapi.com의 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다. ## 구매 전 빠른 답변 ### WebReaderAPI란 무엇인가요? WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요.는 SerpGoat LLC이 운영합니다. 암호화폐 잔액으로 선불 크레딧을 구매한 뒤, 하나의 HTTPS endpoint로 URL을 보내면, 응답은 페이지의 본문을 메타데이터와 함께 Markdown으로 반환합니다. [소개 페이지](https://webreaderapi.com/ko/about/)를 참고하세요. ### 페이지는 어떻게 계산되나요? 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 페이지를 읽는 국가를 선택하면 10 크레딧이 추가됩니다. 이 경우 해당 국가의 주거용 연결을 통해 페이지를 읽기 때문입니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. `GET https://webreaderapi.com/api/v1/credits`로 남은 크레딧을 확인하는 것은 무료입니다. ### 사이트가 로봇을 차단하면 어떻게 되나요? 읽지 않습니다. robots.txt가 WebReaderAPI에 대해 또는 모든 로봇에 대해 해당 페이지를 허용하지 않으면, API는 `403 blocked_by_robots`를 반환하고 크레딧을 사용하지 않습니다. 사이트가 다른 방식으로 요청을 거부하면 그 응답을 받으며, 이것도 무료입니다. 저희는 차단을 우회하려고 시도하지 않습니다. ### 본인 인증이나 카드 등록이 필요한가요? 아니요. WebReaderAPI는 신분증도, 셀피도, 회사 서류도, 신용카드도 요구하지 않습니다. 계정 번호로 로그인, 이메일은 선택 사항. BTC, USDT, USDC, ETH, SOL, LTC로 결제합니다. [이용 약관(허용 사용 정책)](https://webreaderapi.com/ko/acceptable-use/)이 모든 계정에 적용됩니다. ### AI 에이전트가 WebReaderAPI를 fetch 도구로 사용할 수 있나요? 네. 문서에는 Claude Desktop, Cursor 및 기타 MCP 클라이언트를 위한 바로 사용 가능한 [MCP 서버](https://webreaderapi.com/ko/docs/mcp/), [LangChain 및 LlamaIndex 로더](https://webreaderapi.com/ko/docs/langchain/), [OpenAI 함수 호출 도구](https://webreaderapi.com/ko/docs/openai/)가 포함되어 있습니다. `max_chars`를 사용해 각 페이지가 모델의 예산 안에 들어오도록 하세요. ## WebReaderAPI 한눈에 보기 | 속성 | 값 | | --- | --- | | 무엇인가요 | 웹 리더 API: URL을 보내면 페이지의 본문을 깔끔한 Markdown으로 돌려받습니다 | | KYC / 신원 확인 | 없음 — 신분증, 셀피, 서류, 회사 이메일 모두 필요 없습니다 | | 가격 | US$0.07/1K 페이지부터 (10,000페이지 US$3.75, 100,000페이지 US$21.75, 1,000,000페이지 US$74.25) | | 크레딧 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 크레딧 만료 | 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다 | | 출력 | 페이지 본문의 깔끔한 Markdown (또는 일반 텍스트, 또는 정리된 HTML)과 함께 제목, 설명, 작성자, 게시 날짜, 언어, 단어 수를 제공하며, 링크와 이미지는 요청 시 제공합니다 | | JavaScript | 페이지에 필요할 때 헤드리스 브라우저에서 JavaScript 렌더링 (render=auto), 또는 항상, 또는 절대 하지 않습니다 | | PDF | 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다 | | 크롤링 및 배치 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. 배치 작업당 최대 100개의 URL | | robots.txt | 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다 | | 사이트 소유자의 선택 | 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | 엔드포인트 | `GET https://webreaderapi.com/api/v1/read?url=…` | | 인증 | API 키를 Bearer 토큰으로 Authorization 헤더에 넣거나 api_key 쿼리 파라미터에 넣어 전송하세요 | | 코드 예제 | Python, Node.js, curl과 MCP, LangChain, LlamaIndex, OpenAI function calling용 도구 정의 | | 결제 | 암호화폐만: BTC, USDT, USDC, ETH, SOL, LTC (TRC-20 또는 ERC-20의 USDT, ERC-20의 USDC) | | 결제 방식 | US$25부터 충전한 뒤 잔액으로 원하는 크레딧 팩을 구매하세요. 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다 | | 계정 | 계정 번호로 로그인, 이메일은 선택 사항. 계정 번호로 로그인하므로 안전한 곳에 보관하세요. 이메일을 선택적으로 등록하면 계정 번호를 되찾을 수 있습니다. 등록된 이메일이 없으면 분실한 번호는 복구할 수 없습니다 | | 요청 로그 | 각 요청은 시간, 계정, 페이지의 호스트 이름(전체 URL이나 콘텐츠는 절대 기록하지 않음), 상태 및 사용된 크레딧을 로그 한 줄로 남기며, 이 로그는 30일 후 삭제됩니다. 읽은 페이지는 저장되지 않습니다. 계정 번호, 주문, 충전 및 크레딧 합계는 계정이 존재하는 동안 보관되며, 이후에는 회계 관련 법령이 요구하는 기간 동안만 보관됩니다. 기록은 법령상 의무가 있을 때만 당국에 제공됩니다 | | 운영자 | SerpGoat LLC | | 지원 | 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다 | --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI 소개 > WebReaderAPI 소개: 웹 리더 API를 운영하는 주체, 공개 페이지를 Markdown으로 변환하는 방식, 하지 않는 일, 그리고 담당자에게 연락하는 방법. KYC 없이, 암호화폐로. - URL: https://webreaderapi.com/ko/about/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 한 가지 일만 하는 작은 API: 여러분의 소프트웨어를 위해 공개 웹페이지를 읽고, 언어 모델이 활용할 수 있는 형태로 텍스트를 돌려줍니다. 이 페이지에서는 운영 주체, 작동 방식, 그리고 한계를 다룹니다. **빠른 답변 — WebReaderAPI란 무엇이며, 누가 운영하나요?** WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며, 신분증 업로드 없이 암호화폐로 결제합니다. **WebReaderAPI**는 SerpGoat LLC이 운영합니다. 선불 크레딧은 2026년 10월 기준 10,000페이지 기준 US$3.75부터 시작하며, 만료되지 않습니다. 크롤러는 robots.txt를 준수하고 자신의 이름으로 식별합니다. ## WebReaderAPI는 어떤 문제를 해결하나요? 언어 모델은 텍스트를 읽지만, 웹페이지는 대부분 다른 것들로 이루어져 있습니다. 내비게이션, 스크립트, 쿠키 안내, 광고, 관련 글 위젯, 푸터 등입니다. 원본 HTML을 모델에 그대로 넣으면 컨텍스트 윈도우가 낭비되고 핵심 사실이 묻힙니다. WebReaderAPI는 페이지를 가져와 본문을 추출하고, 제목, 목록, 표, 링크를 그 자리에 유지한 채 Markdown으로 반환합니다. 페이지에 명시되어 있다면 제목, 저자, 발행일, 언어, 단어 수도 함께 제공합니다. 한 번의 호출로 여러분 코드에서의 fetch 단계, 브라우저 단계, 정리 단계를 대체합니다. ## 요청은 단계별로 어떻게 처리되나요? 1. 여러분의 코드가 API 키와 함께 URL을 `https://webreaderapi.com/api/v1/read`로 전송합니다. 2. 사이트의 robots.txt에서 우리 토큰과 모든 로봇에 대한 규칙을 확인하고, `ai-input=no` 신호를 찾습니다. 3. 페이지가 허용되면 우리 봇이 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` User-Agent로 가져옵니다. 4. 원본 HTML에 텍스트가 너무 적으면 헤드리스 브라우저가 먼저 페이지를 렌더링합니다(`render=auto`). 5. 본문 추출 후 Markdown으로 변환하여 메타데이터와 함께 반환합니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. [read endpoint](https://webreaderapi.com/ko/docs/read/)에 모든 parameter가 문서화되어 있습니다. ## WebReaderAPI가 절대 하지 않는 일은 무엇인가요? 일부 제한은 설정이 아니라 제품의 일부입니다: - **사이트가 거부한 페이지는 절대 읽지 않습니다.** 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. - **거부를 절대 우회하지 않습니다.** 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. - **로그인이나 페이월 뒤는 절대 읽지 않습니다.** 여러분이 자격 증명을 제공하더라도 마찬가지입니다. - **페이지를 절대 보관하지 않습니다.** 텍스트는 여러분에게 반환되며, 로그에는 호스트 이름만 남습니다. 이러한 규칙 때문에 기술적으로는 가져올 수 있는 일부 페이지를 포기합니다. 사이트 소유자, 고객, AI 어시스턴트 모두가 이 도구를 신뢰할 수 있어야 하므로 이 트레이드를 받아들입니다. ## 고객은 누구인가요? 대부분 AI 에이전트에게 신뢰할 수 있는 웹 읽기 수단을 제공하려는 개발자와, 문서나 도움말 센터, 블로그를 검색 시스템에 적재하는 팀입니다. 연구자들은 공개 문서를 깔끔한 형태로 수집하기 위해 사용하고, 일부 도구는 읽기 화면이나 요약을 만들기 위해 사용합니다. [Acceptable Use Policy](https://webreaderapi.com/ko/acceptable-use/)에는 사적인 개인의 개인정보 수집 등 허용되지 않는 행위가 나열되어 있습니다. 모든 신고는 사람이 검토하며, 규칙을 위반한 계정은 정지됩니다. ## 왜 암호화폐이며 KYC가 없나요? 많은 고객이 개인 개발자, 소규모 팀, 자율 프로젝트이며, 시험해 보는 모든 API에 신분 서류나 카드 정보를 공유하고 싶어 하지 않기 때문입니다. 계정 번호로 로그인, 이메일은 선택 사항. BTC, USDT, USDC, ETH, SOL, LTC로 US$25부터 충전한 뒤, 잔액에서 크레딧을 구매합니다. KYC가 없다고 해서 규칙이 없는 것은 아닙니다. 허용 사용 정책은 모든 계정에 적용되고, robots.txt는 모든 요청에 적용되며, 문서화된 남용 신고에 대응합니다. ## 우리가 주장하지 않는 것은 무엇인가요? 현재 응답 시간, 가동 시간, 성공률 수치는 공개하지 않습니다. 성공 여부는 읽는 사이트에 따라 다르며, 정직한 수치는 방법과 날짜가 있는 측정된 공개 샘플이 필요합니다. 준비되면 [status page](https://webreaderapi.com/ko/status/)에 게시됩니다. 또한 웹의 모든 페이지를 읽을 수 있다고 주장하지도 않습니다. robots를 거부하거나 로그인을 요구하거나 자동화된 요청을 차단하는 사이트는 설계상 접근 범위 밖입니다. ## 담당자에게 어떻게 연락할 수 있나요? API, 결제, 계정 관련 문의는 support@webreaderapi.com으로 보내 주세요. 요일과 관계없이 매일 담당자가 답변합니다. 사이트 소유자와 남용 신고는 abuse@webreaderapi.com으로 보내면 되며, [bot page](https://webreaderapi.com/ko/bot/)에서 우리 크롤러를 차단하거나 속도를 늦추는 방법을 설명합니다. 우리 팀의 누구도 계좌번호나 API 키를 요청하지 않습니다. ## 회사 소개: 자주 묻는 질문 ### WebReaderAPI은 어느 회사가 운영하나요? SerpGoat LLC. 회사명은 고객 영역의 인보이스와 [terms of service](https://webreaderapi.com/ko/terms/)에 표시됩니다. ### WebReaderAPI은 자체 검색 인덱스를 구축하나요? 아니요. 고객이 보낸 페이지를 URL 하나씩, 배치로, 또는 사이트 단위로 읽습니다. 자체적으로 웹을 크롤링하지 않고 페이지 순위를 매기지도 않습니다. ### 본문을 추출하는 코드는 공개되어 있나요? API는 호스팅 서비스이며 내부 코드는 공개되지 않습니다. 신뢰할 수 있는 동작은 [read endpoint reference](https://webreaderapi.com/ko/docs/read/)와 [response format](https://webreaderapi.com/ko/docs/response/)에 문서화되어 있습니다. ### WebReaderAPI을(를) 무료로 사용해 볼 수 있나요? 아니요, 무료 체험은 없습니다. 가장 작은 팩인 10,000페이지(US$3.75)도 가장 큰 팩과 동일한 API를 제공하며, US$25 충전으로 결제됩니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 허용 사용 정책 > WebReaderAPI 이용 정책: 웹 리더 API로 무엇을 읽을 수 있는지, 무엇이 금지되는지, robots.txt가 어떻게 적용되는지, 남용이 어떻게 처리되는지 안내합니다. KYC 없이 사용할 수 있습니다. - URL: https://webreaderapi.com/ko/acceptable-use/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 신원 확인을 하지 않는다고 해서 규칙이 없는 것은 아닙니다. 이 정책은 API를 어떤 목적으로 사용할 수 있는지, 절대 사용해서는 안 되는 목적은 무엇인지, 규칙을 위반하면 어떻게 되는지를 설명합니다. **빠른 답변 — WebReaderAPI를 어떤 목적으로 사용할 수 있나요?** **WebReaderAPI**은(는) AI 에이전트, 검색 시스템, 연구, 공개 정보 모니터링 및 읽기 도구를 위해 공개 웹페이지를 읽는 데 사용할 수 있습니다. 사적인 개인에 대한 개인정보를 수집하기 위해 페이지를 읽는 행위, 로그인이나 페이월 뒤의 콘텐츠를 읽는 행위, 아동 성 착취물, 스팸, 사기, 그리고 귀하 또는 당사가 영업하는 지역의 법률을 위반하는 모든 사용에는 사용할 수 없습니다. 모든 요청은 robots.txt를 준수하며, 사이트의 거부를 우회하도록 돕지 않습니다. 신고된 모든 남용은 담당자가 직접 검토하며, 서비스를 오용한 것으로 확인된 계정은 정지됩니다. ## 어떤 용도가 허용되나요? 다음 용도는 서비스가 만들어진 목적에 부합합니다: - 사용자의 질문에 답하기 위해 페이지를 읽는 **AI 에이전트 및 어시스턴트**. - 문서, 도움말 센터, 블로그, 공개 보고서 등 **공개 콘텐츠에 대한 검색 및 검색(retrieval)**. - 공개 기사, 정책, 가격 또는 발표 자료에 대한 **연구**. - 서비스 약관, 릴리스 노트, 제품 페이지, 뉴스 등 **공개 페이지의 변경 사항 모니터링**. - 페이지를 깔끔한 텍스트로 표시하는 **접근성 및 읽기 도구**. - **자신의 사이트를 보관하거나 다른 형식으로 마이그레이션**하는 용도. ## 어떤 용도가 금지되나요? 목적과 관계없이 모든 계정에서 다음 행위는 허용되지 않습니다: - 사적인 개인에 대한 개인정보를 수집하기 위해 페이지를 읽는 행위, 로그인이나 페이월 뒤의 콘텐츠를 읽는 행위, 아동 성 착취물, 스팸, 사기, 그리고 귀하 또는 당사가 영업하는 지역의 법률을 위반하는 모든 사용. - 모든 웹사이트에서 개인의 프로필을 작성하거나 연락처 정보를 수집하는 행위. - API, 그 출력 또는 여러 계정을 사용하여 사이트의 거부, rate limit, 챌린지 페이지 또는 robots.txt 규칙을 우회하는 행위. - 본인이 소유한 자격 증명이 있더라도 로그인, 구독 또는 페이월이 필요한 콘텐츠를 읽는 행위. - 서면 동의 없이 API에 대한 원시 액세스를 자체 읽기 서비스로 재판매하는 행위. - 출력을 스팸, 피싱, 사칭 또는 사기에 사용하는 행위. - 웹사이트에 과부하를 주거나 피해를 주려는 요청을 보내는 행위. ## robots.txt와 사이트 소유자의 선택은 저에게 어떻게 적용되나요? 모든 요청에 자동으로 적용되며, 비활성화할 수 없습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 필요한 사이트에 접근할 수 없다면 사이트 소유자에게 액세스를 요청하거나 사이트에서 제공하는 공식 피드 또는 API를 사용하세요. [봇 페이지](https://webreaderapi.com/ko/bot/)에서 사이트 소유자가 크롤러를 허용하거나 거부하는 방법을 확인할 수 있습니다. ## 콘텐츠 사용에 대한 책임은 누구에게 있나요? 귀하에게 있습니다. 읽는 페이지에는 소유자의 권리(저작권, 데이터베이스 권리 및 사이트가 명시한 라이선스)가 유지됩니다. WebReaderAPI은(는) 요청한 텍스트를 전달할 뿐, 재게시할 권리를 부여하지 않습니다. 콘텐츠를 저장, 게시 또는 학습에 사용하기 전에 읽는 사이트의 약관과 라이선스를 확인하세요. 이 정책은 법률 자문이 아니며, 자문이 필요하면 운영 지역의 변호사와 상담하세요. ## 정책을 위반하면 어떻게 되나요? 먼저 사실을 확인합니다. 조치 전에 담당자가 각 신고를 검토합니다. 사안의 심각성에 따라 계정에 경고를 보내거나, API 키를 폐기하거나, 정지 또는 폐쇄할 수 있습니다. 위반으로 폐쇄된 계정의 크레딧은 [약관](https://webreaderapi.com/ko/terms/)에 명시된 대로 소멸됩니다. 아동 성적 학대와 관련된 콘텐츠는 관련 당국에 신고됩니다. ## 남용을 어떻게 신고하나요? 해당 URL, 날짜와 시간, 그리고 당사 user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`이(가) 표시된 서버 로그 한 줄을 abuse@webreaderapi.com으로 보내주세요. 간결하고 사실에 기반한 신고가 확인하기 가장 쉽습니다. 신고자에게 어떤 고객이 요청을 보냈는지는 공개하지 않지만, 확인된 내용에 대해서는 조치를 취합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Firecrawl 대안: 페이지당 Markdown 크레딧, 암호화폐 결제 > 2026년 Firecrawl 대안: US$0.07/1K 페이지에서 웹페이지를 Markdown으로 변환, 만료되지 않는 크레딧, robots.txt 준수, KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/alternatives/firecrawl/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) Firecrawl은 대부분의 비교 기사에서 먼저 언급되는 리더 API입니다. 이 페이지는 Firecrawl의 공개 요금제를 WebReaderAPI의 팩과 비교하고, Firecrawl이 제공하지만 당사는 제공하지 않는 기능을 나열하며, 이전을 위한 Firecrawl 옵션을 당사 endpoint에 매핑합니다. **빠른 답변 — 암호화폐로 결제할 수 있는 좋은 Firecrawl 대안은 무엇인가요?** **WebReaderAPI**은(는) 공개 웹페이지, PDF 및 전체 사이트를 Markdown으로 변환하며, 만료되지 않는 선불 크레딧으로 판매되고, KYC 없이 암호화폐로 결제됩니다. 이 페이지의 가격(2026-10-22 기준)으로 100,000개의 정적 페이지 비용은 US$21.75이며, Firecrawl의 Standard 요금제는 100,000 크레딧에 월 $99입니다. Firecrawl은 모든 페이지를 1 크레딧으로 렌더링하고 JSON 추출, 브라우저 액션 및 무료 체험을 추가로 제공하지만, 당사는 이를 제공하지 않습니다. ## Firecrawl과 WebReaderAPI 한눈에 보기 | | WebReaderAPI (당사) | Firecrawl | | --- | --- | --- | | 과금 | 선불 팩; 크레딧 만료 없음 | 월간 요금제; 요금제 크레딧은 매월 갱신되며, 추가 구매한 크레딧은 해지 전까지 유지 | | 가장 작은 유료 옵션 | 10,000페이지 (US$3.75) | Hobby: 5,000 크레딧에 월 $19 | | 페이지당 크레딧 | 정적 페이지 1, 브라우저가 필요하면 2 | 페이지당 1, 렌더링 포함 | | 무료 체험 | 없음 | 월 1,000 크레딧, 카드 불필요, 일일 한도 내에서 키 없는 MCP | | 구조화된 JSON 추출 | 제공하지 않음 | 스키마를 사용한 JSON 형식, 페이지당 +4 크레딧 | | 브라우저 액션 및 스크린샷 | 제공하지 않음 | 요청당 최대 50개 액션, 스크린샷 형식 | | 사이트 맵 endpoint | 버전 1에는 없음 | 맵: 호출당 1 크레딧 | | robots.txt | 항상 준수, 재정의 없음 | 기본적으로 준수, ignoreRobotsTxt는 Enterprise 전용 | | 결제 | BTC, USDT, USDC, ETH, SOL, LTC | Stripe를 통한 카드, 직불 카드 및 PayPal | | 신원 확인 | 없음: 신분증, 셀피, 서류 불필요 | 약관에 명시된 바 없음 | | 셀프 호스팅 | 아니요 | 핵심은 AGPL-3.0에 따른 오픈 소스 | *가격 확인 날짜: 2026년 10월 22일.* Firecrawl 관련 사실은 firecrawl.dev 및 docs.firecrawl.dev에서 2026-10-22에 확인한 내용입니다. ## 1,000페이지당 가격은 어떻게 비교되나요? 페이지에 브라우저가 필요한지에 따라 다릅니다. Firecrawl은 모든 경우에 페이지당 1크레딧을 청구합니다. WebReaderAPI은 HTML에 텍스트가 담긴 페이지에는 1크레딧을, 브라우저를 실행해야 했던 페이지에는 2크레딧을 청구합니다. `render=auto`의 경우 브라우저는 필요할 때만 실행됩니다. | 월 페이지 수 | Firecrawl (모든 페이지) | WebReaderAPI, 정적 페이지 | WebReaderAPI, 브라우저가 필요한 페이지 | |---|---|---|---| | 10,000 | $44 (Hobby $19 + 1,000개당 $5로 5,000개 추가 크레딧) | US$3.75 | 2 × US$3.75 | | 100,000 | $99 (Standard) | US$21.75 | 2 × US$21.75 | | 1,000,000 | $749 (Scale; 연간 청구 시 월 $599) | US$74.25 | 2 × US$74.25 | 2026-10-22에 설정된 이 페이지의 가격 기준으로, 이 세 가지 볼륨에서 두 열 모두 Firecrawl의 월 가격보다 저렴합니다. 총액보다 더 중요한 두 가지 차이가 있습니다. Firecrawl의 요금제 크레딧은 매달 초기화되지만 저희 팩은 가치를 유지하며, Firecrawl의 JSON 추출은 총 페이지당 5크레딧으로 저희가 판매하지 않는 기능입니다. ## 언제 Firecrawl이 더 나은 선택인가요? 공개 페이지에서 깔끔한 Markdown 이상이 필요할 때 Firecrawl을 선택하세요: - **구조화된 추출.** JSON 형식은 전송한 스키마와 일치하는 필드를 페이지당 4크레딧 추가로 반환합니다. 저희는 Markdown과 메타데이터만 반환합니다. - **브라우저 액션.** 읽기 전에 클릭, 대기, 스크롤, 입력이 가능하며 요청당 최대 50개 액션입니다. 저희는 페이지가 로드되는 그대로 읽습니다. - **스크린샷, 사이트 맵 및 변경 추적.** 모두 Firecrawl 쪽의 형식 또는 endpoint입니다. - **무료 시작.** 카드 없이 월 1,000크레딧, 그리고 IP 주소당 매일 한도가 있는 MCP 서버를 통한 키 없는 접근. - **생태계.** 통합 페이지에 LangChain, LlamaIndex, CrewAI, n8n, Zapier 및 코딩 에이전트가 나열되어 있으며, OpenClaw는 Firecrawl을 기본 web_fetch 제공자로 번들 제공합니다. - **셀프 호스팅.** 핵심은 AGPL-3.0에 따른 오픈 소스입니다. Firecrawl은 또한 2026년 9월 22일에 $75M Series B를 발표했으며, 이는 빠른 제품 로드맵에 자금을 지원합니다. ## 언제 WebReaderAPI가 더 나은 선택인가요? 예측 가능한 비용과 카드나 신원 확인이 없는 단순한 리더를 원한다면 WebReaderAPI을 선택하세요. - **암호화폐, KYC 없이.** BTC, USDT, USDC, ETH, SOL, LTC로 US$25부터 충전하세요. 계정 번호로 로그인, 이메일은 선택 사항. - **가치를 유지하는 크레딧.** 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. 일 년에 두 번 실행하는 크롤링이 열한 달간 유휴 상태에 대한 비용을 지불하지 않습니다. - **오류는 무료.** 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. Firecrawl은 문서를 반환하지 않으면 아무것도 청구하지 않지만, 403 또는 404로 응답하는 페이지에도 여전히 1크레딧이 부과됩니다. - **사이트 소유자를 위한 하나의 규칙.** 저희 크롤러는 모든 읽기에서 robots.txt를 확인하고 `Content-Signal: ai-input=no`을 준수하며, 이를 끄는 설정은 없습니다. User-Agent는 [저희 크롤러 페이지](https://webreaderapi.com/ko/bot/)에 공개되어 있습니다. - **페이지당 가격**은 위 볼륨 기준, 2026-10-22 현재입니다. ## Firecrawl 옵션은 WebReaderAPI endpoint에 어떻게 대응되나요? 단일 페이지 읽기와 크롤링은 그대로 이전됩니다. 추출, 액션, 맵은 대응하는 항목이 없습니다. | Firecrawl | WebReaderAPI | 비고 | |---|---|---| | 페이지 하나 스크랩 | `GET` 또는 `POST /read` | 같은 개념: URL 하나 입력, 문서 하나 출력 | | `formats: ["markdown"]` (기본값) | `format=markdown` (기본값) | 기본적으로 본문만; 전체 페이지는 `main_content=false` | | `formats: ["html"]` | `format=html` | 콘텐츠의 정리된 HTML; 버전 1에는 원시 HTML 없음 | | `formats: ["links"]` | `include_links=true` | 링크가 목록으로 반환됨 | | 스키마를 사용한 `formats: ["json"]` | — | 저희 Markdown에 자체 모델을 실행하세요 | | 액션, 스크린샷 | — | 제공하지 않음 | | `timeout` (ms 단위, 기본 60,000) | `timeout` (초 단위, 5~60, 기본 30) | | | `maxAge` 캐시 (기본 2일) | — | 저희는 사본을 보관하지 않음; 각 읽기가 페이지를 가져옴 | | `limit` 및 `maxDiscoveryDepth`을 사용한 크롤링 | `limit`(최대 10,000) 및 `max_depth`을 사용한 `POST /crawl` | 결과는 커서로 페이지 처리됨 | | 맵 | — | 버전 1에는 없음 | | `ignoreRobotsTxt` (Enterprise) | — | robots.txt는 항상 적용됨 | *Python: 예전에 스크랩으로 보내던 읽기* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/changelog", "format": "markdown", "include_links": "true"}, timeout=90, ) if resp.status_code == 403: print("refused by robots.txt or by the site:", resp.json()["error"]["code"]) else: resp.raise_for_status() page = resp.json() print(page["title"], "-", page["credits_used"], "credit(s)") print(len(page.get("links", [])), "links") print(page["markdown"][:400]) ``` ## Firecrawl이 읽을 수 있었던 페이지가 여기서도 작동하나요? 대부분의 공개 페이지는 작동하지만, 정책에 한 가지 차이가 있습니다. Firecrawl의 향상된 모드는 401, 403 또는 429 응답 후에 자사가 enhanced proxies라고 부르는 것을 통해 요청을 재시도합니다. WebReaderAPI은 거부에 대해 재시도하지 않습니다. 사이트가 거부하면 사이트 자체의 상태와 함께 `502 target_refused`을 받게 되며, 크레딧은 사용되지 않습니다. 프로덕션 트래픽을 옮기기 전에 가장 중요한 URL 50개를 하루 동안 두 서비스 모두에서 실행해 보세요. Markdown, `rendered` 플래그, 사용된 크레딧을 비교하면 페이지에 대한 품질과 실제 가격을 모두 알 수 있습니다. ## 어떤 팩이 제 Firecrawl 요금제를 대체하나요? 월 페이지 수와 그중 브라우저가 필요한 페이지 수를 세어 보세요. 100,000페이지의 Standard 규모 워크로드는 페이지가 정적이면 100,000페이지 하나로 충분하고, 모든 페이지에 브라우저가 필요하면 그 팩 두 개로 충분합니다. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## Firecrawl 대안: 자주 묻는 질문 ### 무료 Firecrawl 대안이 있나요? Firecrawl 자체에는 월 1,000크레딧의 무료 티어가 있습니다. Crawl4AI, MarkItDown, Trafilatura 같은 오픈 소스 도구는 자체 서버에서 무료로 실행할 수 있습니다. [Crawl4AI 또는 호스팅 API](https://webreaderapi.com/ko/compare/crawl4ai-vs-api/)를 참고하세요. WebReaderAPI에는 무료 티어가 없습니다. 가장 작은 팩은 US$3.75에 10,000페이지입니다. ### Firecrawl을 암호화폐로 결제할 수 있나요? Firecrawl의 가격 페이지에는 카드, 직불 카드, PayPal을 갖춘 Stripe가 명시되어 있으며 암호화폐 옵션은 없습니다. WebReaderAPI은 KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC만 받습니다. ### WebReaderAPI가 Firecrawl처럼 스키마로 JSON을 추출하나요? 아니요. WebReaderAPI은 Markdown, 텍스트 또는 정리된 HTML과 메타데이터를 반환합니다. 필드가 필요하다면 저희 Markdown을 원하는 모델에 스키마와 함께 전달하세요. Firecrawl의 JSON 형식은 페이지당 4크레딧 추가로 이를 수행합니다. ### Firecrawl 크레딧은 만료되나요? Firecrawl의 과금 문서에 따르면, 플랜 크레딧은 매달 초기화되며 기본적으로 이월되지 않습니다. 추가로 구매한 크레딧은 사용할 때까지 유지되지만, 구독을 취소하면 만료됩니다. WebReaderAPI 크레딧은 만료되지 않습니다. ### Firecrawl을 직접 호스팅할 수 있나요? 네. 핵심은 AGPL-3.0으로 오픈소스이며, README에 따르면 기본적으로 robots.txt를 준수합니다. 호스팅 서비스는 오픈소스 버전에 없는 기능을 추가로 제공합니다. ## 출처 1. [Firecrawl 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [과금](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [고급 스크래핑 가이드](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [크롤링](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [향상된 모드](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [연동](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Firecrawl 키 없는 출시](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Alexandria 소개 및 시리즈 B 투자 유치](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [firecrawl/firecrawl 저장소](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [웹 도구](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Jina Reader 대안: 토큰 대신 페이지당 크레딧 > Jina Reader 대안: 토큰 대신 페이지당 크레딧, US$0.07/1K 페이지부터, robots.txt 항상 확인, KYC 없이, 암호화폐. 가격 기준일 2026-10-22. - URL: https://webreaderapi.com/ko/alternatives/jina-reader/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) Jina Reader는 URL 접두사 트릭으로 유명해졌습니다. 링크 앞에 r.jina.ai/를 붙이면 Markdown으로 변환된 결과를 받습니다. 이 페이지에서는 Jina의 과금 방식을 설명하고, Jina가 적합한 도구인 경우와 페이지당 가격이 계획하기 더 쉬운 경우를 다룹니다. **빠른 답변 — 좋은 Jina Reader 대안은 무엇인가요?** Jina Reader는 출력 토큰에 대해 과금합니다. 10억 토큰에 $50, 110억 토큰에 $500이며, 새 키마다 비상업적 용도로 1,000만 무료 토큰이 제공됩니다(2026년 10월 22일 확인). **WebReaderAPI**는 대신 페이지당 과금하며 US$0.07/1K 페이지부터이므로, 긴 페이지도 짧은 페이지와 같은 비용이 듭니다. 매 읽기마다 robots.txt를 확인하고, 만료되지 않는 크레딧을 판매하며, KYC 없이 암호화폐를 받습니다. ## 한눈에 보는 Jina Reader와 WebReaderAPI | | WebReaderAPI (당사) | Jina Reader | | --- | --- | --- | | 호출 방법 | API 키와 함께 `GET https://webreaderapi.com/api/v1/read?url=…` 사용 | 링크 앞에 접두사: `https://r.jina.ai/` + URL; 키 선택 사항 | | 과금 단위 | 페이지: 1 크레딧, 브라우저 사용 시 2 크레딧 | 출력 토큰 | | 가격 | 10,000페이지에 US$3.75; US$0.07/1K 페이지부터 | 10억 토큰당 $50; 110억 토큰당 $500 | | 무료 사용 | 없음 | 키 없이 분당 20회 요청; 새 키당 1,000만 토큰, 비상업적 용도만 | | 속도 제한 | 대시보드에 표시되는 동시성 제한 | 키 사용 시 분당 500회 요청; 프리미엄은 5,000회 | | robots.txt | 매 읽기마다 확인 | 옵트인 `X-Robots-Txt` 헤더; 기본값은 명시되지 않음 | | 사이트 전체 크롤링 | `POST /crawl`, 최대 10,000페이지 | 크롤링 엔드포인트 명시되지 않음 | | PDF | 가능, 최대 100페이지 | 예 | | 결제 | BTC, USDT, USDC, ETH, SOL, LTC | Stripe를 통한 카드, Google Pay 및 PayPal | | 소유자 | SerpGoat LLC | Jina AI, 2025년 10월부터 Elastic의 일부 | *가격 확인 날짜: 2026년 10월 22일.* Jina 관련 정보는 jina.ai/reader 및 해당 가격 대시보드에서 2026-10-22에 확인했습니다. ## Jina Reader는 어떻게 과금하며, 한 페이지 비용은 얼마인가요? Jina는 응답의 토큰을 계산합니다. 패키지는 10억 토큰에 $50(백만 토큰당 약 $0.05), 110억 토큰에 $500(백만 토큰당 약 $0.045)입니다. 실패한 요청은 차감되지 않으며, 5분 이내에 두 번 요청한 페이지는 캐시에서 가져옵니다. 따라서 한 페이지의 비용은 페이지 길이에 따라 달라지며, Jina는 평균을 공개하지 않습니다. **페이지당 5,000 토큰을 가정한 추정치**로, 1,000페이지는 첫 번째 패키지에서 약 $0.25, 두 번째 패키지에서 $0.225입니다. 2,000 토큰의 뉴스 브리핑은 그보다 저렴하고, 20,000 토큰의 문서 페이지는 네 배 더 비쌉니다. jina-ocr-v1을 통한 OCR은 토큰이 40배 더 듭니다. ## 페이지당 크레딧이 계획하기 더 쉬운 경우는 언제인가요? 읽을 페이지 수는 알지만 각 페이지의 길이는 모를 때입니다. 문서 사이트 크롤링, 경쟁사 페이지 목록 모니터링, 작업마다 링크 다섯 개를 읽는 에이전트는 모두 토큰 수가 아니라 페이지 수로 셀 수 있습니다. WebReaderAPI의 경우, 2026년 10월 22일 기준으로 각 페이지의 길이와 관계없이 100,000페이지 비용은 US$21.75입니다. 브라우저가 필요한 페이지는 크레딧 두 개를 사용하며, `rendered` 필드가 그런 경우를 알려줍니다. `max_chars`를 사용하면 반환되는 내용의 크기를 제한할 수 있습니다. 이는 모델의 컨텍스트 윈도우를 보호하지만 가격은 바꾸지 않습니다. ## Jina Reader가 더 나은 선택인 경우는 언제인가요? 설정 시간이 무엇보다 중요할 때, 또는 페이지가 짧을 때 Jina Reader를 선택하세요: - **설정 불필요.** URL 접두사는 키 없이 분당 20회 요청으로 작동하며, 테스트와 작은 스크립트에는 충분합니다. - **짧은 페이지.** 토큰 과금에서는 짧은 페이지가 페이지당 가격보다 저렴합니다. 위의 5,000 토큰 추정치에서 Jina는 페이지당 비용이 저희 10,000페이지 팩보다 저렴합니다. - **헤더를 통한 세밀한 제어.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` 등이 각 읽기를 조정합니다. - **모델과 검색.** ReaderLM-v2 출력과 `s.jina.ai` 검색이 같은 계정에서 제공됩니다. - **공식 MCP 서버**의 `read_url` 도구는 호출당 최대 다섯 개의 URL을 읽습니다. - **오픈 소스.** GitHub의 Reader 브랜치는 Apache-2.0이며, 호스팅 스토리지 계층은 포함되지 않습니다. Jina AI는 이제 Elastic의 일부이며, 인수는 2025년 10월 9일에 완료되었습니다. ## Jina Reader 헤더는 WebReaderAPI 파라미터에 어떻게 대응하나요? 대부분의 읽기는 URL을 바꾸고 키를 추가하면 그대로 옮길 수 있습니다. | Jina Reader | WebReaderAPI | 비고 | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | `Authorization` 헤더에 키 | | 기본 Markdown 출력 | `format=markdown` (기본값) | 기본적으로 본문 추출 | | `X-Engine: direct` | `render=false` | 일반 HTTP 읽기 | | 기본 헤드리스 브라우저 | `render=auto` 또는 `render=true` | 브라우저가 실행되면 크레딧 2개 | | `X-Token-Budget` | `max_chars` | 토큰이 아닌 문자 단위 | | `X-Target-Selector`, `X-Remove-Selector` | — | 대신 본문 추출로 감지 | | `X-Proxy` (국가) | `country` | +10 크레딧, 주거용 연결 | | `X-No-Cache` | — | 캐시를 두지 않음 | | `X-Robots-Txt` (옵트인) | — | robots.txt는 항상 확인 | | `X-User-Agent` 재정의 | — | 저희 User-Agent는 고정되어 있으며 공개되어 있음 | *Python: r.jina.ai 접두사에서 read endpoint까지* ```python import os import requests # Before: requests.get("https://r.jina.ai/" + url) url = "https://example.com/guide/install" resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "render": "auto", "max_chars": 30000}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["word_count"], "words, rendered:", page["rendered"], "credits:", page["credits_used"]) print(page["markdown"][:400]) ``` ## 읽는 사이트에는 무엇이 달라지나요? Jina에서는 `X-Robots-Txt` 헤더를 보낼 때만 robots.txt를 확인하며, 브라우저 User-Agent를 재정의할 수 있습니다. 두 경우의 기본값은 해당 페이지에 명시되어 있지 않습니다. WebReaderAPI에서는 둘 다 고정되어 있습니다. 모든 읽기는 `WebReaderAPI` 및 모든 robots에 대해 robots.txt를 확인하며, 모든 요청에는 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`이 포함됩니다. 즉, Jina에서는 읽을 수 있는 일부 페이지가 여기서는 거부되지만, 비용은 청구되지 않습니다. 그 대신 사이트 소유자는 누가 자신의 페이지를 읽는지 확인하고 한 줄로 저희를 차단하거나 허용할 수 있습니다. [크롤러 페이지](https://webreaderapi.com/ko/bot/)]에서 설명합니다. ## WebReaderAPI는 토큰 대신 어떻게 과금하나요? 페이지당 정액 가격입니다. 2026년 10월 22일 기준 US$3.75에 10,000페이지, US$350에 5,000,000페이지입니다. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## Jina Reader 대안: 자주 묻는 질문 ### Jina Reader는 무료인가요? 부분적으로 무료입니다. 키 없이 r.jina.ai는 분당 20회 요청으로 기본 사용이 무료입니다. 새 키마다 1,000만 무료 토큰도 제공되지만, Jina의 가격 페이지는 이를 비상업적 사용으로 제한합니다. 유료 패키지는 10억 토큰에 $50부터 시작합니다. ### 페이지가 길면 Jina Reader 비용이 더 드는 이유는 무엇인가요? Jina가 응답의 토큰을 과금하기 때문입니다. 긴 글은 짧은 글보다 더 많은 토큰을 반환합니다. WebReaderAPI은 길이와 관계없이 페이지당 크레딧 하나, 브라우저 사용 시 두 개를 과금합니다. ### Jina Reader를 암호화폐로 결제할 수 있나요? Jina의 페이지에는 카드, Google Pay, PayPal을 통한 Stripe 결제가 명시되어 있고 암호화폐 옵션은 없습니다. WebReaderAPI은 KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC을 받습니다. ### WebReaderAPI에도 r.jina.ai처럼 무료 키 없는 모드가 있나요? 아니요. 모든 읽기에는 키가 필요하며, 키는 유료 팩과 함께 제공됩니다. 가장 작은 팩은 US$3.75에 10,000페이지입니다. ### Jina Reader는 이제 누가 소유하나요? Elastic입니다. 2025년 10월 9일에 Jina AI 인수를 완료했으며, Jina의 법적 페이지에 따르면 이제 Elastic의 데이터 처리 약관이 적용됩니다. ## 출처 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [API 대시보드: 가격](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [법적 고지](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [jina-ai/reader 저장소](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [jina-ai/MCP 저장소](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic, Jina AI 인수 완료](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 2026년 최고의 웹 리더 API: URL을 Markdown으로 변환하는 10가지 방법 > 2026년 최고의 웹 리더 및 URL to Markdown API: 1,000페이지당 가격, JavaScript, robots.txt, 암호화폐 및 KYC를 기준으로 비교한 10가지 옵션. 2026-10-22 확인. - URL: https://webreaderapi.com/ko/best/web-reader-apis/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 웹페이지를 모델용 Markdown으로 변환하는 호스팅 API 10개와 오픈 소스 도구를 각자의 페이지에 나온 동일한 기준으로 비교했습니다. 저희는 이 목록에서 1위인 WebReaderAPI를 발행하며, 각 항목에는 해당 옵션이 더 잘하는 점이 적혀 있습니다. **빠른 답변 — 2026년 최고의 웹 리더 또는 URL to Markdown API는 무엇인가요?** 작업에 따라 다릅니다. 2026년 10월 22일 기준: 암호화폐 결제, KYC 없이, robots.txt 준수, 그리고 만료되지 않는 크레딧을 갖춘 **WebReaderAPI**의 가격은 US$0.07/1K 페이지부터입니다; 가장 완전한 기능 세트를 제공하는 Firecrawl은 $99 플랜에서 1,000페이지당 $0.99입니다; Jina Reader는 별도 설정 없이 읽을 수 있으며 토큰 단위로 과금됩니다; Crawl4AI는 Apache-2.0 라이선스로 직접 호스팅하려는 경우에 적합합니다. ## 2026년 최고의 웹 리더 API 10선 **방법론.** WebReaderAPI (SerpGoat LLC) 게시. 모든 제공업체는 자체 공개 웹사이트에서 가져온 동일한 기준으로 비교합니다: 일반 페이지와 브라우저 렌더링 페이지의 1,000페이지당 정가, 무료 티어 및 크레딧 만료, Markdown 품질 기능 (본문, PDF, 크롤링), robots.txt 정책, 암호화폐를 포함한 허용 결제 수단, 신원 또는 카드 요구 사항, 가격 확인 날짜. *가격 확인 날짜: 2026년 10월 22일.* ### 1. WebReaderAPI — 자사 제품 만료되지 않는 선불 크레딧을 사용하는 AI 에이전트용 웹 리더 API로, KYC 없이 암호화폐로 결제합니다; 크롤러는 robots.txt를 준수하며 거부를 우회하려 하지 않습니다. - 추천 대상: 서류 없이 암호화폐로 결제하는 것; 예의 바른 크롤링을 원하는 에이전트 및 RAG 파이프라인 - 가격: 10,000페이지에서 US$0.38/1K 페이지, 1,000,000페이지에서 US$0.07/1K 페이지; 브라우저 페이지는 2크레딧 사용 - KYC: 없음 - 암호화폐 결제: BTC, USDT, USDC, ETH, SOL, LTC - 장점: 크레딧은 만료되지 않음 - 장점: 실패 및 robots 거부 페이지 무료 - 장점: MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw용 도구 코드 - 단점: 무료 티어 없음 - 단점: 구조화된 JSON 추출 또는 페이지 액션 없음 - 단점: 사이트가 거부한 페이지는 계속 거부됨 ### 2. Firecrawl 사이트를 LLM이 사용할 수 있는 데이터로 변환하는 가장 잘 알려진 API: 스크래핑, 크롤링, 매핑, 추출을 지원하며 대규모 오픈소스 및 MCP 생태계를 갖추고 있습니다. - 추천 대상: 구조화된 추출, 페이지 액션, 성숙한 생태계가 필요한 팀 - 가격: Hobby에서 1,000페이지당 $3.80 ($19에 5,000페이지); Standard에서 $0.99 ($99에 100,000페이지); Scale에서 $0.749 ($749에 100만 페이지); JavaScript 포함 - KYC: 명시된 내용 없음 - 암호화폐 결제: 아니요 (카드, PayPal) - 장점: 월 1,000 무료 크레딧, 카드 불필요 - 장점: 기본적으로 robots.txt 준수 - 장점: 핵심 셀프 호스팅 가능 (AGPL-3.0) - 단점: 플랜 크레딧은 매월 리셋 - 단점: JSON 추출은 페이지당 4크레딧 추가 ### 3. Jina Reader URL 앞에 r.jina.ai를 붙이면 Markdown으로 반환; 출력 토큰 단위로 과금되며 현재 Elastic의 일부입니다. - 추천 대상: 별도 설정 없이 빠른 읽기; 짧은 페이지 - 가격: 출력 토큰 10억 개당 $50; 110억 개당 $500 (페이지당 비용은 페이지 길이에 따라 다름) - KYC: 명시된 내용 없음 - 암호화폐 결제: 명시되지 않음 - 장점: 20회/분 요청 시 키 없이 사용 가능 - 장점: 새 키당 1,000만 무료 토큰 (비상업용) - 단점: 토큰 과금으로 인해 긴 페이지는 비용 예측이 어려움 - 단점: robots.txt는 옵트인 헤더를 통해서만 적용 ### 4. Crawl4AI LLM을 위한 가장 인기 있는 오픈소스 크롤러로, 소프트 런칭 중인 호스팅 클라우드 제공. - 추천 대상: 직접 호스팅하여 모든 것을 제어하려는 팀 - 가격: 셀프 호스팅은 무료, Cloud는 $10(Starter)부터, 일반 페이지 0.5크레딧, 브라우저 페이지 1크레딧 - KYC: 카드 불필요 (Cloud) - 암호화폐 결제: 명시되지 않음 - 장점: Apache-2.0 라이선스 - 장점: 셀프 호스팅 MCP 서버 - 단점: 셀프 호스팅은 서버와 유지보수를 의미합니다 - 단점: check_robots_txt는 기본적으로 꺼져 있습니다 ### 5. Olostep 모든 페이지를 브라우저로 렌더링하는 API로, 배치, 크롤링, 맵 기능과 에이전트를 위한 요청별 암호화폐 결제를 제공합니다. - 추천 대상: 대량의 JavaScript 비중이 높은 사이트 - 가격: Starter 기준 1,000페이지당 $1.80(5,000페이지에 $9), Scale 기준 $0.399(100만 페이지에 $399), 모든 페이지 렌더링 - KYC: 충전 시 카드 - 암호화폐 결제: 요청별 USDC(x402) - 장점: 월 100만 페이지 기준 검증된 최저 브라우저 페이지 가격 - 장점: 배치, 크롤링, 맵 - 단점: 플랜 크레딧은 매월 리셋 ### 6. Exa contents Exa 검색 인덱스의 페이지 본문을 정액 가격으로 제공하며, 에이전트를 위한 요청별 암호화폐 결제를 지원합니다. - 추천 대상: 이미 Exa 검색을 쓰는 에이전트 - 가격: 1,000페이지당 $1.00, 정액 - KYC: 종량제 결제 시 카드 - 암호화폐 결제: 요청별 USDC(x402) - 장점: 월 $10 무료 크레딧 - 장점: x402로 페이지당 $0.001 - 단점: 캐시 우선, 문서화된 브라우저 옵션 없음 ### 7. Tavily Extract Tavily 검색 스택에서 추출하며, URL 배치 단위로 과금하고 고급 모드를 제공합니다. - 추천 대상: Tavily 검색을 중심으로 구축된 에이전트 - 가격: Project 기준 1,000개 기본 URL당 $1.50($30), Growth 기준 $1.00($500), 고급 모드는 두 배 - KYC: 명시된 내용 없음 - 암호화폐 결제: 재량에 따라서만 (약관) - 장점: 월 1,000크레딧 무료(기본 URL 5,000개) - 단점: 크레딧은 매월 초기화 - 단점: robots.txt 정책 명시되지 않음 ### 8. ScrapingBee Markdown 출력 옵션과 대량 사용 시 낮은 일반 페이지 가격을 갖춘 범용 웹 스크래핑 API입니다. - 추천 대상: 대량의 일반 페이지 - 가격: 월 100만 페이지 기준 1,000개 일반 페이지당 $0.099($99 Startup), 브라우저 페이지는 5크레딧 - KYC: 유료 플랜은 카드 결제 - 암호화폐 결제: 아니요 - 장점: 대량 사용 시 낮은 일반 페이지 가격 - 장점: Markdown 및 텍스트 출력 - 단점: 크레딧 이월 없음 - 단점: robots.txt 정책 명시되지 않음 ### 9. ZenRows Markdown 출력을 포함하고 USDC를 받는 에이전트 스토어프론트를 갖춘 웹 스크래핑 API입니다. - 추천 대상: 사용한 만큼 지불하는 소규모 에이전트 작업 - 가격: 에이전트 스토어프론트에서 일반 페이지 1,000개당 $0.50, 100만 개 플랜 기준 $0.199, 브라우저 페이지는 5크레딧 - KYC: 이메일 검증 - 암호화폐 결제: 에이전트 전용, USDC (x402) - 장점: 추가 비용 없이 Markdown - 장점: 월 5,000 무료 크레딧 - 단점: 계정은 암호화폐로 결제할 수 없음 - 단점: 플랜 크레딧은 갱신 시 만료 ### 10. Cloudflare Browser Run /markdown과 /crawl endpoint를 제공하는 Cloudflare의 브라우저 서비스로, 브라우저 시간 기준으로 과금됩니다. - 추천 대상: 이미 Cloudflare Workers를 쓰는 팀 - 가격: 포함된 10시간 이후 브라우저 시간당 $0.09, 월 최소 $5 - KYC: Cloudflare 계정 - 암호화폐 결제: Cloudflare 청구를 위한 Stripe를 통한 USDC (청구 페이지 하나에는 이 내용이 빠져 있음) - 장점: /crawl respects robots.txt and always identifies itself as a bot - 장점: 페이지당이 아니라 브라우저 시간에 대해 지불 - 단점: 페이지당 비용은 각 페이지를 처리하는 데 걸리는 시간에 따라 달라집니다 *공개 안내: 이 페이지는 WebReaderAPI이(가) 발행합니다. 경쟁사 정보는 위에 표시된 날짜 기준 공개 웹사이트에서 가져온 것이며, 이후 변경되었을 수 있습니다.* ## 웹 리더 API는 어떻게 선택해야 하나요? 페이지부터 시작하고, 그다음 볼륨을 보세요. 1. **페이지에 브라우저가 필요한가요?** 뉴스, 블로그, 문서는 보통 필요 없고, 웹 앱과 일부 쇼핑몰은 필요합니다. 크레딧 기반 스크래핑 API는 브라우저 페이지에 5~10배 더 부과하는 반면, Firecrawl과 Olostep은 모든 페이지를 동일하게 책정합니다. 2. **월 몇 페이지이며, 얼마나 꾸준한가요?** 큰 허용량이 포함된 월간 플랜은 꾸준한 볼륨에 적합하고, 만료되지 않는 선불 크레딧은 에이전트와 일회성 크롤링에 적합합니다. 3. **Markdown 이상의 추출이 필요한가요?** 구조화된 JSON, 페이지 액션, 스크린샷은 Firecrawl과 대형 스크래핑 API가 앞서는 부분입니다. 4. **사이트 소유자를 어떻게 대하고 싶나요?** Firecrawl, Cloudflare의 /crawl, WebReaderAPI은 기본적으로 robots.txt를 준수하고, 여러 API는 이를 사용자에게 맡기거나 언급하지 않습니다. 5. **어떻게 결제할 건가요?** 대부분 카드만 받습니다. Scrape.do, Decodo, Scrapeless는 계정 결제에 암호화폐를 명시하고, Exa, Olostep 등은 요청당 USDC를 받으며, WebReaderAPI은 KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC를 받습니다. ## API 비용을 지불하는 대신 셀프 호스팅하는 게 나을까요? 셀프 호스팅은 라이선스 측면에서는 무료지만 시간이 많이 듭니다. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0), Mozilla Readability (Apache-2.0)가 변환을 처리하지만, 서버, 헤드리스 브라우저, 재시도, robots.txt 처리는 직접 운영해야 합니다. Firecrawl의 코어도 AGPL-3.0 라이선스로 셀프 호스팅할 수 있습니다. 월 몇천 페이지라면 호스팅 API가 크롤러를 유지보수하는 시간보다 보통 비용이 적습니다. [Crawl4AI 또는 호스팅 API](https://webreaderapi.com/ko/compare/crawl4ai-vs-api/) 페이지에서 그 트레이드오프를 정리했습니다. ## WebReaderAPI 비용은 얼마인가요? 선불 크레딧으로, 일반 페이지당 1크레딧, 브라우저 페이지당 2크레딧이며 크레딧은 만료되지 않습니다. 가격은 2026년 10월 22일 기준입니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 최고의 웹 리더 API: 자주 묻는 질문 ### Firecrawl과 Jina Reader 중 어느 쪽이 더 나은가요? Firecrawl은 크롤링, 구조화된 추출, 예측 가능한 페이지당 가격이 필요한 팀에 적합하고, Jina Reader는 설정 없이 빠르게 읽는 용도에 적합하며 토큰 기준으로 과금됩니다. [Firecrawl vs Jina Reader](https://webreaderapi.com/ko/compare/firecrawl-vs-jina-reader/) 페이지에서 항목별로 비교했습니다. ### 어떤 웹 리더 API가 robots.txt를 준수하나요? Firecrawl은 기본적으로 준수하며 Enterprise에서만 재정의가 가능하고, Cloudflare의 /crawl은 문서화된 옵트아웃 없이 준수하며, WebReaderAPI은 모든 요청에서 준수합니다. Jina는 옵트인 헤더 방식이고, 많은 스크래핑 API는 정책을 명시하지 않습니다. ### 무료 URL to Markdown API가 있나요? 여러 곳에 무료 허용량이 있습니다: Firecrawl 월 1,000크레딧, Tavily 월 1,000크레딧, Exa 월 $10, ZenRows 월 5,000크레딧, Jina는 비상업적 용도로 1천만 토큰. WebReaderAPI에는 무료 티어가 없습니다. ### 이 순위는 독립적인가요? 아니요. 1위로 선정된 WebReaderAPI이 발행합니다. 모든 항목은 2026년 10월 22일에 자사 공개 페이지를 읽어 동일한 기준으로 설명했으며, 각 항목에는 해당 옵션이 더 잘하는 점을 적었습니다. ## 출처 1. [Firecrawl 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Jina API 가격](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Crawl4AI 저장소](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Olostep 가격](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Exa 가격](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Tavily API 크레딧](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [ScrapingBee 가격](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [ZenRows 가격](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Browser Run 가격](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI 봇: user agent, robots.txt 및 차단 방법 > WebReaderAPI 봇: 정확한 user agent, robots.txt 토큰, 차단 또는 속도 제한 방법, 그리고 절대 하지 않는 일. 사이트 소유자와 AI 도구를 위해 작성했습니다. - URL: https://webreaderapi.com/ko/bot/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 서버 로그에서 저희 이름을 보셨다면, 이 페이지에서 저희가 누구인지, 왜 귀하의 페이지를 가져갔는지, 그리고 어떻게 하면 가져오지 말라고 알릴 수 있는지 설명합니다. 여기 적힌 모든 규칙은 서비스가 지켜야 할 약속입니다. **빠른 답변 — WebReaderAPI 봇이란 무엇이며, 어떻게 차단하나요?** **WebReaderAPI** 봇은 저희 고객이 API에 페이지를 읽어 달라고 요청할 때 공개 페이지를 가져옵니다. 이 봇은 user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`를 보내며, `WebReaderAPI` 토큰에 대해 또는 모든 로봇에 대해 작성된 robots.txt 규칙을 따릅니다. 모든 곳에서 차단하려면 robots.txt에 `User-agent: WebReaderAPI` 뒤에 `Disallow: /`을 추가하세요. ## 한눈에 보는 봇 | 속성 | 값 | | --- | --- | | User-Agent 헤더 | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | robots.txt 토큰 | `WebReaderAPI` | | robots.txt | 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다 | | AI 선호 신호 | 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다 | | 사이트가 거부할 때 | 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다 | | 귀하의 페이지 사본 | 고객에게 응답을 보낸 뒤에는 보관하지 않음 | | 크롤 작업 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다 | | 문의 | abuse@webreaderapi.com | ## WebReaderAPI가 왜 제 페이지를 가져갔나요? API 고객이 요청했기 때문입니다. WebReaderAPI는 자체적인 웹 인덱스를 만들지 않으며 스스로 탐색하지 않습니다. 각 가져오기는 다음 세 가지 요청 유형 중 하나에 속합니다: - **단일 읽기:** 애플리케이션 또는 AI 에이전트가 귀하의 URL을 `/read`로 보냈으며, 보통 어떤 사람이 귀하의 페이지가 답하는 질문을 했기 때문입니다. - **배치 작업:** 고객이 최대 100개의 URL 목록을 보냈고, 그중에 귀하의 URL이 있었습니다. - **크롤 작업:** 고객이 한 주소에서 시작해 해당 도메인에 머무르며 사이트 전체를 읽어 달라고 요청했습니다. 크롤은 귀하의 sitemap과 robots.txt를 따릅니다. 고객은 페이지의 본문 텍스트를 Markdown으로 받습니다. 저희는 그 이후 사본을 보관하지 않습니다. ## 사이트 전체에서 봇을 차단하려면 어떻게 하나요? robots.txt 파일에 저희 토큰에 대한 그룹을 추가하세요. 봇은 페이지를 가져오기 전에 `/robots.txt`를 읽고 최대 24시간 동안 캐시하므로, 변경 사항은 늦어도 하루 안에 적용됩니다. *robots.txt: WebReaderAPI에 모든 페이지 거부* ```text User-agent: WebReaderAPI Disallow: / ``` ## 사이트 일부만 차단하거나 봇 속도를 늦출 수 있나요? 네. `Disallow` 아래에 제외할 폴더를 나열하고, 크롤 작업에 대해 초 단위로 `Crawl-delay`를 설정하세요. 모든 로봇(`User-agent: *`)에 대해 작성된 규칙도 저희 토큰에 대한 그룹이 없을 때 저희에게 적용됩니다. 그룹이 있으면 RFC 9309에 설명된 대로 해당 그룹이 우선합니다. *robots.txt: 두 폴더 제외 및 크롤 요청 간격 두기* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## 봇이 AI 선호 신호를 존중하나요? 네, 사이트가 robots.txt에 명시한 신호를 존중합니다. 귀하의 파일이 `Content-Signal: ai-input=no`를 선언하면, 저희는 이를 귀하의 페이지를 AI 답변의 입력으로 사용하지 말라는 거부로 간주하며, 고객을 위해 해당 페이지를 읽지 않습니다. 그러면 API는 고객에게 `blocked_by_site_policy` 오류를 반환하며, 고객에게는 크레딧이 청구되지 않습니다. *robots.txt: 검색 엔진 허용, AI 입력 거부* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## 사이트가 거부하면 봇은 어떻게 하나요? 멈추고 귀하의 응답을 보고합니다. 403 또는 429 상태, 챌린지 페이지, 로그인 양식 또는 페이월은 모두 요청을 종료시킵니다. 고객은 귀하의 상태 코드와 함께 `target_refused` 오류를 받으며, 이에 대해 크레딧이 청구되지 않습니다. 봇은 절대 챌린지를 해결하지 않고, 로그인하지 않으며, 브라우저처럼 보이기 위해 user agent를 바꾸지 않고, 위장하여 재시도하지 않습니다. 저희가 귀하의 페이지를 읽기를 원하시면 robots.txt에서 토큰을 허용하고 요청을 통과시키세요. 원하지 않으시면 귀하 쪽에서 더 할 일은 없습니다. ## WebReaderAPI가 아직 약속하지 않는 것은 무엇인가요? 저희는 현재 IP 주소 목록을 공개하지 않으므로, IP가 아니라 user agent와 robots.txt 동작으로 봇을 식별해 주세요. `country` 옵션으로 읽는 페이지는 선택한 국가의 주소에서 나가지만, user agent는 동일합니다. 주소 범위가 확정되면 변경 날짜와 함께 이 페이지에 추가하겠습니다. ## 봇에 문제가 있을 때 어떻게 신고하나요? 날짜와 시간, 귀하의 도메인, 가져간 URL, 그리고 저희 user agent가 나타난 액세스 로그 한 줄을 abuse@webreaderapi.com로 보내주세요. 담당자가 각 신고를 읽고 저희 로그와 대조해 확인합니다. 고객이 [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)에 위반하여 API를 사용하면 해당 계정은 정지됩니다. 요청이 정말 저희에게서 온 것인지 확인하려면, user agent와 robots.txt 동작을 이 페이지와 비교하세요. 저희 이름을 사용하면서 귀하의 robots.txt 규칙을 무시하는 클라이언트는 저희 봇이 아닙니다. ## 사이트 소유자 질문 ### WebReaderAPI 봇은 검색 엔진 크롤러인가요? 아닙니다. 웹을 인덱싱하거나 페이지 순위를 매기지 않습니다. API 고객이 해당 페이지를 요청할 때만, 즉 단일 요청, 배치, 또는 한 사이트의 크롤에서만 페이지를 읽습니다. ### 봇을 차단하면 Google 또는 Bing 순위에 영향이 있나요? 아닙니다. `WebReaderAPI`에 대해 작성된 규칙은 저희 봇에만 해당합니다. 검색 엔진 크롤러는 귀하의 robots.txt에서 각자의 그룹을 따릅니다. ### robots.txt 변경은 얼마나 빨리 적용되나요? 늦어도 24시간 이내입니다. 봇은 robots.txt를 다시 읽기 전에 최대 하루 동안 캐시합니다. ### 봇이 Crawl-delay를 준수하나요? 예, 한 사이트의 여러 페이지를 읽는 크롤링 작업의 경우입니다. 단일 읽기는 한 번의 요청이며 간격을 두지 않습니다. ### 제 페이지 콘텐츠를 저장하거나 판매하나요? 아니요. 페이지 텍스트는 요청한 고객에게 전달되며 저희가 보관하지 않습니다. 로그에는 호스트 이름, 시간, 상태, 사용된 크레딧이 30일간 보관됩니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 변경 이력 > WebReaderAPI 변경 이력: 웹 리더 API, 가격, 크롤러 규칙, 정책의 날짜별 변경 사항입니다. 첫 항목: 사이트 및 문서 공개. - URL: https://webreaderapi.com/ko/changelog/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) API, 가격, 크롤러 동작, 정책의 변경 사항을 최신순으로 여기에 나열합니다. 사이트 다른 곳에서 한 약속의 변경도 여기에 표시됩니다. **빠른 답변 — WebReaderAPI에서 무엇이 바뀌었나요?** 2026년 10월 22일, **WebReaderAPI**이 웹사이트, 문서, 가격, 정책을 공개했습니다. API 자체는 아직 열리지 않았으며, 출시가 이 페이지의 다음 항목이 됩니다. 가격은 10,000페이지에 US$3.75부터 시작하며 가장 큰 팩에서는 US$0.07/1K 페이지까지 내려갑니다. ## 2026년 10월 22일: 사이트 및 문서 공개 - **웹사이트, 가격, 정책**이 공개되었습니다: [가격](https://webreaderapi.com/ko/pricing/), [이용약관](https://webreaderapi.com/ko/terms/), [개인정보](https://webreaderapi.com/ko/privacy/), [허용 사용](https://webreaderapi.com/ko/acceptable-use/) 및 [환불](https://webreaderapi.com/ko/refunds/). - `/read`, `/batch`, `/crawl`, `/credits` 엔드포인트의 **문서**가 공개되었으며, Python, Node.js, curl용 코드가 포함됩니다. - [봇 페이지](https://webreaderapi.com/ko/bot/)에 **크롤러 규칙**이 공개되었습니다: user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt 토큰 `WebReaderAPI`, `ai-input=no` 준수. - **API 상태:** 출시 대기 중입니다. 이곳에 출시 항목이 나오기 전까지는 API 키를 구매할 수 없습니다. ## 날짜별 항목으로 기록할 만한 변경은 무엇인가요? 고객이나 사이트 소유자가 의존할 수 있는 모든 사항입니다: - 새 엔드포인트, parameter 또는 response field - 이름이 변경되거나 제거된 field (이는 `/api/v2/` 같은 새 API 버전에서만 발생) - 가격, 크레딧 규칙 또는 환불 규칙 - 크롤러가 자신을 식별하는 방식이나 robots.txt를 처리하는 방식의 변경 - 요청에 영향을 준 장애와 그 시간 범위 ## 가격 변경은 어떻게 처리되나요? 새 가격은 이곳에 게시된 이후 구매한 팩에 적용됩니다. 이미 보유한 크레딧은 가치가 유지됩니다. 크레딧은 달러가 아닌 페이지 단위로 계산되며, 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. ## API 버전 1은 얼마나 안정적인가요? 버전 1 내에서는 field와 parameter를 추가할 수 있지만, 이름을 변경하거나 제거하지는 않습니다. [응답 형식](https://webreaderapi.com/ko/docs/response/)에 문서화된 field를 읽는 코드는 계속 작동합니다. 호환성을 깨는 변경은 새 버전으로 이어지며, 출시 전에 이곳에서 공지됩니다. ## 변경 사항은 어떻게 확인하나요? 이 페이지를 확인하거나, [llms.txt](https://webreaderapi.com/llms.txt)에 사이트의 다른 페이지들과 함께 나열된 Markdown 버전을 읽으세요. 각 항목은 날짜를 유지하므로 마지막 방문 이후 무엇이 바뀌었는지 확인할 수 있습니다. 문의는 support@webreaderapi.com으로 보내 주세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Crawl4AI일까, 호스팅 API일까? 자체 웹 리더를 운영해야 할 때 > 웹페이지를 Markdown으로 변환하는 데 Crawl4AI와 호스팅 API 중 무엇을 쓸까요? 라이선스, robots.txt 기본값, 셀프 호스팅 비용, 2026-10-22에 확인한 호스팅 가격. - URL: https://webreaderapi.com/ko/compare/crawl4ai-vs-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 오픈소스 도구를 사용하면 자체 서버에서 웹페이지를 무료로 Markdown으로 변환할 수 있습니다. 호스팅 API는 페이지당 요금을 받고 서버를 대신 운영합니다. 이 페이지는 라이선스와 robots.txt 기본값부터 브라우저와 유지보수까지, 각 선택의 실제 비용을 정리합니다. **빠른 답변 — Crawl4AI를 셀프 호스팅할까요, 호스팅 웹 리더 API를 쓸까요?** 꾸준한 처리량과 브라우저와 서버를 운영할 인력이 있다면 Crawl4AI(Apache-2.0, 저작자 표시 요구 사항 포함)를 셀프 호스팅하세요. 단, robots.txt 확인은 기본적으로 꺼져 있습니다. 처리량이 일정하지 않거나 운영 작업을 원하지 않는다면 호스팅 API를 사용하세요. Crawl4AI Cloud는 10,000 크레딧에 $10부터 시작하며, **WebReaderAPI**은 10,000페이지에 US$3.75부터, KYC 없이 암호화폐로 결제합니다 (2026년 10월 22일). ## 웹페이지를 Markdown으로 변환하는 오픈소스 도구는 무엇인가요? 2026년 10월 기준 주요 옵션이며, 각자의 저장소와 문서에 명시된 라이선스와 기본값입니다. | 도구 | 라이선스 | JavaScript 렌더링 | 기본 robots.txt | MCP 서버 | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, 추가로 README 저작자 표시 요구 사항 | 예 (Playwright) | 꺼짐: `check_robots_txt`은 기본값이 False | 예, 자체 서버에서 | | Firecrawl (셀프 호스팅) | AGPL-3.0 코어; SDK와 일부 UI 부분은 MIT | 예 (Playwright 서비스) | 켜짐 | 예 (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | 아니요 | 문서화되지 않음 | 예 (markitdown-mcp) | | Trafilatura | Apache-2.0 (v1.8.0 이전에는 GPLv3+) | 아니요 | 스파이더가 Robots Exclusion Standard를 따릅니다 | 언급된 것 없음 | | Mozilla Readability | Apache-2.0 | 아니요; DOM이 필요하며 가져오지 않습니다 | 해당 없음 | 찾지 못함 | | Jina Reader (오픈소스 브랜치) | Apache-2.0 | 예 (Puppeteer) | 언급되지 않음 | 저장소에 없음 | *가격 확인 날짜: 2026년 10월 22일.* 아래 나열된 GitHub 저장소와 문서에서 2026-10-22에 읽은 내용입니다. ## 웹 리더를 직접 호스팅하면 실제로 비용이 얼마나 들까요? 소프트웨어는 무료지만, 운영은 무료가 아닙니다. 호스팅 가격과 0을 비교하기 전에 다음을 따져 보세요: - **서버와 브라우저.** 정적 페이지는 CPU가 거의 필요 없지만, JavaScript 페이지는 요청마다 헤드리스 브라우저가 필요하고 그에 맞는 메모리도 필요합니다. 트래픽 피크에는 나머지 시간에는 놀고 있는 여유 용량이 필요합니다. - **유지보수.** 브라우저 버전, 본문 추출 규칙, 의존성이 바뀝니다. Crawl4AI는 2026년 10월 14일에 v0.9.5를, MarkItDown은 2026년 10월 21일에 0.1.9를 출시했습니다. 각 업데이트를 테스트하고 배포할 사람이 필요합니다. - **네트워크.** 아웃바운드 대역폭, DNS, 타임아웃, 재시도는 직접 조정해야 합니다. 사이트가 서버 주소에서 오는 트래픽을 거부할 수 있으며, 그때 올바른 대응은 그 거부를 존중하는 것입니다. - **정책.** Crawl4AI는 직접 켜지 않으면 `check_robots_txt`을 꺼 둔 채로 두며, User-Agent를 설정하거나 무작위화할 수 있습니다. 자체 robots.txt와 식별 규칙을 정하고 강제하는 것도 일의 일부입니다. - **보안.** MarkItDown의 README는 현재 프로세스의 권한으로 I/O를 수행하며, 신뢰할 수 없는 환경에서는 입력을 정제해야 한다고 경고합니다. 임의의 URL을 가져오는 서비스는 사설 및 로컬 주소도 거부해야 합니다. ## 그렇다면 호스팅 리더는 얼마를 받을까요? 호스팅 API는 이런 비용을 페이지당 가격으로 바꿉니다. 2026년 10월 22일 기준 두 가지 예시입니다: | | Crawl4AI Cloud | WebReaderAPI (저희) | |---|---|---| | 시작 | Starter 월 $10, 10,000 크레딧 | US$3.75에 10,000페이지 | | 정적 페이지 | 0.5 크레딧 | 1 크레딧 | | 브라우저가 필요한 페이지 | 1 크레딧 ("실제 브라우저") | 2 크레딧 | | 더 큰 요금제 | Builder $99에 125,000 크레딧; Scale $499에 750,000 | US$74.25에 1,000,000페이지; US$350에 5,000,000페이지 | | 미사용 크레딧 | 월 크레딧은 이월되지 않음; 추가 크레딧은 만료되지 않음 | 만료되지 않음 | | 결제 | Stripe를 통한 카드 | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | 고객이 사이트의 robots 지시를 준수해야 함 (약관) | 서비스가 읽을 때마다 확인 | Crawl4AI Cloud는 Crawl4AI 유지관리자들이 운영하며, 가격이 바뀔 수 있는 "소프트 런치"라고 표시합니다. 크레딧은 $0.001 가치이므로 Starter에서 정적 페이지는 1,000페이지당 $0.50입니다. ## 언제 직접 호스팅해야 하나요? 다음 세 가지가 모두 사실일 때 직접 호스팅이 이득입니다: 볼륨이 높고 꾸준하며, 이미 서버와 브라우저를 운영하고 있고, API가 줄 수 없는 통제가 필요할 때입니다. - **맞춤 본문 추출.** Crawl4AI의 CSS, XPath, LLM 스키마, 또는 Readability나 Trafilatura 위에 얹은 자체 규칙. - **데이터 레지던시.** 페이지가 인프라를 벗어나지 않습니다. - **웹페이지 외 입력.** MarkItDown은 Word, Excel, PowerPoint, EPub 등을 변환하지만, 웹 리더 API는 그렇지 않습니다. - **라이선스 적합성.** Apache-2.0과 MIT 도구는 클로즈드 제품을 허용하지만, Firecrawl의 AGPL-3.0 코어는 네트워크 서비스로 제공할 경우 변경 사항을 공유하도록 요구합니다. ## 언제 호스팅 API가 더 나은 선택인가요? 서버를 운영하는 대신 페이지를 사는 편이 나을 때는 워크로드가 불규칙하거나, 팀이 작거나, 리더가 자체 제품이 아니라 에이전트 안의 도구일 때입니다. - **급증하거나 계절적인 볼륨.** 1년에 두 번 하는 크롤링으로 브라우저 팜을 정당화할 수는 없습니다. WebReaderAPI에서는 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. - **에이전트.** 호스팅 endpoint는 MCP, LangChain, OpenAI 도구에 몇 분 만에 연결됩니다. [저희 MCP 서버](https://webreaderapi.com/ko/docs/mcp/)를 참고하세요. - **직접 구축하지 않아도 되는 정책.** 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. - **카드 없는 결제.** WebReaderAPI는 KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC로 결제합니다. ## 둘을 함께 쓸 수 있나요? 예, 많은 팀이 그렇게 합니다. 이미 보유한 파일(예: PDF와 Office 문서)은 MarkItDown으로 오픈소스 변환기를 돌리고, 라이브 웹페이지, 특히 자체 브라우저가 필요할 JavaScript 페이지는 호스팅 리더를 호출하세요. 양쪽의 출력 형식을 동일하게 유지하세요. 소스 URL과 제목이 포함된 Markdown이면 청킹과 인덱싱 코드가 문서의 출처를 신경 쓰지 않아도 됩니다. [저희 RAG 가이드](https://webreaderapi.com/ko/use-cases/rag/)에서 그 형식을 실제로 보여 드립니다. ## WebReaderAPI로 호스팅 리더를 쓰면 비용이 얼마인가요? 2026년 10월 22일 기준 암호화폐로 결제하는 페이지당 크레딧: 정적 페이지 1 크레딧, 브라우저 사용 시 2 크레딧, 실패하거나 거부된 페이지는 0. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 웹 리더 직접 호스팅: 자주 묻는 질문 ### Crawl4AI는 상업적 사용이 무료인가요? README에는 Apache-2.0 라이선스로 배포되어 상업적 사용이 허용된다고 나오며, 사용자는 배지나 텍스트 한 줄로든 출처 표시(attribution)를 포함해야 한다고 덧붙입니다. 출시 전에 라이선스와 README를 직접 읽어 보세요. ### Crawl4AI는 robots.txt를 준수하나요? 요청할 때만 준수합니다. `check_robots_txt` 파라미터의 기본값은 False이며, True로 설정하면 크롤링 전에 robots.txt 규칙을 확인하고 캐시합니다. User-Agent도 설정하거나 무작위화할 수 있으므로, 어떻게 동작할지는 자체 정책이 결정합니다. ### Crawl4AI 대신 Firecrawl을 직접 호스팅할 수 있나요? 예. Firecrawl의 코어는 AGPL-3.0으로 오픈소스이며 기본적으로 robots.txt를 준수합니다. AGPL은 소프트웨어를 네트워크 서비스로 제공할 때 변경 사항을 공개하도록 요구하며, 이는 상업적 제품에서 중요합니다. ### PDF와 Office 파일을 변환하는 도구는 무엇인가요? MIT 라이선스의 Microsoft MarkItDown은 PDF, Word, PowerPoint, Excel, HTML, EPub 등을 Markdown으로 변환합니다. JavaScript 페이지는 렌더링하지 않습니다. WebReaderAPI은 URL에서 PDF를 읽으며, 최대 100페이지까지 가능합니다. ### Crawl4AI Cloud 요금은 얼마인가요? 2026년 10월 22일 기준: Starter는 월 $10에 10,000 크레딧, Builder는 $99에 125,000 크레딧, Scale은 $499에 750,000 크레딧이며, 정적 페이지는 0.5 크레딧, 브라우저 페이지는 1 크레딧입니다. 사이트에서는 이 가격을 변경될 수 있는 소프트 런치로 표시하고 있습니다. ## 출처 1. [unclecode/crawl4ai 저장소](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [Crawl4AI 파라미터](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [Crawl4AI 셀프 호스팅](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [PyPI의 crawl4ai](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [microsoft/markitdown 저장소](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [PyPI의 markitdown](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [adbar/trafilatura 저장소](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [mozilla/readability 저장소](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [firecrawl/firecrawl 저장소](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [jina-ai/reader 저장소](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Firecrawl vs Jina Reader (2026): 어떤 웹 리더가 내 프로젝트에 맞을까? > 2026년 Firecrawl vs Jina Reader: 페이지당 크레딧 vs 토큰 과금, 무료 티어, 크롤링, JSON 추출, robots.txt, 결제. 2026-10-22 확인. - URL: https://webreaderapi.com/ko/compare/firecrawl-vs-jina-reader/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 개발자들이 웹페이지를 모델용 Markdown으로 변환하는 방법을 물을 때 가장 먼저 떠오르는 두 이름이 Firecrawl과 Jina Reader입니다. 두 서비스는 과금, 크롤링, robots.txt 처리 방식이 다릅니다. 이 페이지는 동일한 사실을 기준으로 두 서비스를 비교하며, 저희 서비스는 별도의 라벨이 붙은 열로 표시합니다. **빠른 답변 — Firecrawl과 Jina Reader 중 어떤 것을 써야 하나요?** 전체 파이프라인에는 Firecrawl을 사용하세요. 렌더링이 포함된 페이지당 1 크레딧으로 과금하며, 사이트를 크롤링하고 매핑하고, 스키마에 맞춰 JSON을 추출하며, 월 $19~$749 요금제를 제공합니다(2026년 10월 22일). 빠른 읽기에는 Jina Reader를 사용하세요. URL 앞에 r.jina.ai를 붙이면 출력 토큰 10억 개당 $50를 지불하거나, 분당 20회 요청까지 무료로 사용할 수 있습니다. 이 페이지를 발행하는 **WebReaderAPI**는 KYC 없이 암호화폐로 페이지당 크레딧을 판매합니다. ## 참고용 WebReaderAPI와 함께 보는 Firecrawl vs Jina Reader 각 행은 2026년 10월 22일에 읽은 제공업체 자체 페이지에서 가져온 것입니다. 세 번째 열은 두 서비스 모두의 경쟁사가 발행한 저희 서비스입니다. | | Firecrawl | Jina Reader | WebReaderAPI (당사) | | --- | --- | --- | --- | | 과금 단위 | 크레딧: 페이지당 1, 렌더링 포함 | 출력 토큰 | 크레딧: 페이지당 1, 브라우저 사용 시 2 | | 시작 가격 | Hobby: 월 $19에 5,000 크레딧 | 토큰 10억 개당 $50 | 10,000페이지당 US$3.75 | | 대용량 | Standard $99에 100K; Scale 월 $749에 1M | 토큰 110억 개당 $500 | 1,000,000페이지당 US$74.25 | | 무료 사용 | 월 1,000 크레딧, 카드 불필요; 키 없는 MCP, IP당 매일 한도 적용 | 키 없이 분당 20회 요청; 새 키당 토큰 1,000만 개, 비상업적 용도 | 없음 | | 미사용 크레딧 | 플랜 크레딧은 매월 리셋 | 저희가 읽을 수 있었던 텍스트에는 유효 기간이 표시되지 않음 | 만료 없음 | | 크롤링 및 매핑 | 크롤링(기본 한도 10,000페이지) 및 매핑 | 크롤링 엔드포인트 명시되지 않음 | 최대 10,000페이지 크롤링; 매핑 없음 | | 구조화 추출 | 스키마가 있는 JSON, 페이지당 +4 크레딧 | JSON 스키마 또는 지시 헤더 | 제공하지 않음 | | robots.txt | 기본으로 준수, 해제는 Enterprise 전용 | 선택적 `X-Robots-Txt` 헤더 | 항상 준수 | | 결제 | 카드, 체크카드, PayPal (Stripe) | 카드, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | 오픈 소스 | 코어는 AGPL-3.0 | Reader 브랜치는 Apache-2.0 | 아니요 | | 회사 | Firecrawl; 2026년 9월 22일 Series B 7,500만 달러 | Jina AI, 2025년 10월부터 Elastic의 일부 | SerpGoat LLC | *가격 확인 날짜: 2026년 10월 22일.* 출처는 페이지 하단에 있습니다. ## 어느 쪽이 페이지당 비용이 더 낮나요? 페이지 길이와 사용량에 따라 다릅니다. 두 서비스가 서로 다른 단위로 과금하기 때문입니다. Firecrawl은 페이지 단위로 과금합니다. Standard는 1,000페이지당 $0.99, 월 결제 시 Scale은 $0.749이며 렌더링이 포함됩니다. Jina는 출력 토큰 단위로 과금하며 페이지당 평균 비용을 공개하지 않습니다. **페이지당 5,000 토큰을 가정한 추정치**로는 Jina가 $50 패키지에서 1,000페이지당 약 $0.25, $500 패키지에서 $0.225입니다. 이 가정에서는 모든 사용량 구간에서 Jina가 Firecrawl보다 페이지당 비용이 낮습니다. 5,000 토큰보다 훨씬 긴 페이지, 예컨대 긴 문서 페이지에서는 격차가 줄거나 역전되고, 짧은 페이지에서는 격차가 커집니다. Firecrawl의 JSON 추출은 페이지당 4 크레딧을 추가하므로 추출 작업에서는 비교 결과가 달라집니다. ## 사이트 전체를 크롤링할 때는 어느 쪽이 더 나은가요? Firecrawl입니다. crawl endpoint는 기본으로 sitemap을 따르고, 페이지 한도(기본 10,000)와 탐색 깊이를 받으며, 크레딧이 한도를 감당하지 못하면 402를 반환합니다. 별도의 map endpoint는 호출당 1 크레딧으로 사이트의 URL 목록을 제공합니다. Jina Reader는 단일 URL reader와 search endpoint로 구성되며, 그 페이지들에는 crawl 기능이 명시되어 있지 않습니다. Jina로 사이트 전체를 읽으려면 예컨대 sitemap에서 URL을 직접 수집한 뒤 페이지마다 reader를 한 번씩 호출해야 합니다. ## robots.txt와 사이트 소유자를 어떻게 대하나요? Firecrawl은 기본으로 robots.txt를 준수하며, Enterprise 고객만 이를 끌 수 있습니다. 사이트 소유자는 `FirecrawlAgent` 토큰으로 허용하거나 거부합니다. 그 문서에는 이 토큰이 실제 fetch의 User-Agent 헤더가 아닐 수 있다고 경고합니다. Jina는 요청에 `X-Robots-Txt` 헤더가 있을 때 robots.txt를 확인하며, 이 헤더로 확인할 봇을 지정합니다. 또한 호출자가 브라우저 User-Agent를 재정의할 수 있습니다. 그 페이지들에는 두 경우의 기본값이 명시되어 있지 않습니다. 두 방식 모두 선택의 상당 부분을 고객에게 맡깁니다. 다음 섹션에서 설명하듯 저희는 그렇지 않습니다. ## AI 에이전트에 더 잘 맞는 쪽은 어느 쪽인가요? 둘 다 서로 다른 방식으로 에이전트에 잘 맞습니다. Firecrawl은 호스팅 MCP 서버, IP별 일일 한도가 있는 키 없는 접근, 그리고 LangChain, LlamaIndex, CrewAI, n8n을 포함한 긴 통합 목록을 제공합니다. OpenClaw는 Firecrawl을 web_fetch provider로 묶어 제공합니다. Jina는 `read_url` 도구가 호출당 최대 5개 URL을 읽는 공식 원격 MCP 서버, n8n credential, 그리고 GET 요청을 보낼 수 있는 모든 도구가 사용할 수 있는 URL 접두사를 제공합니다. 과제당 몇 페이지를 읽는 에이전트에는 Jina의 접두사가 가장 간단한 시작점이고, 크롤링·맵·추출을 하는 에이전트에는 Firecrawl이 더 많은 부분을 커버합니다. ## WebReaderAPI는 둘 사이 어디에 위치하나요? WebReaderAPI은 범위에서는 reader인 Jina에, 과금에서는 페이지 단위인 Firecrawl에 더 가깝고, 사이트 전체를 위한 crawl endpoint를 갖추고 있습니다. 기능 목록보다 결제와 정책에서 차별화됩니다. - **KYC 없이 암호화폐.** US$25에서 BTC, USDT, USDC, ETH, SOL, LTC로 충전합니다. - **만료되지 않는 크레딧**, US$3.75부터 팩으로 판매합니다. - **사이트에 대한 고정 정책.** 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. Firecrawl보다 하는 일이 적습니다. JSON 추출, 브라우저 액션, map, 무료 티어가 없습니다. 각 전환의 세부 내용은 [Firecrawl 대안](https://webreaderapi.com/ko/alternatives/firecrawl/) 및 [Jina Reader 대안](https://webreaderapi.com/ko/alternatives/jina-reader/) 페이지를 참고하세요. ## 제 사용 사례에는 무엇을 선택해야 하나요? - **프로토타입 또는 취미용 에이전트:** 키 없는 Jina Reader 또는 Firecrawl의 무료 티어. - **문서 사이트에 대한 RAG:** 크롤링과 맵에는 Firecrawl; 크레딧이 유지되고 암호화폐 결제가 되는 페이지 단위 과금을 원하면 WebReaderAPI. - **고정 필드로의 추출:** Firecrawl의 JSON 형식. - **짧은 뉴스나 블로그 페이지가 많은 경우:** Jina의 토큰 과금이 더 저렴한 편입니다. - **공급자가 강제하는 사이트 소유자 선택의 엄격한 준수:** WebReaderAPI. - **카드도 신분 증명 서류도 없는 경우:** WebReaderAPI; Firecrawl과 Jina 모두 저희가 확인한 페이지에는 암호화폐 결제 옵션이 명시되어 있지 않습니다. ## 세 번째 옵션의 비용은 얼마인가요? 2026년 10월 22일 기준, 암호화폐로 결제하는 페이지 단위 팩입니다. 브라우저가 필요한 페이지는 2 크레딧을 사용하며, 실패한 페이지와 robots.txt에서 거부된 페이지는 무료입니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## Firecrawl vs Jina Reader: 자주 묻는 질문 ### Jina Reader는 무료이고 Firecrawl는 유료인가요? 둘 다 무료 사용이 가능합니다. Jina Reader는 키 없이 분당 20 요청으로 작동하며, 새 키마다 비상업적 용도로 1,000만 토큰이 제공됩니다. Firecrawl은 카드 없이 월 1,000 크레딧을 제공하며, IP 주소별로 일일 한도가 있는 키 없는 MCP 접근도 제공합니다. ### 어느 쪽이 더 나은 Markdown을 반환하나요? 저희는 품질 벤치마크를 공개하지 않으며, 어느 공급업체의 가격 페이지도 상대에 대한 벤치마크를 주장하지 않습니다. 직접 샘플을 실행해 보세요. 실제 URL 50개를 각 서비스에 넣고 출력의 제목, 표, 남은 메뉴를 비교하세요. ### 둘 다 셀프 호스팅이 가능한가요? 가능합니다. Firecrawl의 코어는 AGPL-3.0으로 오픈 소스입니다. Jina는 Reader의 오픈 소스 브랜치를 Apache-2.0으로 공개하며, 호스팅 저장 레이어는 포함하지 않습니다. ### Firecrawl나 Jina가 암호화폐를 받나요? 2026년 10월 22일에 저희가 확인한 가격 및 결제 페이지에는 없습니다. 둘 다 Stripe를 명시하며 카드와 PayPal을 받고, Jina는 Google Pay도 받습니다. WebReaderAPI은 BTC, USDT, USDC, ETH, SOL, LTC을 받습니다. ### 이 비교는 중립적인가요? 이 글은 두 서비스 모두의 경쟁사인 WebReaderAPI이 작성했으며, 상단에 그 사실을 밝히고 있습니다. Firecrawl와 Jina에 관한 모든 사실은 아래에 확인 날짜와 함께 나열된 그들 자체 페이지에서 가져왔습니다. ## 출처 1. [Firecrawl 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [과금](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [크롤링](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [고급 스크래핑 가이드](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [MCP 서버](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Alexandria 소개 및 시리즈 B 투자 유치](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 7. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 8. [API 대시보드: 가격](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [jina-ai/MCP 저장소](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic, Jina AI 인수 완료](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) 11. [웹 도구](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 리더 API 가격 비교: 1만, 10만, 100만 페이지 비용은 얼마일까 > 2026-10-22 기준 웹 reader 및 URL-to-Markdown API 가격 비교: 13개 API에서 10K, 100K, 1M 페이지의 월 청구 금액, 일반 페이지와 JS 페이지 기준. - URL: https://webreaderapi.com/ko/compare/web-reader-api-pricing/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 크레딧 가격은 플랜 규모, 브라우저 배수, 만료 여부를 가립니다. 이 페이지는 공개 정가를 세 가지 물량에 대한 월 청구액으로 환산합니다. 일반 페이지와 브라우저가 필요한 페이지 모두를 다루고, 가격 페이지가 빠뜨린 비용도 정리합니다. **빠른 답변 — 2026년 웹 리더 API 가격은 어떻게 비교될까요?** 2026-10-22 기준으로, 한 달에 브라우저 렌더링 페이지 10만 개는 Firecrawl, Olostep, Crawl4AI Cloud를 포함한 여덟 개 API에서 99달러였습니다. 일반 페이지는 29달러(Scrape.do)부터였습니다. 100만 페이지에서는 일반 페이지가 약 99달러부터, 브라우저 페이지는 399달러(Olostep)부터 시작합니다. **WebReaderAPI**는 일반 페이지 10만 개에 US$21.75을 청구하며, 전부 브라우저가 필요하면 43.50달러입니다. KYC 없이 암호화폐로 결제합니다. ## 각 API에서 한 달치 페이지 비용은 얼마일까요? 가장 저렴한 공개 플랜, 초과분 또는 종량제 요율을 기준으로 한 1만, 10만, 100만 페이지의 월 청구액입니다. 제공업체가 브라우저 페이지에 다른 가격을 매기는 경우 두 수치를 함께 표시합니다(일반 / 브라우저). | API | 10,000페이지 | 100,000페이지 | 1,000,000페이지 | | --- | --- | --- | --- | | WebReaderAPI, 일반 페이지 | US$3.75 | US$21.75 | US$74.25 | | WebReaderAPI, 브라우저 페이지(2 크레딧) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, 일반 / 브라우저 | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, 일반 / 브라우저 | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Exa contents | $10.00 | $100.00 | $1,000 | | Linkup fetch, 일반 / 브라우저 | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, 일반 / 브라우저 | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, 일반 / 브라우저 | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, 일반 / 브라우저 | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, 일반 / 브라우저 | $30.00 | $30.00 / $100.00 | $100.00 / $560.00 | | Bright Data Web Unlocker | $15.00 | $150.00 | $1,300 | | Diffbot | $299.00 | $299.00 | $899.00 | *가격 확인 날짜: 2026년 10월 22일.* 가격은 USD 기준이며 2026-10-22에 확인했습니다. "—" = 해당 물량에서 공개되지 않았거나 셀프서비스가 아닙니다. Exa와 Parallel은 브라우저 옵션을 문서화하지 않습니다. 전체 방법과 21개 API: [URL to Markdown API 가격 지수 2026](https://webreaderapi.com/ko/data/url-to-markdown-price-index-2026/). ## 가격 페이지는 어떤 비용을 빠뜨릴까요? 1. **브라우저 배수.** JavaScript 페이지는 ScrapingBee, ZenRows, Scrape.do에서 5 크레딧, Scrapfly에서 6 크레딧, ScraperAPI에서 10 크레딧입니다. Firecrawl과 Olostep은 모든 페이지를 한 가격으로 렌더링합니다. 2. **플랜 단계.** 2만 페이지를 위해 구매한 99달러 플랜도 여전히 99달러입니다. 3. **만료.** 대부분의 월간 플랜은 미사용 크레딧을 초기화합니다. 조용한 달은 손실입니다. 4. **추출 애드온.** 구조화된 JSON 추출은 여러 API에서 추가 비용이 듭니다. Firecrawl에서는 페이지당 4 크레딧이 더 듭니다. 5. **프리미엄 연결.** 주거용 또는 "프리미엄" 프록시는 대부분의 스크래핑 API에서 크레딧 비용을 배수로 늘립니다. WebReaderAPI는 국가를 선택할 때만 10 크레딧을 추가합니다. 6. **실패 페이지.** 오류에 요금이 부과되는지 확인하세요. WebReaderAPI는 실패한 페이지나 robots.txt에 의해 거부된 페이지에 아무것도 청구하지 않습니다. ## WebReaderAPI의 위치는 어디일까요? 이 페이지의 가격, 즉 2026-10-22에 정한 가격 기준으로 WebReaderAPI는 일반 페이지 1만 개에서 페이지당 US$0.38/1K 페이지, 10만 개에서 US$0.22/1K 페이지, 100만 개에서 US$0.07/1K 페이지을 청구합니다. 브라우저 페이지는 2 크레딧을 사용합니다. 크레딧은 선불이며 절대 만료되지 않고, KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC로 결제합니다. 우리는 모든 물량이나 모든 페이지 유형에서 가장 저렴하다고 주장하지 않습니다. 우리 크롤러는 robots.txt를 준수하며 거부를 우회하려고 시도하지 않으므로, 다른 도구가 가져오는 일부 페이지는 거부된 상태로 돌아오고 무료입니다. ## WebReaderAPI 비용은 얼마인가요? 선불 팩; 일반 페이지당 1 크레딧, 브라우저 사용 시 2 크레딧; 크레딧은 만료되지 않습니다. 가격은 2026-10-22에 설정했습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 웹 리더 API 가격: 자주 묻는 질문 ### 2026년 가장 저렴한 URL to Markdown API는 무엇인가요? 한 달 100만 개의 일반 페이지 기준으로, ScrapingBee(1,000페이지당 $0.099)와 Scrape.do(1,000페이지당 $0.099)가 2026-10-22에 가장 낮은 가격을 표시했습니다. 해당 물량의 브라우저 페이지 기준으로는 Olostep이 $0.399를 표시했습니다. 답은 물량에 따라 달라지므로 본인의 물량 기준으로 비교하세요. ### Firecrawl은 비싼가요? 소량에서는 그렇습니다. Hobby에서 5,000페이지에 19달러는 1,000페이지당 $3.80입니다. 10만 페이지($99)와 100만 페이지($749)에서는 모든 Firecrawl 페이지가 렌더링되므로 브라우저 렌더링 페이지 시장 가격에 가깝습니다. ### 실패한 페이지에도 비용을 내나요? 제공업체에 따라 다르니 청구 페이지를 읽어보세요. Crawlbase는 실패한 요청과 재시도가 무료라고 명시합니다. WebReaderAPI는 실패한 페이지나 robots.txt에 의해 거부된 페이지에 요금을 청구하지 않습니다. ### 웹 리더 API를 암호화폐로 결제할 수 있나요? 예, 일부에서 가능합니다. Scrape.do, Decodo Web Data API, Scrapeless는 계정 결제 시 암호화폐를 명시하고, Exa contents, Parallel Extract, Linkup fetch, Olostep 등은 x402를 통해 요청당 USDC를 받습니다. WebReaderAPI는 KYC 없이 BTC, USDT, USDC, ETH, SOL, LTC을 받습니다. ## 출처 1. [Firecrawl: 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: 가격](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: 가격](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: 가격](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: 가격](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: 가격](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: 가격](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: 가격](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: 가격](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: 가격](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: 가격](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: 가격](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI 문의 > WebReaderAPI 문의: API 및 결제 관련 문의를 위한 지원 이메일, 사이트 소유자와 오남용 신고를 위한 남용 신고 이메일, 그리고 빠른 답변을 받기 위해 포함해야 할 내용. - URL: https://webreaderapi.com/ko/contact/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 고객용 주소 하나, 사이트 소유자 및 오남용 신고용 주소 하나. 두 주소 모두 사람이 직접 읽습니다. **빠른 답변 — WebReaderAPI에 어떻게 문의하나요?** API, 계정 또는 결제 관련 도움이 필요하면 support@webreaderapi.com으로, 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다. 사이트 소유자와 **WebReaderAPI** 크롤러의 오남용을 신고하려는 분은 abuse@webreaderapi.com으로 보내면 됩니다. 당사 팀은 이메일이나 채팅으로 계정 번호나 API 키를 절대 요청하지 않습니다. ## 지원 요청이 빠르게 답변을 받으려면 무엇이 필요한가요? 사실 관계를 간결하게 담은 메시지가 가장 빠른 답변을 받습니다: - 결제 관련 문의라면 주문 내역의 주문 ID; - API 문제라면 요청 시각, endpoint, 오류 코드; - 페이지가 예상과 다르게 반환되었다면 읽으려 했던 URL. API 키나 계정 번호는 절대 이메일로 보내지 마세요. ## 웹사이트를 운영하고 있습니다. 어떻게 연락하나요? 도메인, 날짜와 시각, 그리고 User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`가 나타난 서버 로그 한 줄을 함께 abuse@webreaderapi.com으로 보내 주세요. 저희에게 연락하지 않고 크롤러를 차단하려면 robots.txt에 `WebReaderAPI`에 대한 규칙을 추가하면 됩니다. [봇 페이지](https://webreaderapi.com/ko/bot/)에 바로 쓸 수 있는 예시가 있습니다. 신고된 모든 남용은 담당자가 직접 검토하며, 서비스를 오용한 것으로 확인된 계정은 정지됩니다. ## 지원팀이 도와줄 수 있는 것은 무엇인가요? API 사용이나 계정에 관한 모든 것: - 페이지가 비어 있거나, 일부만 반환되거나, 본문 추출이 잘못된 경우; - 이해되지 않는 오류 코드, 또는 중간에 멈추는 크롤링 작업; - 컨펌 이후에도 잔액에 반영되지 않은 충전; - [환불 정책](https://webreaderapi.com/ko/refunds/)에 따른 환불 요청; - 프로덕션 사용을 위한 더 높은 동시성 제한. 지원팀이 사이트에서 저희 크롤러를 받아들이도록 만들 수는 없습니다. 사이트가 저희를 거부할 경우 유일한 방법은 사이트 소유자의 허가입니다. ## 결제 문제는 어떻게 신고하나요? 코인, 네트워크, 보낸 수량, 트랜잭션 ID를 고객 영역의 주문 ID와 함께 알려 주세요. 이것만으로 블록체인상의 송금을 찾을 수 있습니다. 프라이빗 키, 시드 구문, 계정 번호, API 키는 포함하지 마세요. 저희는 절대 필요로 하지 않으며, 이를 요청하는 사람은 저희가 아닙니다. ## 채팅이나 전화 상담이 있나요? 없습니다. 이메일은 양측에 기록이 남고, 로그를 곁에 두고 정확하게 답변할 수 있게 합니다. API 상태는 [상태 페이지](https://webreaderapi.com/ko/status/)에서, 자주 묻는 질문은 [FAQ](https://webreaderapi.com/ko/faq/)에서 확인하세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Crawl API: 웹사이트 전체를 Markdown 파일로 변환 > 웹사이트 전체를 RAG용 Markdown으로 변환하는 Crawl API: 작업당 최대 10,000페이지, sitemap과 robots.txt 준수, US$0.07/1K 페이지부터. 암호화폐 결제. - URL: https://webreaderapi.com/ko/crawl-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 시작 URL과 페이지 제한을 지정하세요. 크롤러가 사이트의 sitemap과 동일 도메인 내 링크를 따라가며 각 페이지를 Markdown으로 읽고, 페이지별로 결과를 넘겨줍니다. 페이지당 1크레딧. **빠른 답변 — 웹사이트 전체를 크롤링하여 모든 페이지를 Markdown으로 받으려면 어떻게 하나요?** crawl API를 사용하세요: 시작 URL과 제한을 보내면 사이트의 각 페이지를 Markdown으로 반환합니다. **WebReaderAPI**는 작업당 최대 10,000페이지를 하나의 도메인 내에서 크롤링하며, sitemap, robots.txt, Crawl-delay를 준수하고 읽은 페이지당 1크레딧을 청구합니다. 2026년 10월 기준 US$0.07/1K 페이지부터입니다. robots.txt에서 거부된 페이지는 무료입니다. KYC 없이 암호화폐로 결제하세요. ## Crawl API 한눈에 보기 | 속성 | 값 | | --- | --- | | 크롤링 시작 | `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths`으로 `POST https://webreaderapi.com/api/v1/crawl` | | 결과 가져오기 | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, 커서로 페이지네이션 | | 범위 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다 | | 여러 개의 개별 URL | `POST https://webreaderapi.com/api/v1/batch`: 배치 작업당 최대 100개의 URL | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 사이트 소유자 | 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다 | | 가격 | US$14.25 50,000페이지, US$50 500,000페이지 | ## 크롤링 작업은 어떻게 진행되나요? 크롤링은 백그라운드 작업입니다. 수백 개의 페이지를 읽는 데는 하나의 HTTP 요청에 적당한 시간보다 오래 걸리기 때문입니다. 1. **시작:** 시작 URL과 제한을 지정해 `POST https://webreaderapi.com/api/v1/crawl`를 호출합니다. 그러면 `job_id`를 즉시 받습니다. 2. **탐색:** 크롤러가 사이트의 robots.txt와 sitemap을 읽은 뒤, 같은 도메인 내의 링크를 너비 우선 방식으로 최대 `max_depth`까지 따라갑니다. 3. **읽기:** 허용된 각 페이지는 `/read`와 동일한 옵션으로 읽습니다. Markdown, 본문 추출, 필요 시 렌더링이 적용됩니다. 4. **수집:** 작업이 실행되는 동안 `GET https://webreaderapi.com/api/v1/jobs/{job_id}`를 폴링하고 커서로 결과를 페이지 단위로 넘겨받거나, 작업이 `done`된 뒤에 받습니다. 작업은 설정한 `limit`에서 중지되므로, 요청한 것보다 많은 페이지에 비용을 지불하지 않습니다. *Python: 문서 사이트를 Markdown 파일로 크롤링하기* ```python import os import pathlib import re import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} job = requests.post( API + "/crawl", headers=HEADERS, json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]}, timeout=60, ).json() out = pathlib.Path("docs_md") out.mkdir(exist_ok=True) cursor, delay = None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for item in page.get("results", []): if "markdown" in item: name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120] (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8") cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print("credits used:", page.get("credits_used")) ``` ## 크롤러는 어떤 페이지를 방문하고 어떤 페이지를 건너뛰나요? 시작 URL의 도메인 안에 머무르며, 사이트가 robots에게 남겨두라고 요청한 것은 모두 건너뜁니다. 자세히 설명하면: - **같은 도메인만.** 다른 도메인으로의 링크는 결과에 나열되지만 읽지는 않습니다. - **robots.txt 우선.** `WebReaderAPI`에 대해 또는 모든 로봇에 대해 금지된 페이지는 건너뛰며 비용이 청구되지 않습니다. - **Crawl-delay 준수.** 사이트가 설정한 경우 크롤러는 두 페이지 사이에 그만큼 기다리므로, 큰 사이트는 시간이 더 걸릴 수 있습니다. - **필터 설정.** `include_paths`와 `exclude_paths`는 `/blog/*` 같은 단순 패턴을 지원하니, 태그 페이지, 검색 페이지, 아카이브를 피하는 데 사용하세요. - **중복 제거.** 사이트가 canonical URL을 선언한 경우, 추적 파라미터 등으로 두 개의 URL에서 도달한 같은 페이지는 한 번만 읽습니다. ## 크롤링과 배치 중 무엇을 써야 하나요? 사이트는 알지만 페이지를 모른다면 크롤링을, 이미 URL 목록이 있다면 배치를 사용하세요. 크롤링은 sitemap과 링크에서 페이지를 발견합니다. 배치는 보낸 URL을 정확히 읽으며, 사이트 수에 관계없이 작업당 최대 100개까지 가능합니다. 지식 베이스를 매주 갱신할 때 흔한 패턴은 크롤링 한 번으로 인덱스를 만든 뒤, sitemap에서 `lastmod`가 바뀐 페이지들을 배치로 읽는 것입니다. 이렇게 하면 주간 비용은 실제로 변경된 페이지에만 발생합니다. ## 사이트 크롤링 비용은 얼마인가요? 읽은 페이지당 1크레딧, 브라우저가 필요했던 페이지는 2크레딧입니다. 서버에서 렌더링되는 1,500페이지 문서 사이트는 1,500크레딧이고, 같은 사이트를 싱글 페이지 앱으로 만든 경우 최대 3,000크레딧이 들 수 있습니다. 2026년 10월 기준 세 가지 일반적인 작업은 다음과 같습니다. 300페이지 제품 매뉴얼은 10,000페이지 팩(US$3.75)에 들어갑니다. 각 2,000페이지인 문서 사이트 10개는 50,000페이지(US$14.25)에 들어갑니다. 400,000페이지 아카이브는 500,000페이지(US$50)에 들어갑니다. 건너뛴 페이지와 실패한 페이지는 무료입니다. ## 크롤링에는 어떤 팩이 맞나요? 페이지 수를 기준으로 팩 크기를 정한 뒤, 브라우저가 필요한 페이지를 위한 여유를 더하세요. 크레딧은 만료되지 않으므로 남은 크레딧은 다음 크롤링에 사용할 수 있습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 확장 | 500,000페이지 | US$50 | US$0.10/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 크롤링 API: 자주 묻는 질문 ### 크롤링 하나로 몇 페이지를 읽을 수 있나요? 시작 URL의 도메인 내에서 작업당 최대 10,000페이지입니다. 더 큰 사이트는 `include_paths`로 여러 작업으로 나누세요. 예를 들어 섹션별로 하나씩 나누면 됩니다. ### 크롤러는 sitemap을 사용하나요? 네. robots.txt에 나열된 또는 일반적인 위치의 sitemap을 읽은 뒤, 읽은 페이지의 링크를 따라갑니다. sitemap에만 나열된 페이지도 robots.txt가 허용하면 읽습니다. ### AI 크롤러를 차단하는 사이트도 크롤링할 수 있나요? WebReaderAPI로는 할 수 없습니다. robots.txt가 우리 크롤러나 모든 로봇을 금지하면 해당 페이지는 건너뛰며 비용이 청구되지 않습니다. 사이트가 `Content-Signal: ai-input=no`를 선언한 경우, 저희는 그것을 대신 읽지 않습니다. 저희는 그러한 선택을 우회하려고 시도하지 않습니다. ### 크롤링이 아직 실행 중일 때 결과를 받을 수 있나요? 네. `GET https://webreaderapi.com/api/v1/jobs/{job_id}`는 지금까지 읽은 페이지를 커서와 함께 반환합니다. 작업이 `done`되고 커서가 남지 않을 때까지 계속 페이지를 넘기세요. ### 크롤링이 제한보다 많은 페이지를 읽을 수 있나요? 아니요. 크레딧은 페이지별로 계산되며, 작업은 설정한 `limit`에 도달하면 중지됩니다. robots.txt 때문에 건너뛴 페이지와 실패한 페이지는 크레딧을 사용하지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 암호화폐로 웹 리더 API 결제하기 > BTC, USDT, USDC, ETH, SOL 또는 LTC로 WebReaderAPI에 암호화폐로 결제하는 방법, 최소 충전 금액 US$25, 어떤 네트워크를 선택해야 하는지, 그리고 송금 후 해야 할 일을 안내합니다. - URL: https://webreaderapi.com/ko/crypto-payments/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 암호화폐로 WebReaderAPI 잔액을 충전하고 페이지 크레딧으로 전환하는 단계별 가이드와 피해야 할 실수를 정리했습니다. **빠른 답변 — 암호화폐로 WebReaderAPI를 어떻게 결제하나요?** **WebReaderAPI** 잔액을 BTC, USDT, USDC, ETH, SOL, LTC로 최소 US$25 이상 충전하세요. 표시된 정확한 금액을 표시된 네트워크로 보낸 뒤 "I've sent the payment"를 클릭하세요. 충전은 정확한 금액으로 매칭되며 컨펌 후 한 번 크레딧됩니다. 그런 다음 잔액에서 페이지 크레딧을 구매하세요. 10,000페이지에 US$3.75부터입니다. KYC 없이 가능합니다. ## 어떤 코인으로 결제할 수 있나요? 6개의 코인, 하나의 잔액. USDT는 TRC-20 또는 ERC-20, USDC는 ERC-20에서 사용할 수 있습니다. 결제 페이지에는 선택한 코인의 주소와 네트워크가 표시됩니다. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## 암호화폐 충전은 단계별로 어떻게 진행되나요? 빈 계정에서 작동하는 API 키까지 다섯 단계입니다. 유일한 대기는 블록체인 컨펌입니다. 1. **금액과 코인 선택** — 최소 US$25 이상을 입력하고 BTC, USDT, USDC, ETH, SOL 또는 LTC를 선택하세요. 결제 페이지가 달러 금액을 해당 코인으로 환산합니다. 2. **정확한 금액 송금** — 주소와 표시된 금액을 복사해 페이지에 명시된 네트워크로 보내세요. 한 번의 전송, 정확한 금액, 반올림 없이 보내야 합니다. 3. **"I've sent the payment" 클릭** — 페이지에 전송이 진행 중이라고 알려 주세요. 트랜잭션 ID를 요청하면 붙여넣어 전송을 더 쉽게 찾을 수 있게 해 주세요. 4. **네트워크가 확인하도록 두세요** — 충전은 정확한 금액으로 매칭되며, 네트워크가 확인한 뒤에 크레딧으로 반영됩니다. Bitcoin은 Tron의 USDT나 Solana의 SOL보다 시간이 더 걸립니다. 5. **크레딧 팩 구매하기** — 잔액으로 어떤 팩이든 결제할 수 있습니다. 팩에서 시작하셨다면 충전이 반영되는 즉시 팩이 구매되며, API 키는 대시보드에 나타납니다. ## 어떤 코인과 네트워크를 사용해야 하나요? 이미 보유하신 코인을 결제 페이지에 표시된 네트워크로 사용하세요. 스테이블코인(USDT 또는 USDC)은 금액을 달러로 유지하므로, 보시는 가격이 곧 지불하시는 가격입니다. 네트워크 수수료와 확인 시간은 체인마다 다릅니다. 위 단계의 표에 각 네트워크의 일반적인 확인 시간이 나와 있습니다. USDT를 여러 체인에 보유하고 계시다면, 회원님의 금액에 대해 수수료가 더 적은 체인을 선택하세요. 수수료는 발신자가 지불하며 충전 금액에 포함되지 않습니다. ## 최소 충전 금액이 있는 이유는 무엇인가요? 금액에 관계없이 각 결제에는 확인과 장부 기록 비용이 들기 때문입니다. 최소 금액은 US$25이며, 이후 잔액으로 어떤 팩이든 구매할 수 있습니다. US$3.75짜리 10,000페이지 팩도 포함됩니다. 사용하지 않은 금액은 만료일 없이 잔액에 남아 있습니다. 구매하신 팩이 최소 금액보다 저렴한 경우, 남은 부분은 사용되지 않은 한 30일 이내에 USDT 또는 USDC로 돌려받으실 수 있습니다. ## 결제를 보낸 후에는 어떻게 되나요? 결제 페이지에서 "I've sent the payment"를 클릭하세요. 저희는 정확한 금액으로 전송을 매칭하고, 네트워크에 필요한 확인을 기다린 뒤 잔액에 반영합니다. 팩에서 시작하셨다면 충전이 반영되는 즉시 잔액에서 팩이 구매되며, API 키는 대시보드에 준비됩니다. 탭을 닫으셨다면 클라이언트 영역을 여세요. 대기 중인 충전과 반영된 충전은 주문 내역에 나타납니다. ## 금액을 잘못 보냈거나 잘못된 네트워크를 사용하면 어떻게 되나요? 다른 금액은 자체적으로 매칭될 수 없으며, 다른 네트워크로 보낸 전송은 주소에 도달하지 않을 수 있습니다. 보내기 전에 세 가지를 확인하세요: 코인, 네트워크, 정확한 금액입니다. 실수가 발생했다면 트랜잭션 ID와 주문 ID를 support@webreaderapi.com으로 보내 주세요. 계정 번호나 API 키는 보내지 마세요. 결제 페이지에 표시되지 않은 네트워크로 보낸 자금은 복구되지 않을 수 있습니다. ## 암호화폐 결제는 환불이 가능한가요? 환불은 지갑이 아닌 잔액으로 이루어지므로 두 번째 네트워크 수수료를 피할 수 있습니다. 72시간 이내에 20% 미만으로 사용된 팩이나 전혀 작동하지 않은 팩은 크레딧으로 환원됩니다. [환불 정책](https://webreaderapi.com/ko/refunds/)에 정확한 조건과 세 가지 예시가 나와 있습니다. ## 잔액이 반영되면 무엇을 구매할 수 있나요? 어떤 팩이든 가능합니다: US$3.75에 10,000페이지, US$14.25에 50,000페이지, 또는 US$21.75에 100,000페이지이며, 더 큰 팩은 [가격 페이지](https://webreaderapi.com/ko/pricing/)에서 확인하실 수 있습니다. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 가격은 USD 기준이며 2026-10-22에 책정되었습니다. 모든 팩은 암호화폐 잔액으로 결제됩니다. ## 암호화폐로 결제하기: 자주 묻는 질문 ### 결제에 카드나 신분증이 필요한가요? 아니요. WebReaderAPI은 암호화폐만 받으며 신분 서류를 요구하지 않습니다. 계정 번호로 로그인, 이메일은 선택 사항. ### 결제를 시작할 때 가격이 고정되나요? 결제 페이지는 해당 결제를 위해 선택하신 코인으로 금액을 표시합니다. 그 정확한 금액을 보내세요. 스테이블코인은 달러 가격과 동일하게 유지합니다. ### 충전 대신 요청당 크레딧을 결제할 수 있나요? 아니요. 결제는 선불 잔액을 통해 이루어지며, 각 읽기는 잔액에서 크레딧을 사용합니다. 잔액과 크레딧은 만료되지 않습니다. ### 결제 내역은 어디에서 볼 수 있나요? 클라이언트 영역의 주문 내역에서 각 충전의 상태, 코인, 네트워크 및 트랜잭션 ID와 함께 확인하실 수 있습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # URL to Markdown API 가격 지수 2026: 21개 API에서 1,000페이지당 비용 > URL-to-Markdown 및 웹 리더 API 가격 지수 2026: 21개 API, 3가지 볼륨에서 1,000페이지당 비용, 정적 및 JavaScript 페이지, 암호화폐, KYC. 2026-10-22 확인. - URL: https://webreaderapi.com/ko/data/url-to-markdown-price-index-2026/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 모델을 위해 웹페이지를 Markdown 또는 텍스트로 변환하는 21개 API의 공개 정가를 세 가지 월간 볼륨에서 1,000페이지당 비용으로, 일반 페이지와 브라우저에서 렌더링된 페이지에 대해 정규화한 자료입니다. 표에 포함된 API 중 하나인 WebReaderAPI이(가) 게시합니다. **빠른 답변 — 2026년에 URL-to-Markdown API는 1,000페이지당 얼마인가요?** 2026-10-22에 정가를 읽은 21개 API 전반에서, 월 100,000개의 일반 페이지를 읽는 비용은 1,000페이지당 중앙값 $0.99이며, 페이지에 브라우저가 필요하면 $1.00입니다. 월 1백만 페이지에서는 중앙값이 $0.774와 $0.899로 떨어집니다. 이 지수를 게시하는 **WebReaderAPI**은(는) 100,000개에서 일반 페이지에 대해 US$0.22/1K 페이지을(를) 청구합니다. ## 여섯 개의 숫자로 본 지수 - **$2.00** 월 10,000개에서 1,000개 일반 페이지당 중앙값 (21개 API) - **$0.99** 월 100,000개에서 1,000개 일반 페이지당 중앙값 (21개 API) - **$0.774** 월 100만 페이지 기준 1,000 일반 페이지당 중앙값 (API 20종) - **$1.00** 월 10만 페이지 기준 1,000 브라우저 렌더링 페이지당 중앙값 (API 18종) - **$0.899** 월 100만 페이지 기준 1,000 브라우저 렌더링 페이지당 중앙값 (API 17종) - **3 + 7** 계정에서 암호화폐 결제를 명시한 API와 요청별 USDC(x402)를 받는 API ## 이 인덱스는 어떻게 만들었나요? 2026-10-22에 각 제공업체의 공개 가격 페이지를 읽고 거기에 표시된 수치만 남겼습니다. 모든 출처는 하단에 나열되어 있습니다. "페이지"는 URL 하나를 읽어 Markdown 또는 텍스트로 반환한 것을 말하며, 제공업체의 기본 프록시를 사용하고 유료 애드온은 사용하지 않습니다. - **일반 페이지:** JavaScript 렌더링 없음. **브라우저 페이지:** 헤드리스 브라우저에서 먼저 렌더링됨. 항상 렌더링하는 제공업체(Firecrawl, Olostep, Diffbot)는 두 표에서 가격이 같습니다. - **특정 볼륨의 가격:** 한 제공업체에서 매달 그만큼의 페이지를 구매하는 가장 저렴한 공개 방식(플랜, 플랜과 공개된 초과 요금, 또는 종량제)을 사용한 페이지 수로 나눈 값. 10만 페이지에 사용한 $99 플랜은 더 많은 페이지가 포함되어 있어도 1,000페이지당 $0.99로 계산합니다. - **크레딧 배수가 적용됩니다**, 예를 들어 ScrapingBee, ZenRows, Scrape.do에서 브라우저 페이지당 5 크레딧이 적용됩니다. - **무료 티어는 나열하지만 가격은 매기지 않습니다.** 토큰, 브라우저 시간, 데이터 볼륨 또는 컴퓨트로 청구되는 API와 Markdown 출력을 확인할 수 없었던 API 하나는 별도로 나열되어 있습니다. WebReaderAPI은 참고용으로 표시되었으며 중앙값에는 포함되지 않습니다. ## 월간 볼륨별 1,000 일반 페이지당 가격 브라우저 없이 읽는 정적 페이지. "—"는 해당 볼륨에서 게시되지 않았거나 셀프서비스가 아님을 의미합니다. | API | 월 10K 페이지 | 월 100K 페이지 | 월 1M 페이지 | | --- | --- | --- | --- | | WebReaderAPI (선불, 만료 없음) | US$0.38/1K 페이지 | US$0.22/1K 페이지 | US$0.07/1K 페이지 | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $1.60 | $1.40 | $1.30 | | Exa contents | $1.00 | $1.00 | $1.00 | | Parallel Extract | $1.00 | $1.00 | $1.00 | | Linkup fetch | $1.00 | $1.00 | $1.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.49 | $0.099 | | ScraperAPI | $4.90 | $0.49 | $0.149 | | ZenRows | $0.50 | $0.39 | $0.199 | | Scrapfly | $3.00 | $0.30 | $0.10 | | Scrape.do | $2.90 | $0.29 | $0.099 | | Crawlbase | $2.10 | $0.764 | $0.349 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $1.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.49 | $0.249 | | Scrapeless | $1.00 | $0.90 | $0.80 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.50 | $0.395 | *가격 확인 날짜: 2026년 10월 22일.* 2026-10-22에 읽은 USD 기준 정가입니다. 저희 가격: 같은 날짜의 WebReaderAPI 가격 페이지. ## 월간 볼륨별 1,000 브라우저 렌더링 페이지당 가격 JavaScript가 필요한 페이지로, 헤드리스 브라우저에서 렌더링됩니다. 브라우저 옵션을 문서화하지 않은 API는 이 표에서 제외됩니다. | API | 월 10K 페이지 | 월 100K 페이지 | 월 1M 페이지 | | --- | --- | --- | --- | | WebReaderAPI (페이지당 2 크레딧) | $0.75/1K 페이지 | $0.435/1K 페이지 | $0.148/1K 페이지 | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $3.00 | $2.36 | $2.90 | | Linkup fetch | $5.00 | $5.00 | $5.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.99 | $0.599 | | ScraperAPI | $4.90 | $1.49 | $0.975 | | ZenRows | $2.50 | $0.99 | $0.549 | | Scrapfly | $3.00 | $1.00 | $0.56 | | Scrape.do | $2.90 | $0.99 | $0.699 | | Crawlbase | — | $0.99 | $0.599 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $5.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.99 | $0.999 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.99 | $0.667 | *가격 확인 날짜: 2026년 10월 22일.* ## API마다 가격 차이가 왜 이렇게 큰가요? 차이의 대부분은 네 가지로 설명됩니다. 1. **제품 유형.** 범용 웹 스크래핑 API(ScrapingBee, Scrape.do, ZenRows, Scrapfly)는 볼륨에 맞춰 가격이 책정되며 월 100만 페이지에서 1,000 일반 페이지당 약 $0.10까지 내려갑니다. AI 중심 리더(Exa, Parallel, Linkup)는 정액 $1.00을 부과하고 검색 기능을 추가합니다. 2. **브라우저 배수.** 크레딧 기반 API에서는 브라우저 페이지가 일반 페이지보다 2~10배 비쌉니다. 정액 가격 API는 둘 다 같은 가격을 받습니다. 3. **플랜 단계.** 많은 제공업체가 큰 허용량의 월간 플랜을 판매하므로, 소규모 사용자는 사용하지 않는 페이지에 비용을 지불합니다. 월 10,000 일반 페이지의 중앙값은 $2.00입니다. 4. **만료.** 대부분의 플랜은 매월 미사용 크레딧을 초기화합니다. ScrapeGraphAI, Crawlbase, Crawl4AI Cloud는 구매한 크레딧을 월별 초기화 없이 유지합니다. ## 무료 티어, 만료, 암호화폐, 신원 확인, robots.txt 저희가 읽은 페이지에서 각 제공업체가 밝힌 내용. "명시되지 않음"은 해당 페이지에 언급되지 않았음을 의미합니다. | API | 무료 체험 | 크레딧 만료 | 암호화폐 결제 | 신원 확인 | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | 없음 | 절대 안 함 | BTC, USDT, USDC, ETH, SOL, LTC | 없음: 신분증, 셀피, 서류 불필요 | 준수됨; 절대 무시하지 않음 | | Firecrawl | 월 1,000 크레딧, 카드 불필요 | 플랜 크레딧은 매월 리셋 | 아니요 (카드, PayPal) | 명시된 내용 없음 | 기본적으로 준수하며, Enterprise에서만 재정의 가능 | | Tavily Extract | 월 1,000 크레딧 (기본 URL 5,000개) | 매월 초기화 | 재량에 따라서만 (약관) | 명시된 내용 없음 | 명시되지 않음 | | Exa contents | 월 $10 크레딧 | 무료 크레딧은 매월 초기화 | 요청별 USDC(x402) | 종량제 결제 시 카드 | 인덱스 크롤러에 대한 설명이며, 사용자 fetch에 대한 내용은 아님 | | Parallel Extract | 월 5,000 요청 | 무료 크레딧은 매월 만료 | 요청별 USDC(x402) | 월별 크레딧용 카드 | 인덱스 크롤러에 대한 설명이며, 사용자 fetch에 대한 내용은 아님 | | Linkup fetch | 월 $20 (전문 이메일) | 명시되지 않음 | 요청별 USDC(x402) | 무료 크레딧을 위한 전문 이메일 | 크롤링은 이를 준수하며, fetch에 대한 언급은 없음 | | Olostep | 500 요청 체험 | 플랜은 월 단위, 충전은 6개월 | 요청별 USDC(x402) | 충전 시 카드 | 이를 준수하는 도구 제공, 기본값은 언급되지 않음 | | ScrapeGraphAI | 500 크레딧 | 플랜 크레딧은 이월되지 않으며, 충전 크레딧은 만료되지 않음 | 에이전트 전용 (MPP) | 명시되지 않음 | 고객이 준수해야 함 (약관) | | Diffbot | 월 10,000 크레딧 | 할당량은 매 기간 초기화 | 명시되지 않음 | 무료 플랜에는 카드 불필요 | Crawl은 기본적으로 준수하며, Extract에 대한 언급은 없음 | | ScrapingBee | 1,000 크레딧 | 이월 없음 | 아니요 | 유료 플랜은 카드 결제 | 명시되지 않음 | | ScraperAPI | 7일간 5,000 크레딧 | 각 결제 기간마다 만료 | 아니요 | 명시된 내용 없음 | 명시되지 않음 | | ZenRows | 월 5,000 크레딧 | 갱신 시 | 계정: 아니요, 에이전트: USDC (x402) | 이메일 검증 | 명시되지 않음 | | Scrapfly | 1,000 크레딧 1회 | 이월 없음 | 명시되지 않음 | 모든 고객에게 KYC | Crawler API는 기본적으로 이를 준수하며, 비활성화 가능 | | Scrape.do | 월 1,000 크레딧 | 명시되지 않음 | 예 (코인은 언급되지 않음) | 명시된 내용 없음 | 명시되지 않음 | | Crawlbase | 1,000 크레딧 | 종량제: 만료되는 것 없음 | 명시되지 않음 | 명시된 내용 없음 | 명시되지 않음 | | Bright Data Web Unlocker | 월 5,000 크레딧 | 무료 크레딧은 매월 초기화 | 아니요 | 개인 이메일 계정은 카드, robots에서 차단된 페이지는 회사 KYC | 기본적으로 준수 | | Oxylabs Web Scraper API | $5 크레딧 1회 | 사이클 종료 | 아니요 | 모든 고객에게 KYC | 언급되지 않음 | | Decodo Web Data API | 월 최대 10,000건 요청 | 미사용분은 매월 만료 | 예 (CoinGate 경유) | 자동 확인 후 KYC | 명시되지 않음 | | Scrapeless | 체험판, 규모 미표시 | 선불 최소 금액 유지 안 함 | 예 (코인은 언급되지 않음) | 기본 패키지는 없음 | 명시되지 않음 | | Hyperbrowser Fetch | 5,000 크레딧 | 구매한 크레딧: 12개월 | 요청별 USDC(x402) | 명시되지 않음 | 명시되지 않음 | | Steel scrape | $30 1회 (90일) | 출시 크레딧 90일 | 요청별 USDC(x402) | 카드 없음 | 약관상 위반 금지 | | Crawl4AI Cloud | 월 1,000 크레딧 | 구매한 크레딧은 만료되지 않음 | 명시되지 않음 | 카드 없음 | 약관상 준수 요구 | *가격 확인 날짜: 2026년 10월 22일.* ## 주요 발견 사항은 무엇인가요? - **일반 페이지는 대량일 때 저렴합니다.** 월 100만 페이지 기준으로 ScrapingBee($0.099), Scrape.do($0.099), Scrapfly($0.10)가 일반 페이지 최저가를 표시합니다. - **브라우저 페이지는 더 비쌉니다.** 월 100만 기준으로 Olostep($0.399), ZenRows($0.549), Scrapfly($0.56)가 브라우저 페이지 최저가를 표시합니다. - **가장 잘 알려진 리더가 가장 저렴하지는 않습니다.** Firecrawl은 100,000페이지 기준 1,000페이지당 $0.99, 100만 기준 $0.749를 표시하며 모든 페이지를 렌더링합니다. - **계정 결제에서 암호화폐는 드뭅니다.** Scrape.do, Decodo Web Data API, Scrapeless는 암호화폐 결제를 명시합니다. Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch, Steel scrape는 x402를 통해 요청당 USDC로 결제합니다. - **robots.txt는 종종 고객에게 맡깁니다.** 최소한 크롤링 제품에서 robots.txt 준수를 기본값으로 명시하는 제공업체: Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. 많은 업체는 아무 언급도 하지 않습니다. - **KYC는 예외입니다.** Oxylabs와 Scrapfly는 모든 고객에게 KYC를 요구하며, Decodo는 먼저 자동 확인을 실행합니다. ## 다른 방식으로 청구되는 API (중앙값에 미포함) 이들은 토큰, 브라우저 시간, 데이터 용량 또는 컴퓨팅으로 청구하거나 Markdown 출력을 확인하지 않았으므로 페이지당 가격은 귀하의 페이지에 따라 달라집니다. | API | 가격 | 참고 | | --- | --- | --- | | Jina Reader | 출력 토큰 10억 개당 $50; 110억 개당 $500 | 토큰 단위 청구: 페이지당 비용은 페이지 길이에 따라 달라집니다. 새 키당 무료 토큰 1,000만 개, 비상업용만 가능합니다. | | Cloudflare Browser Run | 포함된 10시간 이후 브라우저 시간당 $0.09, 월 최소 $5 | 브라우저 시간 단위 청구; /markdown, /content, /crawl 엔드포인트. | | Spider | 콘텐츠 GB당 $1 + 컴퓨팅 | 데이터 용량 단위 청구; 공개하는 페이지당 수치는 자체 추정치입니다. | | Apify Website Content Crawler | 컴퓨팅 유닛 (Business에서 유닛당 $0.13) | 컴퓨팅 단위 청구; 공개하는 페이지당 수치는 자체 추정치입니다. | | Zyte API | 정적 요청 1,000건당 $0.13 (website tier 1, 종량제); 브라우저 사용 시 $1.01 | 가격은 Zyte가 웹사이트별로 부여하는 tier에 따라 달라집니다; Markdown 출력은 저희가 확인한 페이지에 명시되지 않았습니다. | *가격 확인 날짜: 2026년 10월 22일.* ## 이 데이터를 재사용할 수 있나요? 예. 이 페이지의 표는 Creative Commons Attribution 4.0 라이선스(CC BY 4.0)로 게시됩니다: 이 페이지 링크와 2026-10-22 날짜를 함께 표기하면 복사 및 수정할 수 있습니다. 저희는 최소 한 달에 한 번 가격을 다시 확인합니다. 수치가 틀렸다면 올바른 값을 보여주는 페이지와 함께 support@webreaderapi.com으로 메일을 보내주세요; 저희가 수정하고 [changelog](https://webreaderapi.com/ko/changelog/)에 변경 사항을 기록합니다. ## 가격 지수: 자주 묻는 질문 ### URL-to-Markdown API 중 가장 저렴한 것은? 규모와 JavaScript 사용 여부에 따라 다릅니다. 2026-10-22 기준, 월 100만 페이지에서 일반 페이지 최저가는 ScrapingBee $0.099와 Scrape.do $0.099(1,000페이지당)였으며, 해당 규모에서 브라우저 페이지 최저가는 Olostep $0.399였습니다. ### Firecrawl의 페이지당 비용은 얼마인가요? Firecrawl은 JavaScript 포함 페이지당 1크레딧을 청구합니다: Hobby에서 5,000크레딧에 $19, Standard에서 100,000에 $99, Scale에서 100만에 $749 (2026-10-22 가격 페이지 기준). JSON 추출은 페이지당 4크레딧이 추가됩니다. ### Jina Reader가 기본 표에 없는 이유는 무엇인가요? Jina는 출력 토큰으로 과금하기 때문에(가장 작은 패키지 기준 10억 토큰당 $50), 페이지당 가격은 페이지 길이에 따라 달라집니다. 다른 방식으로 과금되는 API 표에 기재되어 있습니다. ### WebReaderAPI은 중앙값에 자기 자신을 포함하나요? WebReaderAPI은 이 지수를 공개하며 참고용으로 첫 행에만 표시됩니다. 중앙값은 다른 제공업체들을 사용합니다. ### 지수는 얼마나 자주 갱신되나요? 최소 한 달에 한 번, 그리고 등록된 제공업체가 공개 가격을 변경할 때 갱신됩니다. 상단의 날짜는 마지막 전체 점검 시점을 보여줍니다. ## 출처 1. [Firecrawl: 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: 가격](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: 가격](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: 가격](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: 가격](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: 가격](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: 가격](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: 가격](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: 가격](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: 가격](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: 가격](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: 가격](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: 가격](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: 가격](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: 가격](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: 가격](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: 가격](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: 가격](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: 가격](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: 가격](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: 가격](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: 가격](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: 가격](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: 가격](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: 가격](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: 가격](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # URL to Markdown API 빠른 시작: 2분 만에 첫 페이지 읽기 > URL to Markdown API 빠른 시작: 키를 받고, curl, Python 또는 Node.js로 첫 페이지를 읽고, 크레딧을 확인하세요. US$0.07/1K 페이지부터, KYC 없이. - URL: https://webreaderapi.com/ko/docs/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 하나의 endpoint, 하나의 parameter: URL을 `/read`으로 보내면 페이지의 본문 추출 결과를 Markdown으로 돌려받습니다. 이 페이지는 잔액이 비어 있는 상태에서 작동하는 호출까지 안내하고, 그다음 다른 모든 내용을 알려줍니다. **빠른 답변 — API로 URL을 Markdown으로 변환하려면 어떻게 하나요?** URL을 `Authorization` header에 API 키와 함께 `GET https://webreaderapi.com/api/v1/read`으로 보내세요. **WebReaderAPI**은 페이지를 가져와 본문 추출 결과를 제목, 저자, 날짜, 단어 수와 함께 Markdown으로 반환합니다. 한 페이지에 크레딧 1개(브라우저가 필요하면 2개)가 들며, 2026년 10월 기준 US$0.07/1K 페이지부터입니다. KYC 없이; 암호화폐 결제. ## 한눈에 보는 API 표 | 속성 | 값 | | --- | --- | | Base URL | `https://webreaderapi.com/api/v1` | | 페이지 하나 읽기 | `GET` 또는 `POST https://webreaderapi.com/api/v1/read` | | 여러 URL 또는 사이트 하나 | `POST https://webreaderapi.com/api/v1/batch` 및 `POST https://webreaderapi.com/api/v1/crawl`, `GET https://webreaderapi.com/api/v1/jobs/{job_id}`부터 결과 | | 남은 크레딧 | `GET https://webreaderapi.com/api/v1/credits` (무료) | | 인증 | API 키를 Bearer 토큰으로 Authorization 헤더에 넣거나 api_key 쿼리 파라미터에 넣어 전송하세요 | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 저희 크롤러 | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt token `WebReaderAPI` | | 가장 작은 팩 | US$3.75에 10,000페이지; 크레딧은 만료되지 않습니다 | ## API 키는 어떻게 받나요? 세 단계면 되고, 작성할 양식도 없습니다. 가장 오래 걸리는 단계는 충전금의 블록체인 컨펌입니다. 1. **암호화폐로 충전** — BTC, USDT, USDC, ETH, SOL, LTC로 최소 US$25을 보내세요. 계정 번호로 로그인, 이메일은 선택 사항. 2. **크레딧 팩 구매하기** — US$3.75에 대한 10,000페이지이면 본인의 URL로 모든 옵션을 직접 테스트하기에 충분합니다. 3. **키 복사** — 암호화폐 충전이 확인되고 팩을 구매하면 대시보드에서 API 키를 바로 사용할 수 있습니다. WEBREADER_API_KEY라는 이름의 환경 변수에 저장하세요. ## 첫 요청은 어떻게 생겼나요? 페이지 주소를 `url` 파라미터에 담아 보내는 일반 HTTPS GET입니다. 주소 자체에 `:`, `/` 문자가 들어 있으므로 인코딩해야 하는데, curl은 `--data-urlencode`을 쓰면 알아서 처리합니다. 기본 설정은 대부분의 아티클과 문서 페이지에 이미 맞춰져 있습니다: Markdown 출력, 본문만, 페이지가 필요로 할 때만 브라우저 사용. *curl: 페이지 하나 읽기* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" ``` *Python: 페이지 하나 읽고 저장하기* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post"}, timeout=70, ) resp.raise_for_status() page = resp.json() print(page["title"], "-", page["word_count"], "words,", page["credits_used"], "credit(s)") with open("first-post.md", "w", encoding="utf-8") as f: f.write(page["markdown"]) ``` *Node.js 18+: 페이지 하나 읽기* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); if (!res.ok) throw new Error(`${page.error.code}: ${page.error.message}`); console.log(page.title, page.word_count, 'words'); console.log(page.markdown.slice(0, 500)); ``` ## 무엇이 반환되나요? `markdown` 필드에 Markdown이, 그 옆에 페이지 메타데이터가 담긴 JSON 객체입니다: `title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`. 무슨 일이 있었는지 확인하는 데 도움이 되는 필드가 두 개 있습니다: `final_url`는 리다이렉트 후의 주소이고, `rendered`은 브라우저가 필요했는지 알려줍니다. `credits_used`은 호출 비용을 보여줍니다: 일반 페이지면 1, `rendered`가 `true`이면 2, `country`를 선택했다면 1이 더해집니다. [response format](https://webreaderapi.com/ko/docs/response/) 페이지에 모든 필드와 예시가 나와 있습니다. ## 어떤 옵션을 가장 많이 쓰게 되나요? 다섯 개 파라미터면 대부분의 요구를 커버합니다. 모두 선택 사항입니다. | 파라미터 | 용도 | |---|---| | `format` | `markdown` 대신 `text` 또는 정리된 `html` 받기 | | `main_content` | `false`을 설정해 메뉴까지 포함한 페이지 전체를 변환 | | `render` | 브라우저를 강제(`true`)하거나 금지(`false`); `auto`이 결정 | | `include_links` | 페이지의 링크를 별도 목록으로 받기 | | `max_chars` | 긴 페이지를 모델의 컨텍스트 예산에 맞게 자르기 | [read reference](https://webreaderapi.com/ko/docs/read/)에 `country`, `include_images`, `timeout`을 포함한 모든 파라미터가 설명되어 있습니다. ## 남은 크레딧은 어떻게 확인하나요? 같은 키로 `GET https://webreaderapi.com/api/v1/credits`를 호출하세요. `credits_remaining`, `credits_used_today`, `concurrency_limit`을 반환하며 비용은 들지 않습니다. 긴 작업을 시작할 때 실행하면 작업이 중간에 `402 insufficient_credits` 오류로 실패하는 대신 깔끔하게 멈출 수 있습니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다이므로, 한 프로젝트를 위해 구매한 팩은 다음 프로젝트에서도 가치를 유지합니다. ## 사이트에서 robots를 허용하지 않으면 어떻게 되나요? 해당 페이지는 읽지 않으며, 요금도 청구되지 않습니다. 저희 크롤러는 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`으로 자신을 알리고 사이트의 robots.txt를 따릅니다. 허용되지 않은 페이지는 `403 blocked_by_robots`를 반환하고, 다른 방식으로 요청을 거부하는 사이트는 사이트 자체의 상태 코드와 함께 `502 target_refused`를 반환합니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. [errors page](https://webreaderapi.com/ko/docs/errors/)에 어떤 오류를 재시도할 만하고 어떤 오류가 최종적인지 설명되어 있습니다. ## 다음은 어디로 가면 되나요? - [엔드포인트 레퍼런스 읽기](https://webreaderapi.com/ko/docs/read/) — /read의 모든 파라미터와 예시 - [배치 및 크롤링](https://webreaderapi.com/ko/docs/crawl/) — 배치당 최대 100개 URL, 또는 사이트 전체 - [응답 형식](https://webreaderapi.com/ko/docs/response/) — 응답의 모든 필드 - [오류 및 robots.txt](https://webreaderapi.com/ko/docs/errors/) — 코드, 원인, 재시도 규칙 - [Python](https://webreaderapi.com/ko/docs/python/) — requests, async httpx, RAG 청킹 - [Node.js](https://webreaderapi.com/ko/docs/node/) — fetch, 작은 풀, 크롤 폴링 - [curl과 jq](https://webreaderapi.com/ko/docs/curl/) — 터미널용 레시피 - [MCP 서버](https://webreaderapi.com/ko/docs/mcp/) — Claude와 Cursor용 read_url 도구 - [LangChain 및 LlamaIndex](https://webreaderapi.com/ko/docs/langchain/) — RAG용 로더와 도구 - [OpenAI 함수 호출](https://webreaderapi.com/ko/docs/openai/) — read_url 도구 스키마와 루프 - [n8n](https://webreaderapi.com/ko/docs/n8n/) — AI Agent용 HTTP Request 도구 - [OpenClaw](https://webreaderapi.com/ko/docs/openclaw/) — web_fetch 옆에 MCP 서버 추가 ## 빠른 시작: 자주 묻는 질문 ### 설치할 SDK가 있나요? 없습니다. WebReaderAPI은 일반 HTTPS API라서 어떤 HTTP 클라이언트든 작동합니다. 문서에는 Python, Node.js, curl용 복사-붙여넣기 코드와 MCP, LangChain, LlamaIndex, OpenAI function calling용 도구 정의가 있습니다. 패키지로 배포되는 것은 없습니다. ### 헤더 대신 URL에 키를 넣어 보낼 수 있나요? 네, `api_key` 쿼리 파라미터로 가능합니다. `Authorization: Bearer` 헤더가 더 안전한데, URL은 흔히 로그와 브라우저 기록에 남기 때문입니다. 여러 API 키를 만들 수 있습니다. 예를 들어 에이전트나 프로젝트별로 하나씩 만들고, 대시보드에서 원하는 키를 폐기할 수 있습니다. ### 실패한 페이지도 크레딧을 쓰나요? 아니요. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 콘텐츠와 함께 반환된 페이지에만 요금이 청구됩니다. ### 구매 전에 사용해 볼 수 있나요? 무료 플랜은 없습니다. 무료 티어는 없습니다. 가장 작은 팩이 테스트하는 방법이며, 최소 충전 금액에서 결제합니다. 최소 금액에 도달하기 위해서만 추가한 금액은 사용하지 않은 상태에서 30일 이내에 요청 시 USDT 또는 USDC로 돌려보낼 수 있습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Batch 및 crawl API: 여러 URL 또는 사이트 전체 읽기 > Batch 및 crawl API 레퍼런스: 작업당 최대 100개 URL 또는 최대 10,000페이지의 사이트 전체를 읽고, robots.txt와 Crawl-delay를 준수합니다. KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/docs/crawl/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 두 endpoint가 백그라운드 작업을 시작합니다: `/batch`은 최대 100개 URL 목록용, `/crawl`은 하나의 웹사이트용입니다. 둘 다 작업 ID를 반환하며, `/jobs/{job_id}`에서 한 번에 한 페이지씩 결과를 수집합니다. **빠른 답변 — WebReaderAPI로 웹사이트를 Markdown으로 크롤링하려면 어떻게 하나요?** 시작 URL을 페이지 `limit`와 함께 `POST https://webreaderapi.com/api/v1/crawl`로 보내세요. **WebReaderAPI**은 백그라운드에서 사이트를 읽으며, 같은 도메인만, sitemap, robots.txt 및 Crawl-delay를 따라 작업당 최대 10,000페이지까지 처리합니다. 작업에서 Markdown 페이지를 한 번에 한 페이지씩 수집하세요. 페이지 읽기마다 1크레딧(브라우저 사용 시 2크레딧)이 들며, 2026년 10월 기준 US$0.07/1K 페이지입니다. KYC 없이 암호화폐 결제. ## 작업 한눈에 보기 | 속성 | 값 | | --- | --- | | Batch | 배치 작업당 최대 100개의 URL: `POST https://webreaderapi.com/api/v1/batch` | | 크롤링 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다: `POST https://webreaderapi.com/api/v1/crawl` | | 결과 | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, 다음 결과 페이지는 `?cursor=…` | | 과금 | 페이지 읽기마다 `/read` 호출과 동일하게 과금됩니다; robots.txt에서 건너뛴 페이지와 실패한 페이지는 무료입니다 | | 크롤링 범위 | 하나의 도메인; 다른 도메인으로의 링크는 나열되지만 읽지 않습니다 | | 작업 취소 | v1에서는 제공되지 않습니다: 지불할 준비가 된 최대 페이지 수를 `limit`에 설정하세요 | ## Batch 작업 시작 `POST /api/v1/batch` 동일한 옵션으로 최대 100개 URL을 백그라운드에서 읽습니다. 옵션은 [/read](https://webreaderapi.com/ko/docs/read/)의 이름과 값을 사용합니다. 응답은 작업 ID이며, 값은 예시입니다. 인증: `Authorization: Bearer API_KEY` 헤더에 API 키를 넣습니다. **요청 본문** | 필드 | 타입 | 필수 | 설명 | | --- | --- | --- | --- | | `urls` | array of strings | 예 | http 또는 https URL 1~100개. 중복된 URL은 한 번만 읽습니다. | | `options` | object | 아니요 | `url`을 제외한 모든 `/read` 파라미터: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *예시: three articles as Markdown* ```json { "urls": [ "https://example.com/blog/post-1", "https://example.com/blog/post-2", "https://example.org/news/launch" ], "options": { "format": "markdown", "max_chars": 50000 } } ``` **응답** `202 Accepted` ```json { "job_id": "job_5c1e8a90d2" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/batch', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ urls: ['https://example.com/blog/post-1', 'https://example.com/blog/post-2'], options: { format: 'markdown' } }), }); console.log((await res.json()).job_id); ``` ## 크롤링 작업 시작 `POST /api/v1/crawl` 시작 URL에서 한 웹사이트를 너비 우선 방식으로 읽습니다. 크롤러는 시작 URL의 도메인에 머물고, robots.txt에 명시되었거나 `/sitemap.xml`에서 발견된 sitemap을 사용하며, robots.txt와 Crawl-delay를 준수합니다. 값은 예시입니다. 인증: `Authorization: Bearer API_KEY` 헤더에 API 키를 넣습니다. **요청 본문** | 필드 | 타입 | 필수 | 설명 | | --- | --- | --- | --- | | `url` | string | 예 | 시작 페이지입니다. 예를 들어 문서 사이트의 홈페이지입니다. | | `limit` | integer | 아니요 | 읽을 최대 페이지 수이며 최대 10,000까지입니다. 작업은 이 수에 도달하면 중지됩니다. | | `max_depth` | integer | 아니요 | 시작 URL에서 떨어진 최대 링크 단계 수입니다. | | `include_paths` | array of strings | 아니요 | 유지할 단순 경로 패턴입니다. 예: `/docs/*`. | | `exclude_paths` | array of strings | 아니요 | 건너뛸 단순 경로 패턴입니다. 예: `/blog/tag/*`. | | `options` | object | 아니요 | `url`을 제외한 모든 `/read` 파라미터로, 모든 페이지에 적용됩니다. | *예시: the docs section of a site, 500 pages at most* ```json { "url": "https://docs.example.com/", "limit": 500, "max_depth": 3, "include_paths": [ "/docs/*" ], "exclude_paths": [ "/docs/archive/*" ], "options": { "format": "markdown" } } ``` **응답** `202 Accepted` ```json { "job_id": "job_8b27f41c0e" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/crawl" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/crawl", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 500, include_paths: ['/docs/*'] }), }); console.log((await res.json()).job_id); ``` ## 작업 상태와 결과 가져오기 `GET /api/v1/jobs/{job_id}` 작업의 상태와 준비된 다음 결과를 반환합니다. `results`의 각 항목은 전체 `/read` 응답이거나 읽을 수 없는 페이지에 대한 `{url, error}`입니다. `next_cursor`이 있으면 `cursor`를 해당 값으로 설정해 다시 호출하세요. 없으면 아직 준비된 결과가 더 없다는 뜻입니다. 값은 예시입니다. 인증: `Authorization: Bearer API_KEY` 헤더에 API 키를 넣습니다. **파라미터** | 이름 | 위치 | 타입 | 필수 | 설명 | | --- | --- | --- | --- | --- | | `job_id` | path | string | 예 | `/batch` 또는 `/crawl`이 반환한 ID입니다. | | `cursor` | query | string | 아니요 | 다음 결과를 받기 위해 이전 호출에서 받은 `next_cursor` 값입니다. | **응답** `200` ```json { "job_id": "job_8b27f41c0e", "status": "running", "results": [ { "url": "https://docs.example.com/docs/install", "final_url": "https://docs.example.com/docs/install", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Install", "markdown": "# Install\n\nRun the installer...", "word_count": 418 }, { "url": "https://docs.example.com/docs/private", "error": { "code": "blocked_by_robots", "message": "robots.txt disallows this page for WebReaderAPI." } } ], "next_cursor": "c_000002", "credits_used": 1 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -d cursor=c_000002 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"cursor": "c_000002"}, timeout=30, ) job = resp.json() print(job["status"], len(job["results"]), job.get("next_cursor")) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e?cursor=c_000002', { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const job = await res.json(); console.log(job.status, job.results.length, job.next_cursor); ``` ## 작업이 끝날 때까지 어떻게 기다리나요? `/jobs/{job_id}`를 폴링하고 커서를 보관하세요. 받은 결과를 처리한 다음 `cursor`를 `next_cursor` 값으로 설정해 다시 호출합니다. `next_cursor`가 없고 `status`가 `done`이면 모든 결과를 받은 것이고, `next_cursor`가 없는데 작업이 아직 `running` 상태라면 잠시 기다린 뒤 같은 커서로 다시 요청하세요. 처음에는 2초마다 폴링하고, 새 결과가 없는 동안에는 대기 시간을 최대 30초까지 두 배씩 늘리세요. 사이트의 Crawl-delay를 지키는 크롤링은 시간이 걸릴 수 있으므로 오래 기다리는 것은 정상이며 비용이 들지 않습니다. *Python: 작업을 폴링하고 모든 페이지를 .md 파일로 저장* ```python import os import pathlib import re import time import requests JOBS = "https://webreaderapi.com/api/v1/jobs" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def save_job(job_id, folder="pages"): out = pathlib.Path(folder) out.mkdir(exist_ok=True) cursor, wait, saved = None, 2, 0 while True: params = {"cursor": cursor} if cursor else {} job = requests.get(f"{JOBS}/{job_id}", headers=HEADERS, params=params, timeout=30).json() for item in job["results"]: if "error" in item: print("skipped", item["url"], item["error"]["code"]) continue name = re.sub(r"[^a-z0-9]+", "-", item["final_url"].lower()).strip("-")[:120] (out / f"{name}.md").write_text(item["markdown"], encoding="utf-8") saved += 1 if job.get("next_cursor"): cursor, wait = job["next_cursor"], 2 continue if job["status"] == "done": return saved time.sleep(wait) wait = min(wait * 2, 30) if __name__ == "__main__": print(save_job("job_8b27f41c0e"), "pages saved") ``` ## 크롤링은 어떤 페이지를 읽나요? 크롤링은 지정한 URL에서 시작해 한 번에 링크 한 단계씩, 너비 우선(breadth first) 방식으로 최대 `max_depth`까지 바깥으로 확장됩니다. 또한 robots.txt에 명시된 주소나 `/sitemap.xml`에서 사이트의 sitemap을 읽어 링크가 거의 연결되지 않은 페이지도 찾아냅니다. - **동일 도메인만.** 다른 도메인으로 향하는 링크는 `include_links`를 요청할 때 결과에 나열되지만, 읽지는 않습니다. - **경로 필터.** `include_paths`과 `exclude_paths`는 `/blog/*` 같은 단순한 패턴을 받습니다. - **페이지당 한 번만.** 사이트가 canonical URL을 선언하면 여러 주소로 접근되는 페이지는 한 번만 읽습니다. - **확실한 종료 조건.** 작업은 `limit`개의 페이지를 읽으면 종료됩니다. ## 크롤링은 사이트를 어떻게 존중하나요? 모든 요청에는 User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`가 함께 전송되며, 크롤러는 `WebReaderAPI`에 대한 robots.txt 규칙을 따르고, 해당 이름을 명시한 규칙이 없으면 모든 로봇에 대한 규칙을 따릅니다. 허용되지 않은 페이지는 건너뛰며 `results`에 오류 `blocked_by_robots`과 함께 나타나고, 크레딧이 차감되지 않습니다. robots.txt에 `Crawl-delay`이 설정되어 있으면 크롤러는 해당 사이트에 요청을 보낼 때마다 그 시간만큼 기다립니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. ## 크롤링 비용은 얼마인가요? 페이지를 읽을 때마다 `/read` 호출과 같은 비용이 듭니다. 즉 1 크레딧이고, 페이지에 브라우저가 필요했다면 2 크레딧이며, `country`을 사용하면 10 크레딧이 추가됩니다. 건너뛴 페이지와 실패한 페이지는 무료입니다. 작업의 `credits_used`에는 지금까지 청구된 금액이 합산됩니다. 브라우저 없이 500페이지 분량의 문서 사이트를 읽으면 약 500 크레딧을 사용하며, 10,000페이지 팩(US$3.75)으로 여러 번 충당할 수 있습니다. v1에서는 작업을 취소할 수 없으므로 `limit`가 지출 한도입니다. 지불할 의사가 있는 최대 페이지 수로 설정하세요. ## 배치와 크롤링: 자주 묻는 질문 ### /batch를 사용해야 하나요, 아니면 /read를 여러 번 호출해야 하나요? 이미 URL이 있고 각 응답을 즉시 받을 필요가 없다면 `/batch`을 사용하세요. 동시성과 재시도를 직접 관리할 필요가 없습니다. 에이전트가 지금 바로 한 페이지를 필요로 한다면 `/read`을 사용하세요. ### 작업 결과는 얼마나 보관되나요? 준비되는 즉시 결과를 수집하세요. 결과는 가져올 때까지 대기하며, 전달된 후에는 페이지 콘텐츠의 사본이 보관되지 않으므로 필요한 내용은 직접 저장하세요. ### 크롤링이 다른 웹사이트로 연결되는 링크를 따라갈 수 있나요? 아니요. 크롤링은 하나의 도메인만 읽습니다. 다른 도메인은 요청할 경우 링크로 나타나며, 해당 URL을 읽고 싶다면 `/batch`으로 보낼 수 있습니다. ### 시작된 크롤링을 중지할 수 있나요? v1에서는 할 수 없습니다. 작업은 `limit`페이지에서 멈추므로 예산에 맞는 한도를 선택하세요. 이미 읽은 페이지는 계속 청구되며, 읽지 않은 페이지는 무료입니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # curl과 jq로 웹페이지를 Markdown으로 변환 > curl과 jq로 터미널에서 웹페이지를 Markdown으로 변환하세요: 페이지 저장, 링크 목록 조회, 배치 실행, 크레딧 확인. US$0.07/1K 페이지에서 KYC 없이 시작합니다. - URL: https://webreaderapi.com/ko/docs/curl/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) API가 하는 모든 일은 셸 한 줄로 처리할 수 있습니다. 이 레시피는 curl로 API를 호출하고 jq로 JSON에서 필드를 추출하며, 마지막에 Windows용 PowerShell 버전이 있습니다. **빠른 답변 — 명령줄에서 웹페이지를 Markdown으로 변환하려면 어떻게 하나요?** `Authorization: Bearer` 헤더에 키를 넣고 `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"`을 실행한 다음, 응답을 `jq -r .markdown`로 파이프하세요. **WebReaderAPI**은 페이지의 본문 추출 결과를 메타데이터와 함께 Markdown으로 반환합니다. 일반 페이지 하나에 1 크레딧이 들며, 2026년 10월 기준 US$0.07/1K 페이지부터 이용할 수 있습니다. KYC 없이 암호화폐로 결제하세요. ## 터미널은 어떻게 설정하나요? 대부분의 Linux와 macOS 시스템에 이미 설치되어 있는 curl과 jq를 설치하고, 세션마다 한 번씩 키를 export하세요. 아래의 모든 레시피는 `$WEBREADER_API_KEY`에서 키를 읽으므로, 키가 명령의 일부로 셸 히스토리에 남는 일은 없습니다. GET 요청에는 `-G`과 함께 `--data-urlencode`를 사용하세요: 그러면 curl이 페이지 주소를 대신 인코딩해 주는데, 주소 자체에 `?`, `&`, `=`가 들어 있기 때문에 이 점이 중요합니다. *키를 설정하고 한 페이지를 .md 파일로 저장* ```bash export WEBREADER_API_KEY="your-key" curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq -r '.markdown' > compost.md ``` ## 호출이 무엇을 반환했고 얼마가 들었는지 어떻게 보나요? 콘텐츠 대신 jq로 메타데이터를 요청하세요. `final_url`는 리다이렉트가 어디로 이어졌는지 보여 주고, `rendered`는 브라우저가 사용되었는지 알려 주며, `credits_used`는 호출에 든 비용입니다. 응답이 오류라면 같은 필터가 `null` 필드를 출력합니다. 코드와 메시지를 읽으려면 `.error`를 출력하세요. *메타데이터만, 또는 오류가 있으면 오류만* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq '.error // {title, final_url, rendered, credits_used, word_count}' ``` ## 페이지의 링크를 어떻게 나열하나요? `include_links=true`를 추가하고 `links` 목록을 탭으로 구분된 줄로 바꾸세요. 그러면 페이지의 외부 링크를 한눈에 볼 수 있어, 정렬하거나 grep으로 필터링하거나 배치 작업에 넘길 수 있습니다. *링크를 텍스트와 URL로, 한 줄에 하나씩* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/docs/" \ -d include_links=true \ | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u ``` ## JavaScript 페이지나 PDF는 어떻게 읽나요? JavaScript로 콘텐츠를 만드는 페이지에는 `-d render=true`를 추가하세요. 그러면 2 크레딧이 듭니다. PDF는 특별히 할 일이 없습니다: URL을 보내면 텍스트가 `markdown`로 돌아옵니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. *렌더링된 페이지, 그다음 PDF* ```bash curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/app/changelog" -d render=true \ | jq -r '.markdown' > changelog.md curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/files/annual-report.pdf" \ | jq -r '.markdown' > annual-report.md ``` ## 셸에서 배치 작업을 어떻게 실행하나요? URL이 담긴 JSON 본문을 `/batch`에 POST하고 `job_id`를 저장한 다음, 작업을 읽으세요. 작은 루프가 작업이 `done`이 될 때까지 기다렸다가 각 페이지의 제목이나 오류 코드를 출력합니다. 오래 걸리는 작업이라면 [배치 및 크롤링 페이지](https://webreaderapi.com/ko/docs/crawl/)에 나온 대로 `next_cursor`를 따르세요. *URL 세 개 배치, 그다음 결과 대기* ```bash JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \ | jq -r '.job_id') until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do sleep 5 done curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \ | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"' ``` ## 크레딧은 어떻게 확인하나요? `/credits`를 호출하세요. 무료입니다. `credits_remaining`, `credits_used_today`, 그리고 회원님의 `concurrency_limit`를 반환합니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. *남은 크레딧* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Windows의 PowerShell 버전은 무엇인가요? `Invoke-RestMethod`가 JSON을 대신 파싱하므로 jq가 필요 없습니다. `[uri]::EscapeDataString`로 쿼리를 만들어 페이지 주소를 인코딩하고, 키는 headers 테이블로 전달하세요. *PowerShell: 한 페이지 저장* ```powershell $headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" } $target = [uri]::EscapeDataString('https://example.com/guides/compost') $page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers $page.markdown | Out-File -Encoding utf8 compost.md "$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)" ``` ## curl: 자주 묻는 질문 ### &가 들어간 URL이 실패하는 이유는 무엇인가요? 셸이나 curl이 주소를 쪼개기 때문입니다. `url=…` 인자 전체를 따옴표로 감싸고 위 레시피들처럼 `--data-urlencode`과 함께 전달하세요. 그러면 curl이 페이지 주소 안의 `&`, `?`, `=`를 인코딩합니다. ### 오류의 HTTP 상태를 어떻게 보나요? `-w '\n%{http_code}\n'`를 추가하면 본문 뒤에 출력되고, `-i`를 추가하면 모든 헤더를 볼 수 있습니다. 본문의 `error.code`는 스크립트에서 검사하기에 안정적인 값입니다. ### 실패한 호출에도 요금이 청구되나요? 아니요. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 오류, robots.txt 거부 및 재시도 > WebReaderAPI의 모든 오류 코드: robots.txt 거부, 사이트 거부, 타임아웃, 크레딧 오류, 재시도해야 하는 오류, 그리고 그중 어느 것도 청구되지 않는 이유. - URL: https://webreaderapi.com/ko/docs/errors/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 각 오류에는 HTTP 상태, 안정적인 `code`, 읽을 수 있는 `message`가 있습니다. 어느 것도 크레딧을 사용하지 않습니다. 일부는 재시도할 가치가 있습니다. 사이트에서 비롯된 거부는 최종적이며, 우리는 이를 우회하지 않습니다. **빠른 답변 — WebReaderAPI 오류 코드는 무엇을 의미하며, 어느 것을 재시도해야 하나요?** **WebReaderAPI** 오류는 세 그룹으로 나뉘며, 어느 것도 청구되지 않습니다. 요청 문제(`invalid_url`, `invalid_api_key`, `insufficient_credits`)는 회원님 쪽에서 수정해야 합니다. 사이트 결정(`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`)은 최종적입니다. 일시적 실패(`fetch_failed`, `fetch_timeout`, `concurrency_limit`)는 백오프를 두고 재시도할 수 있습니다. 크레딧은 US$0.07/1K 페이지부터 시작하며, KYC 없이 암호화폐로 결제합니다. ## API가 반환할 수 있는 오류 코드는 무엇인가요? 본문은 항상 `{"error": {"code", "message"}}`이며, 거부가 사이트에서 비롯된 경우에는 `target_status`가 추가됩니다. | HTTP | `code` | 원인 | 재시도할까요? | | --- | --- | --- | --- | | 400 | `invalid_url` | http 또는 https가 아니거나, 너무 길거나, 사설·로컬·클라우드 메타데이터 주소입니다 | 아니요: URL을 수정하세요 | | 400 | `invalid_parameter` | 파라미터 값이 허용 목록이나 범위를 벗어났습니다 | 아니요: 요청을 수정하세요 | | 401 | `invalid_api_key` | 키가 없거나, 잘못되었거나, 폐기되었습니다 | 아니요: 키를 확인하세요 | | 402 | `insufficient_credits` | 잔액에 남은 크레딧이 없습니다 | 팩 구매 후 | | 403 | `blocked_by_robots` | 사이트의 robots.txt가 WebReaderAPI 또는 모든 로봇에 대해 해당 페이지를 허용하지 않습니다 | 아니요: 최종입니다 | | 403 | `blocked_by_site_policy` | 사이트가 `Content-Signal: ai-input=no`을(를) 선언합니다 | 아니요: 최종입니다 | | 422 | `unsupported_content` | 읽지 않는 유형(동영상, 압축 파일)이거나 파일이 너무 큽니다 | 아니요 | | 429 | `concurrency_limit` | 동시에 실행 중인 요청이 너무 많습니다 | 예, 백오프와 함께 | | 502 | `target_refused` | 사이트가 거부했습니다: 403, 429, 챌린지 페이지 또는 로그인 벽이며, 상태는 `target_status`에 있습니다 | 아니요: 최종입니다 | | 502 | `fetch_failed` | DNS, TLS 또는 연결 오류이거나 사이트가 404 또는 410으로 응답했습니다 | 한두 번, 백오프와 함께 | | 504 | `fetch_timeout` | 사이트가 `timeout` 안에 응답하지 않았습니다 | 예, 백오프 또는 더 긴 타임아웃과 함께 | ## robots.txt와 사이트 거부는 왜 최종인가요? 사이트 소유자의 결정이기 때문이며, WebReaderAPI은(는) 이를 따르도록 만들어졌습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 403, 429, 챌린지 페이지 또는 로그인 폼 등 다른 방식으로 요청을 거절하면 `target_refused`와 사이트 자체의 상태를 `target_status`에서 받습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 같은 URL을 1분 후에 다시 시도해도 보통 같은 답이 돌아오므로, 이 코드들은 실패가 아닌 결과로 보고 기록한 뒤 넘어가세요. ## 페이지가 거부된 이유는 어떻게 확인하나요? 사이트의 `/robots.txt`를 열고 `WebReaderAPI`을(를) 명시한 그룹 또는 모든 로봇에 적용되는 `*` 그룹을 찾으세요. 경로와 일치하는 `Disallow` 줄은 `blocked_by_robots`을(를) 설명합니다. `Content-Signal: ai-input=no`과 같은 줄은 `blocked_by_site_policy`을(를) 설명합니다. 저희는 각 robots.txt의 사본을 최대 24시간 동안 보관합니다. 사이트가 방금 어떤 섹션을 로봇에게 개방했다면 변경이 적용되기까지 최대 하루가 걸릴 수 있습니다. 사이트 소유자는 [크롤러 페이지](https://webreaderapi.com/ko/bot/)]에서 저희 크롤러의 동작 방식과 허용 또는 차단 방법을 확인할 수 있습니다. ## 일시적 실패는 어떻게 재시도해야 하나요? `concurrency_limit`, `fetch_timeout`, 그리고 한두 번은 `fetch_failed`만 재시도하세요. 새 시도 전에 기다리고 대기 시간을 매번 두 배로 늘리되, 병렬 워커들이 동시에 재시도하지 않도록 약간의 무작위 지터를 더하세요. 4~5회 시도 후 중단하세요. `concurrency_limit`에는 동시에 보내는 요청 수를 줄이는 것이 더 나은 해결책입니다: 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. `fetch_timeout`에는 느린 사이트를 재시도하기 전에 `timeout`을(를) 최대 60초까지 늘리세요. 실패한 시도는 과금되지 않으므로 재시도에는 비용이 들지 않습니다. *Python: 결과가 바뀔 수 있는 오류만 재시도* ```python import os import random import time import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} RETRY = {"concurrency_limit", "fetch_timeout", "fetch_failed"} FINAL = {"blocked_by_robots", "blocked_by_site_policy", "target_refused", "unsupported_content"} def read_page(url, attempts=5, **options): wait = 1.0 for attempt in range(1, attempts + 1): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code == 200: return resp.json() error = resp.json().get("error", {}) code = error.get("code", "unknown") if code in FINAL: return {"url": url, "skipped": code, "target_status": error.get("target_status")} if code not in RETRY or attempt == attempts or (code == "fetch_failed" and attempt >= 3): raise RuntimeError(f"{code}: {error.get('message')}") time.sleep(wait + random.uniform(0, wait / 2)) wait = min(wait * 2, 30) raise RuntimeError("unreachable") if __name__ == "__main__": print(read_page("https://example.com/blog/first-post", max_chars=20000).get("title")) ``` *Node.js: 지수 백오프를 적용한 동일한 규칙* ```javascript const RETRY = new Set(['concurrency_limit', 'fetch_timeout', 'fetch_failed']); const FINAL = new Set(['blocked_by_robots', 'blocked_by_site_policy', 'target_refused', 'unsupported_content']); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); export async function readPage(url, options = {}, attempts = 5) { let wait = 1000; for (let attempt = 1; attempt <= attempts; attempt++) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const body = await res.json(); if (res.ok) return body; const code = body.error?.code ?? 'unknown'; if (FINAL.has(code)) return { url, skipped: code, target_status: body.error.target_status }; if (!RETRY.has(code) || attempt === attempts) throw new Error(`${code}: ${body.error?.message}`); await sleep(wait + Math.random() * (wait / 2)); wait = Math.min(wait * 2, 30000); } } ``` ## 배치나 크롤링 내부의 오류는 어떻게 하나요? 한 페이지가 실패해도 작업은 멈추지 않습니다. 해당 페이지는 `results`에 위와 같은 코드인 `{url, error}`로 표시되며, 크레딧이 차감되지 않습니다. 크롤링 중 특정 섹션에서 `blocked_by_robots`가 발생하면 사이트의 나머지 부분은 그대로 읽습니다. 작업이 끝나면 에러 코드를 집계하세요. 한 사이트에서 `target_refused`가 많다면 그 사이트가 자동 리더를 허용하지 않는다는 뜻이고, `fetch_timeout`가 많다면 응답이 느리다는 뜻이므로 작업 옵션에서 `timeout`를 늘리면 도움이 될 수 있습니다. ## 에러: 자주 묻는 질문 ### robots.txt가 차단한 페이지에도 비용이 청구되나요? 아니요. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 이 페이지의 다른 모든 에러도 마찬가지입니다. ### 요청하면 크롤러를 차단하는 페이지도 읽을 수 있나요? 아니요. 저희는 사이트 소유자의 선택을 따르며, 이 정책은 모든 고객에게 동일하게 적용됩니다. 사이트를 소유하고 계시다면 robots.txt에 `WebReaderAPI`에 대한 규칙을 추가하세요. [크롤러 페이지](https://webreaderapi.com/ko/bot/)에서 방법을 확인할 수 있습니다. ### 존재하는 페이지에서 fetch_failed가 뜨는 이유는 무엇인가요? 사이트가 다운되었거나, TLS 연결을 느리게 수락하거나, 자동화 클라이언트에 404를 반환했을 수 있습니다. 백오프를 적용해 한두 번 재시도하세요. 계속 실패하면 브라우저에서 주소를 확인하세요. ### 거부된 후 에이전트가 사용자에게 무엇을 알려야 하나요? '해당 사이트는 그 페이지의 자동 읽기를 허용하지 않습니다'처럼 간단하게 알려주세요. 그런 다음 모델이 다른 출처를 사용하도록 하세요. 에러 코드를 도구 결과로 반환하는 것만으로도 대부분의 모델에 충분합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # LangChain 및 LlamaIndex: 웹페이지 로더와 read_url 도구 > LangChain 및 LlamaIndex 웹페이지 로더: read_url 도구, 문서 로더, 크롤링으로 만든 소규모 RAG 인덱스를 모두 Python으로 구현합니다. KYC 없이 암호화폐로 결제하세요. - URL: https://webreaderapi.com/ko/docs/langchain/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) Python AI 스택에서 API를 사용하는 방법은 두 가지입니다. 페이지를 검색용 문서로 로드하거나, 에이전트에 `read_url` 도구를 제공하는 것입니다. 20줄짜리 동일한 연결 코드가 LangChain과 LlamaIndex 모두에서 작동합니다. **빠른 답변 — 웹페이지를 깔끔한 Markdown으로 LangChain이나 LlamaIndex에 로드하려면 어떻게 하나요?** **WebReaderAPI**의 `/read` endpoint를 호출하고 각 응답을 `Document`로 감싸세요. Markdown은 content로, `final_url`와 title은 metadata로 넣습니다. 에이전트에는 같은 호출을 `read_url` 도구로 노출하세요. 페이지당 1 크레딧, 브라우저 사용 시 2 크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터입니다. 저희 패키지는 필요 없습니다. KYC 없이 암호화폐로 결제하세요. ## 원본 HTML 대신 Markdown 문서를 쓰는 이유는 무엇인가요? 검색은 텍스트에서 작동하고, Markdown은 중요한 구조를 유지하면서 나머지는 버리기 때문입니다. 제목(heading)이 유지되므로 스플리터가 주제가 바뀌는 지점에서 나눌 수 있습니다. 목록과 표가 유지되므로 단계와 사양이 함께 남습니다. 내비게이션, 쿠키 배너, 광고는 제거되므로 임베딩을 오염시키거나 토큰을 낭비하지 않습니다. 메타데이터는 같은 호출에서 나옵니다. 인용할 출처로 `final_url`, 필터링용으로 `title`, `published_at`, `language`을 넣습니다. *reader.py: 공용 헬퍼 (코드 옆에 저장하세요)* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} class PageError(Exception): pass def read_page(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) body = resp.json() if resp.status_code != 200: raise PageError(body["error"]["code"]) return body ``` ## LangChain 문서 로더는 어떻게 만드나요? 각 페이지를 `langchain_core.documents.Document`로 바꾼 다음, `langchain-text-splitters` 패키지의 `MarkdownHeaderTextSplitter`로 제목 기준으로 나누세요. 각 청크는 메타데이터에 제목 경로를 유지하고, 출처 URL을 추가해 모든 답변이 해당 페이지를 다시 가리킬 수 있게 하세요. robots.txt에서 거부된 페이지처럼 건너뛴 페이지는 코드와 함께 `PageError`를 발생시키므로, 로그에 남기고 계속 진행하세요. *LangChain: 페이지 로드 및 분할* ```python from langchain_core.documents import Document from langchain_text_splitters import MarkdownHeaderTextSplitter from reader import PageError, read_page splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2"), ("###", "h3")]) def load_pages(urls): chunks = [] for url in urls: try: page = read_page(url) except PageError as exc: print("skipped", url, exc) continue for part in splitter.split_text(page["markdown"]): part.metadata.update({"source": page["final_url"], "title": page.get("title", "")}) chunks.append(part) return chunks docs = load_pages(["https://example.com/docs/install", "https://example.com/docs/configure"]) print(len(docs), "chunks", isinstance(docs[0], Document) if docs else "") ``` ## LangChain 에이전트에 read_url 도구를 제공하려면 어떻게 하나요? `langchain_core.tools`의 `@tool`로 함수를 데코레이션하세요. docstring이 모델이 읽는 도구 설명이 되므로, 도구가 무엇을 반환하는지와 언제 사용해야 하는지를 적으세요. 제목 줄, 출처, Markdown이 담긴 일반 텍스트를 반환하고, 모델에 맞게 `max_chars`로 잘라내세요. 도구 호출을 지원하는 모든 채팅 모델에 도구를 바인딩하거나, 에이전트 생성자에 전달하세요. 그러면 모델이 대화나 검색 결과에서 가져온 URL로 `read_url`를 호출합니다. *LangChain: read_url 도구* ```python import os from langchain.chat_models import init_chat_model from langchain_core.tools import tool from reader import PageError, read_page @tool def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown, with its title and source URL.""" try: page = read_page(url, max_chars=max_chars) except PageError as exc: return "Could not read the page: " + str(exc) return "# " + (page.get("title") or url) + "\nSource: " + page["final_url"] + "\n\n" + page["markdown"] model = init_chat_model(os.environ.get("CHAT_MODEL", "openai:gpt-4.1-mini")).bind_tools([read_url]) reply = model.invoke("Summarise https://example.com/blog/first-post in three bullet points.") print(reply.tool_calls) ``` ## LlamaIndex에서는 같은 작업을 어떻게 하나요? LlamaIndex는 `text`과 `metadata`를 사용하는 자체 `Document` 클래스를 쓰고, 함수를 도구로 바꿀 때는 `FunctionTool.from_defaults`를 사용합니다. 헬퍼는 그대로 유지됩니다. `VectorStoreIndex.from_documents`로 문서에서 인덱스를 만들며, 이는 LlamaIndex 설정에 지정된 임베딩 모델을 사용합니다. *LlamaIndex: 크롤링 인덱싱 및 read_url 도구* ```python import os import time import requests from llama_index.core import Document, VectorStoreIndex from llama_index.core.tools import FunctionTool from reader import HEADERS, PageError, read_page def crawl_pages(start_url, limit=200): job = requests.post("https://webreaderapi.com/api/v1/crawl", headers=HEADERS, json={"url": start_url, "limit": limit}, timeout=30).json() pages, cursor = [], None while True: params = {"cursor": cursor} if cursor else {} res = requests.get("https://webreaderapi.com/api/v1/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=30).json() pages += [r for r in res["results"] if "error" not in r] cursor = res.get("next_cursor") if not cursor and res["status"] == "done": return pages if not cursor: time.sleep(5) pages = crawl_pages("https://docs.example.com/") docs = [Document(text=p["markdown"], metadata={"source": p["final_url"], "title": p.get("title", "")}) for p in pages] index = VectorStoreIndex.from_documents(docs) print(index.as_query_engine().query("How do I install the product?")) def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown.""" try: return read_page(url, max_chars=max_chars)["markdown"] except PageError as exc: return "Could not read the page: " + str(exc) read_tool = FunctionTool.from_defaults(fn=read_url, name="read_url") print(os.environ.get("CHAT_MODEL", "set CHAT_MODEL for your agent"), read_tool.metadata.name) ``` ## 소규모 RAG 인덱스에는 얼마나 큰 크롤링이 필요한가요? 생각보다 적습니다. 제품 문서는 대개 수백 페이지 정도이고, `include_paths`를 문서 섹션으로 설정한 크롤링은 해당 섹션만 읽습니다. 페이지당 1 크레딧이면 300페이지 문서 사이트의 비용은 약 300 크레딧이며, 10,000페이지(US$3.75)으로 여러 번 새로고침할 수 있습니다. 출처가 바뀌는 빈도에 맞춰 정기적으로 재크롤링하고, `final_url`와 `word_count`를 이전 실행과 비교해 변경된 페이지만 다시 임베딩하세요. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. ## LangChain 및 LlamaIndex: 자주 묻는 질문 ### LangChain이나 LlamaIndex용 WebReaderAPI 패키지가 있나요? 아니요. 이 페이지의 헬퍼와 도구가 통합의 전부이므로 자유롭게 응용할 수 있습니다. WebReaderAPI는 어떤 Python HTTP 클라이언트든 호출할 수 있는 일반 HTTPS API입니다. ### 어떤 LangChain 버전이 필요한가요? `langchain_core`, `langchain-text-splitters`, `init_chat_model`가 있는 최신 버전이면 됩니다. 도구 데코레이터와 `Document` 클래스는 최근 릴리스에서 안정적으로 유지되어 왔습니다. ### 변경되지 않은 페이지를 다시 읽지 않으려면 어떻게 하나요? 각 읽기의 `final_url`, `word_count`, 날짜를 저장하세요. 정해진 일정에 따라 다시 읽되, 단어 수나 콘텐츠 해시가 바뀐 페이지만 다시 임베딩하세요. 다시 읽을 때마다 1 크레딧이 들므로 출처에 맞는 주기를 선택하세요. ### 일부 페이지가 거부되면 어떻게 되나요? `blocked_by_robots` 같은 코드와 함께 `PageError`가 발생하며, 크레딧은 차감되지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Claude, Cursor 및 기타 MCP 클라이언트용 웹 페이지 리더 MCP 서버 > Claude Desktop, Cursor 및 기타 MCP 클라이언트용 웹 페이지 리더 MCP 서버: 깔끔한 Markdown을 반환하는 40줄짜리 Python read_url 도구. KYC 없이, 암호화폐로 결제. - URL: https://webreaderapi.com/ko/docs/mcp/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 모든 MCP 클라이언트에 링크를 깔끔한 Markdown으로 변환하는 `read_url` 도구를 제공합니다. 서버는 직접 실행하는 짧은 Python 파일 하나이며, API 키는 해당 환경에 보관됩니다. **빠른 답변 — MCP로 Claude Desktop이나 Cursor에 웹 페이지 리더를 어떻게 추가하나요?** **WebReaderAPI**를 호출하는 `read_url` 도구를 노출하는 작은 MCP 서버를 실행한 다음, `env`에 키를 넣어 클라이언트의 MCP 설정에 등록하세요. 그러면 모델이 모든 공개 페이지를 깔끔한 Markdown으로 읽을 수 있습니다. 페이지 읽기 한 건당 1크레딧, 브라우저 사용 시 2크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이 암호화폐로 결제하세요. ## MCP 서버 한눈에 보기 | 속성 | 값 | | --- | --- | | 언어 | Python 3.10+, `mcp` 및 `httpx` 패키지 사용 | | 전송 | stdio: 클라이언트가 서버를 로컬 프로세스로 시작 | | 도구 | `read_url(url, max_chars)` → 제목, 소스 URL, 그다음 페이지의 Markdown | | web_fetch를 쓰지 않는 이유 | Claude Code와 OpenClaw에는 이미 그 이름의 내장 도구가 있습니다 | | 키 | 서버 환경의 `WEBREADER_API_KEY`에서 읽음 | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | ## read_url 도구를 쓰고 web_fetch를 쓰지 않는 이유는 무엇인가요? 같은 이름의 도구 두 개는 클라이언트와 모델 모두를 혼란스럽게 하기 때문입니다. Claude Code와 OpenClaw에는 이미 `web_fetch`라는 도구가 포함되어 있습니다. `read_url`이라는 별개의 이름과 명확한 설명이 있으면, 모델은 JavaScript 페이지와 PDF를 포함한 페이지의 본문 추출이 필요할 때 우리 도구를 선택할 수 있습니다. 이 도구는 JSON이 아니라 텍스트를 반환합니다. 모델은 중첩된 필드보다 짧은 헤더와 Markdown을 더 잘 처리하며, 헤더 덕분에 소스 URL이 계속 보이므로 답변이 출처를 인용할 수 있습니다. *webreader_mcp.py* ```python import os import httpx from mcp.server.fastmcp import FastMCP API = "https://webreaderapi.com/api/v1/read" KEY = os.environ["WEBREADER_API_KEY"] mcp = FastMCP("webreaderapi") @mcp.tool() def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown. Use it when the user gives a link or when a page must be read to answer. max_chars caps the length of the returned text (1,000 to 500,000). """ params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))} try: resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75) except httpx.HTTPError as exc: return "Network error while reading the page: " + str(exc) body = resp.json() if resp.status_code != 200: err = body.get("error", {}) return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "") title = body.get("title") or url return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "") if __name__ == "__main__": mcp.run() ``` ## 서버를 어떻게 설치하고 테스트하나요? 가상 환경을 만들고 `mcp`와 `httpx`를 설치한 뒤 위 파일을 저장하세요. `mcp` 패키지는 Model Context Protocol의 공식 Python SDK이고, `FastMCP`는 docstring을 설명으로 사용해 타입이 지정된 Python 함수를 도구로 바꿔 줍니다. 클라이언트에 연결하기 전에, 키를 설정한 상태로 터미널에서 파일을 한 번 실행해 보세요. stdin에서 클라이언트를 조용히 기다리면 올바르게 시작된 것이며, Ctrl+C로 중지할 수 있습니다. *설치* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Claude Desktop에 어떻게 등록하나요? Claude Desktop의 개발자 설정을 열고 `claude_desktop_config.json`을 편집한 뒤 `mcpServers` 아래에 항목을 추가하세요. 가상 환경의 Python과 서버 파일에 절대 경로를 사용하세요. 키는 `env`에 넣어 도구 인자나 대화에 절대 나타나지 않게 하세요. Claude Desktop을 재시작하면 도구 목록에 `read_url`가 나타납니다. Cursor는 자체 MCP 구성 파일에서 동일한 `mcpServers` 구조를 읽으며, Claude Code는 `claude mcp add` 명령으로 동일한 명령을 등록할 수 있습니다. OpenClaw는 [OpenClaw 페이지](https://webreaderapi.com/ko/docs/openclaw/)를 참고하세요. *claude_desktop_config.json* ```json { "mcpServers": { "webreaderapi": { "command": "/home/you/webreader/.venv/bin/python", "args": ["/home/you/webreader/webreader_mcp.py"], "env": { "WEBREADER_API_KEY": "your-key" } } } } ``` ## 페이지를 모델의 컨텍스트 안에 어떻게 유지하나요? `max_chars`을 낮추세요. 기본값인 20,000자는 대부분의 글에 충분하며 긴 페이지가 컨텍스트를 채우는 것을 막아 줍니다. 한 답변에서 여러 페이지를 읽는 모델은 페이지당 8,000~12,000자가 더 적합합니다. 모델에게 보이는 모든 링크가 아니라 필요한 페이지만 읽으라고 요청하세요. "질문당 최대 세 페이지만 읽기" 같은 짧은 문장을 프로젝트 지침에 넣으면 비용과 컨텍스트를 모두 관리할 수 있습니다. ## 사이트가 읽기를 거부하면 어떻게 되나요? 도구는 `blocked_by_robots`나 `target_refused` 같은 오류 코드와 함께 짧은 메시지를 반환하며, 청구되는 금액은 없습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 그러면 모델은 해당 페이지를 자동 리더가 사용할 수 없다고 안내하고 다른 소스를 사용할 수 있습니다. ## MCP 서버: 자주 묻는 질문 ### 공식 WebReaderAPI MCP 패키지가 있나요? 아니요. 이 페이지의 파일이 바로 통합입니다: 직접 읽고, 수정하고, 실행할 수 있는 40줄입니다. 저희 쪽에서 설치할 것은 없으며, API 호출을 제외하면 키는 여러분의 기기에서 벗어나지 않습니다. ### 이 서버로 모델이 웹을 검색할 수 있나요? 아니요. `read_url`는 여러분이나 모델이 이미 주소를 알고 있는 페이지를 읽습니다. 클라이언트가 제공하는 검색 도구와 함께 사용하세요. 모델이 검색한 뒤 중요한 페이지를 읽습니다. ### 이 도구로 어시스턴트를 운영하는 비용은 얼마인가요? 페이지 읽기 한 건당 1크레딧, 브라우저가 필요하면 2크레딧입니다. 하루에 50페이지를 읽는 어시스턴트는 한 달에 약 1,500크레딧을 사용하며, 10,000페이지(US$3.75)는 약 6개월분을 충당합니다. ### 서버가 오프라인에서 작동하나요? 아니요. 모든 페이지마다 `https://webreaderapi.com/api/v1/read`를 호출하므로 인터넷 연결과 유효한 키가 필요합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI로 n8n AI 에이전트에서 웹페이지 읽기 > n8n AI 에이전트에서 웹페이지 읽기: 어떤 URL이든 깔끔한 Markdown으로 변환하는 HTTP Request 도구 설정과 예약 워크플로우입니다. KYC 없이, 암호화폐로 결제하세요. - URL: https://webreaderapi.com/ko/docs/n8n/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) n8n의 HTTP Request 노드는 AI Agent 노드의 도구로 사용할 수 있습니다. `/read`을 가리키게 하고 모델이 URL을 채우도록 하면, 에이전트가 커뮤니티 노드를 설치하지 않고도 모든 공개 페이지를 깔끔한 Markdown으로 읽을 수 있습니다. **빠른 답변 — n8n AI 에이전트가 웹페이지를 읽게 하려면 어떻게 하나요?** n8n의 AI Agent에 HTTP Request 노드를 도구로 연결하고, **WebReaderAPI** 키를 담은 Header Auth credential과 함께 `GET https://webreaderapi.com/api/v1/read`로 설정한 뒤, 모델이 `url` 파라미터를 정의하도록 하세요. Optimize Response를 켜서 `title`, `final_url`, `markdown`만 유지하세요. 페이지당 1 크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이, 암호화폐로 결제하세요. ## 어떤 HTTP Request 설정을 사용하나요? 옵션 이름은 2026-10-22에 확인한 n8n의 HTTP Request 노드 문서를 따릅니다. | 설정 | 값 | | --- | --- | | 위치 | **AI Agent** 노드에 도구로 연결 | | Method | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | 인증 | Generic credentials → **Header Auth** | | Header Auth credential | Name `Authorization`, Value에 `Bearer `과 함께 API 키 입력 | | Send Query Parameters | 켜기, **Using Fields Below** | | Parameter `url` | 모델이 정의(아래 참조) | | Parameter `max_chars` | `15000`과 같은 고정 값 | | Optimize Response | 켜기 · response type **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## HTTP Request 노드를 도구로 사용하는 이유는 무엇인가요? 이 API에 필요한 모든 것을 이미 처리하기 때문입니다: GET 요청 하나, 헤더 하나, 쿼리 파라미터 두 개. n8n 문서에 따르면 HTTP Request 노드는 일반 노드로 실행되거나 AI 에이전트에 도구로 연결될 수 있으며, 일부 옵션은 도구 형태에서만 존재합니다. 설치하거나 업데이트할 것은 없고, 키는 워크플로우가 아니라 n8n의 credential 저장소에 보관됩니다. n8n에 전용 키를 부여하면 다른 스크립트와 별도로 사용량을 확인할 수 있고 해당 키만 해지할 수 있습니다. 여러 API 키를 만들 수 있습니다. 예를 들어 에이전트나 프로젝트별로 하나씩 만들고, 대시보드에서 원하는 키를 폐기할 수 있습니다. ## 모델은 읽을 URL을 어떻게 선택하나요? 모델이 `url` 파라미터를 정의하도록 하세요. n8n은 입력 가능한 파라미터 필드 옆에 값을 모델에 넘기는 버튼을 표시하며, n8n의 `$fromAI()` 함수로 직접 표현식을 작성할 수도 있습니다. 이 함수는 키, 설명, 유형, 그리고 선택적 기본값을 받습니다. 예를 들어 키 `url`, 설명 "The http or https address of the page to read", 유형 `string`입니다. n8n 문서에 따르면 `$fromAI()`는 AI Agent 노드에 연결된 도구에서만 작동합니다. 도구 설명도 "Reads a public web page and returns its main content as Markdown"처럼 평이한 말로 작성하여 에이전트가 언제 호출할지 알 수 있게 하세요. ## Optimize Response를 켜는 이유는 무엇인가요? 도구가 반환하는 모든 것이 모델의 컨텍스트로 들어가기 때문입니다. Optimize Response는 모델에 전달되는 데이터를 줄이는 도구 전용 옵션입니다. JSON response type을 사용하면 선택한 필드만 포함할 수 있습니다. `title`, `final_url`, `markdown`만 유지하고 나머지는 버리세요. API 측에서 `max_chars`으로 길이를 제한하면 Markdown이 API를 떠나기 전에 잘립니다. 노드의 HTML 및 Text response type에는 각자의 Truncate Response 옵션이 있지만, JSON 응답에서는 `max_chars`가 더 간단한 제어 방법입니다. ## 예약 워크플로우에서 API를 어떻게 사용하나요? HTTP Request 노드를 도구가 아닌 일반 노드로 Schedule Trigger 뒤에 사용하세요. 팔로우하는 변경 로그나 가격 페이지처럼 고정된 `url`을 지정하고, `markdown` 필드를 다음 노드로 보내세요: 파일, 데이터베이스, 채팅 메시지 또는 이전 실행과의 비교 등입니다. 각 실행은 URL당 한 페이지를 읽습니다. 하루 한 번 20개 페이지를 모니터링하면 브라우저가 없는 페이지 기준 월 약 600 크레딧을 사용하므로, 10,000페이지(US$3.75)은 1년 이상 사용할 수 있습니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. ## 사이트가 읽기를 거부하면 어떻게 되나요? 노드가 `blocked_by_robots` 또는 `target_refused`과 같은 코드의 오류 응답을 받으면 아무것도 청구되지 않습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 에이전트에서는 도구가 오류를 반환하도록 하여 모델이 이를 설명하거나 다른 출처를 시도할 수 있게 하고, 예약 워크플로우에서는 오류를 로그하는 분기로 라우팅하세요. [errors 페이지](https://webreaderapi.com/ko/docs/errors/)에 모든 코드가 나열되어 있습니다. ## 워크플로우를 만들기 전에 호출을 시도해 볼 수 있나요? [curl 레시피](https://webreaderapi.com/ko/docs/curl/)에 나온 대로 터미널에서 동일한 호출을 실행해 보세요. 거기서는 되는데 n8n에서 실패한다면 원인은 노드 설정에 있습니다. 대부분 credential 값에 `Bearer ` 접두사가 빠졌거나 `url` 파라미터가 비어 있는 경우입니다. ## n8n: 자주 묻는 질문 ### WebReaderAPI를 사용하려면 커뮤니티 노드가 필요한가요? 아니요. 내장 HTTP Request 노드만으로 충분합니다. AI Agent의 도구로 사용하거나, 어떤 워크플로우에서든 일반 노드로 사용할 수 있습니다. ### 에이전트가 JavaScript 페이지나 PDF를 읽을 수 있나요? 네. API가 브라우저가 필요한 시점을 스스로 판단하며(`render=auto`), PDF도 텍스트로 읽습니다. 렌더링된 페이지는 2 크레딧을 사용합니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. ### 에이전트가 너무 많은 페이지를 읽지 않게 하려면 어떻게 하나요? 에이전트의 system 메시지에 읽어도 되는 페이지 수를 명시하고 `max_chars`을 적당히 유지하세요. 읽기 한 번이 툴 호출 한 번이므로, 에이전트의 툴 호출에 설정한 제한이 페이지 수도 제한합니다. ### 크레딧은 어떻게 결제하나요? BTC, USDT, USDC, ETH, SOL, LTC에서 US$25으로 충전한 뒤 팩을 구매하세요. WebReaderAPI는 신분증, 셀카, 회사 서류를 요구하지 않습니다. ## 출처 1. [HTTP Request 노드](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [HTTP Request 인증 정보](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [AI Agent 노드](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [$fromAI()로 AI가 툴 파라미터를 지정하게 하기](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Node.js에서 웹페이지를 Markdown으로 변환 > 네이티브 fetch로 Node.js에서 웹페이지를 Markdown으로 변환하세요. 한 페이지, 작은 동시성 풀, 크롤링 폴링 루프입니다. US$0.07/1K 페이지부터, KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/docs/node/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) Node.js 18 이상에는 `fetch`이 기본 포함되어 의존성이 전혀 필요 없습니다. 세 가지 레시피: 한 페이지 읽기, 작은 동시성 풀로 목록 읽기, 크롤링 작업이 끝날 때까지 따라가기. **빠른 답변 — Node.js에서 웹페이지를 Markdown으로 변환하려면 어떻게 하나요?** Node.js 18+의 내장 `fetch`을 사용하세요. `Authorization` 헤더에 키를 넣고 `https://webreaderapi.com/api/v1/read?url=…`를 호출한 뒤, JSON 응답에서 `markdown`을 읽으면 됩니다. **WebReaderAPI**은 페이지의 제목, 작성자, 날짜와 함께 본문을 반환합니다. 한 페이지에 1 크레딧, 헤드리스 브라우저가 필요하면 2 크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터입니다. KYC 없이, 암호화폐로 결제합니다. ## 무엇이 필요한가요? Node.js 18 이상(전역 `fetch` 사용)과 `WEBREADER_API_KEY` 환경 변수에 설정한 API 키가 필요합니다. 예제는 ES 모듈입니다. `.mjs` 확장자로 저장하거나 `package.json`에 `"type": "module"`을 설정해 최상위 `await`이 동작하게 하세요. JSDoc 주석이 응답 구조를 설명하므로 VS Code 같은 에디터에서 TypeScript 빌드 단계 없이 완성을 제공합니다. *read.mjs: 한 페이지* ```javascript /** * @typedef {Object} Page * @property {string} url * @property {string} final_url * @property {number} status_code * @property {boolean} rendered * @property {number} credits_used * @property {string} [title] * @property {string} [author] * @property {string} [published_at] * @property {string} [language] * @property {string} [markdown] * @property {number} word_count */ /** @returns {Promise} */ export async function readPage(url, options = {}) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, signal: AbortSignal.timeout(75_000), }); const body = await res.json(); if (!res.ok) throw Object.assign(new Error(body.error.message), { code: body.error.code }); return body; } const page = await readPage('https://example.com/docs/getting-started', { max_chars: '20000' }); console.log(page.title, page.word_count, 'words,', page.credits_used, 'credit(s)'); ``` ## 한도를 넘지 않고 URL 목록을 읽으려면 어떻게 하나요? 공유 큐에서 URL을 가져가는 고정된 수의 워커를 실행하세요. 전체 목록에 `Promise.all`을 걸어 모든 요청을 한꺼번에 시작해 `429 concurrency_limit`에 부딪히는 것보다 간단합니다. 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. 아래 풀은 오류를 결과 옆에 두므로, 거부된 페이지 하나가 실행을 멈추지 않습니다. `blocked_by_robots` 같은 거부는 최종적이며 무료입니다. 개수를 세고 넘어가세요. *pool.mjs: URL 목록, 한 번에 8개* ```javascript import { readPage } from './read.mjs'; export async function readAll(urls, workers = 8) { const queue = [...urls]; const results = []; async function worker() { while (queue.length) { const url = queue.shift(); try { const page = await readPage(url, { max_chars: '50000' }); results.push({ url, page }); } catch (err) { results.push({ url, error: err.code ?? err.name }); } } } await Promise.all(Array.from({ length: workers }, worker)); return results; } const urls = Array.from({ length: 30 }, (_, i) => `https://example.com/blog/post-${i + 1}`); for (const r of await readAll(urls)) console.log(r.url, '->', r.error ?? r.page.title); ``` ## Node.js에서 크롤링 작업을 따라가려면 어떻게 하나요? `POST https://webreaderapi.com/api/v1/crawl`으로 작업을 시작한 뒤 루프에서 `https://webreaderapi.com/api/v1/jobs/{job_id}`을 읽으세요. `next_cursor`이 반환될 때마다 `cursor`을 전달하고, 커서가 없고 상태가 `done`이면 작업이 끝난 것입니다. 빈 폴링 사이에는 기다리고 최대 30초까지 대기 시간을 두 배로 늘리세요. 사이트의 Crawl-delay를 준수하는 크롤링은 느릴 수 있습니다. [배치 및 크롤링 페이지](https://webreaderapi.com/ko/docs/crawl/)에서 크롤링이 페이지를 어떻게 고르고 `limit`이 읽는 범위를 어떻게 제한하는지 설명합니다. *crawl.mjs: 크롤링 시작하고 모든 페이지 수집* ```javascript const headers = { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const start = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 300, include_paths: ['/docs/*'] }), }); const { job_id } = await start.json(); const pages = []; let cursor = ''; let wait = 2000; for (;;) { const url = `https://webreaderapi.com/api/v1/jobs/${job_id}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ''}`; const job = await (await fetch(url, { headers })).json(); pages.push(...job.results.filter((r) => !r.error)); if (job.next_cursor) { cursor = job.next_cursor; wait = 2000; continue; } if (job.status === 'done') break; await sleep(wait); wait = Math.min(wait * 2, 30000); } console.log(pages.length, 'pages read, job', job_id); ``` ## 결과를 모델에 어떻게 전달하나요? 전체 JSON이 아니라 Markdown을 보내세요. `markdown` 필드가 모델이 읽어야 할 내용이며, 메타데이터는 인용에 쓰는 편이 좋습니다. 모델이 출처를 밝힐 수 있도록 제목과 `final_url`를 앞에 붙이고, `max_chars`은 모델의 컨텍스트에 들어가는 크기(페이지당 20,000자 등)로 유지하세요. [OpenAI function calling 페이지](https://webreaderapi.com/ko/docs/openai/)는 Python으로 전체 툴 루프를 보여줍니다. 위의 `readPage` 함수도 Node.js 에이전트의 툴 본문으로 쓸 수 있습니다. ## Node.js: 자주 묻는 질문 ### Deno, Bun 또는 브라우저에서 동작하나요? Deno와 Bun은 같은 `fetch`과 ES 모듈을 지원합니다. 브라우저 페이지에서 API를 호출하지 마세요. 키가 모든 방문자에게 노출됩니다. 대신 서버에서 호출하세요. ### npm 패키지가 있나요? 없습니다. 이 페이지의 함수가 통합의 전부입니다. WebReaderAPI은 순수 HTTPS와 JSON이므로 재시도, 타임아웃, 로깅을 직접 제어할 수 있습니다. ### 429 concurrency_limit은 어떻게 처리하나요? 워커 수를 줄이거나, 짧게 기다렸다가 매번 두 배로 늘려 재시도하세요. 429는 비용이 들지 않으며, [오류 페이지](https://webreaderapi.com/ko/docs/errors/)에 바로 쓸 수 있는 백오프 함수가 있습니다. ### 10,000 페이지를 읽으면 비용이 얼마인가요? 일반 페이지 기준 약 10,000 크레딧이며, 일부가 헤드리스 브라우저를 필요로 하면 더 듭니다. 10,000페이지 비용은 US$3.75입니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # OpenAI function calling: 모델을 위한 read_url 툴 > read_url 툴을 사용한 OpenAI function calling: JSON 스키마와 링크를 모델용 깔끔한 Markdown으로 바꾸는 Python 루프. KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/docs/openai/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 함수 하나, `read_url`를 정의하고 모델이 요청할 때 실행하세요. 모델이 어떤 페이지를 읽을지 고르고, 여러분의 코드가 API를 호출해 Markdown을 돌려줍니다. 같은 스키마는 툴 호출을 지원하는 다른 모델에서도 작동합니다. **빠른 답변 — OpenAI 모델이 함수 호출로 웹페이지를 읽게 하려면 어떻게 하나요?** `tools` 목록에 `read_url` 함수를 선언한 다음, 루프를 실행하세요. 모델이 툴 호출을 반환하면 URL로 **WebReaderAPI**의 `/read` endpoint를 호출하고 Markdown을 `tool` 메시지로 돌려보냅니다. 페이지당 1크레딧, 브라우저 사용 시 2크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이, 암호화폐로 결제합니다. ## read_url 스키마는 어떻게 생겼나요? 파라미터 두 개면 충분합니다. 읽을 `url`(필수)와, 모델이 긴 페이지를 짧게 유지할 수 있게 해주는 선택적 `max_chars`입니다. 설명이 가장 중요한 부분입니다. 모델에게 툴이 무엇을 반환하는지, 언제 써야 하는지 알려주기 때문입니다. 사실에 기반해 짧게 유지하세요. 일부 에이전트 런타임이 이미 그 이름으로 제공하는 툴과 충돌하지 않도록, 툴 이름을 `web_fetch` 대신 `read_url`로 정했습니다. *툴 정의* ```json { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL. Use it when the user gives a link or when a page must be read to answer.", "parameters": { "type": "object", "properties": { "url": { "type": "string", "description": "The http or https address of the page." }, "max_chars": { "type": "integer", "description": "Most characters to return, 1000 to 500000. Default 20000." } }, "required": ["url"], "additionalProperties": false } } } ``` ## 툴 호출 루프는 어떻게 작동하나요? `tools` 목록과 함께 대화를 보내세요. 응답에 툴 호출이 포함되어 있으면 각각을 실행하고, role이 `tool`이고 일치하는 `tool_call_id`를 가진 메시지로 결과를 덧붙인 뒤 모델에게 다시 물어보세요. 툴 호출 없이 응답이 오면 그것이 최종 답변입니다. 라운드 수에 상한을 두세요. 몇 개의 페이지에 대한 질문이라면 세 번이나 네 번이면 충분하고, 상한은 계속 더 요청하는 모델로부터 여러분을 보호합니다. *Python: openai 패키지로 전체 루프 구현하기* ```python import json import os import requests from openai import OpenAI READ_URL = { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL.", "parameters": { "type": "object", "properties": { "url": {"type": "string", "description": "The http or https address of the page."}, "max_chars": {"type": "integer", "description": "Most characters to return. Default 20000."}, }, "required": ["url"], "additionalProperties": False, }, }, } def read_url(url, max_chars=20000): resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "max_chars": max_chars}, timeout=75, ) body = resp.json() if resp.status_code != 200: return "Could not read the page: " + body["error"]["code"] return "# " + (body.get("title") or url) + "\nSource: " + body["final_url"] + "\n\n" + body["markdown"] client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-4.1-mini") messages = [{"role": "user", "content": "What does https://example.com/blog/first-post announce? Answer in two sentences."}] for _ in range(4): reply = client.chat.completions.create(model=model, messages=messages, tools=[READ_URL]) msg = reply.choices[0].message if not msg.tool_calls: print(msg.content) break messages.append(msg) for call in msg.tool_calls: args = json.loads(call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": read_url(**args)}) ``` ## 토큰 사용량과 비용을 어떻게 줄이나요? 세 가지 설정이 중요합니다. `max_chars`을 페이지당 약 8,000~20,000자로 적당히 유지하세요. 반환하는 모든 문자를 모델이 읽기 때문입니다. 기본 `main_content=true`을 유지해 메뉴와 푸터가 컨텍스트에 도달하지 않게 하세요. 그리고 위에서처럼 루프에 상한을 두어 한 질문이 수십 번의 읽기를 유발하지 않게 하세요. 저희 쪽 비용은 문자당이 아니라 페이지당입니다: 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 하루에 300페이지를 읽는 고객지원 어시스턴트는 한 달에 약 9,000크레딧을 사용하며, 이는 10,000페이지(US$3.75) 범위 안입니다. ## 스키마가 다른 모델에서도 작동하나요? 네, 래퍼를 조금 바꾸면 됩니다. 대부분의 툴 호출 API는 파라미터로 JSON Schema를, 툴에는 이름과 설명을 받으므로 `read_url`는 프로바이더 간에 그대로 옮겨집니다. [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)는 Model Context Protocol을 사용하는 클라이언트를 위해 같은 함수를 패키징하고, [LangChain 페이지](https://webreaderapi.com/ko/docs/langchain/)는 LangChain 및 LlamaIndex 에이전트를 위해 이를 감쌉니다. ## 페이지가 거부될 때 모델이 무엇을 보아야 하나요? 위 루프가 반환하는 것처럼 짧고 명확한 문장입니다: "Could not read the page: blocked_by_robots". 모델은 이를 잘 처리하고 다른 출처로 대체하거나 사용자에게 알립니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 이러한 거부 중 어느 것도 크레딧을 사용하지 않습니다. ## 함수 호출: 자주 묻는 질문 ### Responses API가 필요한가요, Chat Completions가 필요한가요? 예제는 `tools` 파라미터와 함께 Chat Completions를 사용합니다. 같은 함수 정의와 같은 `read_url` 본문은 함수 툴을 받아들이는 다른 OpenAI 인터페이스에서도 작동하며, 주변 루프만 바뀝니다. ### 모델이 한 턴에 여러 페이지를 읽을 수 있나요? 네. 응답에 여러 툴 호출이 포함될 수 있고, 루프는 각각을 실행해 모든 결과를 반환한 뒤 모델에게 다시 물어봅니다. 모델이 한 번에 많은 페이지를 읽을 때는 `max_chars`을 낮게 유지하세요. ### API 키가 모델에 노출되나요? 아니요. 키는 코드의 환경 변수에 남습니다. 모델은 툴의 이름, 설명, 그리고 여러분의 함수가 반환하는 텍스트만 봅니다. ### 거부된 페이지에는 비용이 얼마나 드나요? 아무것도 들지 않습니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # OpenClaw: web_fetch 옆에 MCP로 웹페이지 리더 추가하기 > MCP를 통해 OpenClaw에 웹페이지 리더를 추가하세요: openclaw mcp add, doctor --probe, 그리고 read_url이 내장 web_fetch를 어떻게 보완하는지. KYC 없이, 암호화폐로 결제합니다. - URL: https://webreaderapi.com/ko/docs/openclaw/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) OpenClaw에는 가벼운 페이지를 위한 `web_fetch` 툴이 이미 있습니다. 저희 MCP 서버를 추가하면 에이전트가 JavaScript 페이지, PDF, 더 긴 문서를 위한 두 번째 리더인 `read_url`을 갖게 됩니다. 설정은 명령 하나면 됩니다. **빠른 답변 — OpenClaw에 웹페이지 리더 API를 추가하려면 어떻게 하나요?** **WebReaderAPI** MCP 서버를 저장한 다음 `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…`로 등록하고 `openclaw mcp doctor --probe`로 확인하세요. 에이전트는 내장 `web_fetch` 옆에 `read_url` 툴을 갖게 되어 JavaScript를 렌더링하고 PDF를 읽을 수 있습니다. 페이지당 1크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이, 암호화폐로 결제합니다. ## OpenClaw의 web_fetch와 read_url 비교 | 속성 | 값 | | --- | --- | | web_fetch (내장) | 로컬에서 실행되며 Readability로 본문을 추출하고 Markdown 또는 텍스트를 반환 | | web_fetch 제한 | JavaScript 실행 없음, 기본 및 상한 `maxChars` 20,000자 (OpenClaw 문서) | | read_url (저희 MCP 툴) | 필요 시 JavaScript 렌더링, 최대 100페이지 PDF, 최대 500,000자 | | read_url 비용 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 저희 크롤러 | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt 준수 | | 도구 프로필 | MCP 도구는 `coding` 및 `messaging` 프로필에 나타나며 `minimal`에는 나타나지 않습니다 | ## OpenClaw에 web_fetch가 있는데 왜 리더를 추가해야 하나요? 서로 다른 페이지를 다루기 때문입니다. OpenClaw 문서에 따르면 `web_fetch`는 항상 로컬에서 실행되고, 본문 추출에 Readability를 사용하며, JavaScript를 실행하지 않습니다. JavaScript가 많은 사이트나 로그인이 필요한 사이트에는 Web Browser 도구를 사용하라고 안내합니다. `maxChars` 설정의 기본값은 20,000자이며 그 이상은 제한됩니다. 빠르고 가벼운 페이지에는 `web_fetch`를 그대로 사용하세요. JavaScript로 콘텐츠를 만드는 페이지, PDF, 20,000자보다 긴 문서에는 `read_url`를 추가하세요. OpenClaw 문서는 또한 공식 Firecrawl 플러그인이 현재 `web_fetch`가 대체(fallback)로 사용할 수 있는 유일한 번들 제공자라고 언급합니다. ## OpenClaw에 MCP 서버를 어떻게 등록하나요? 먼저 [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)에서 Python 서버를 설정하세요. 파일 하나에 `mcp`과 `httpx` 패키지가 필요합니다. 그다음 OpenClaw에 `openclaw mcp add`로 저장하세요. OpenClaw의 레지스트리 문서에는 stdio 플래그 `--command`, `--arg`, `--env`, `--cwd`이 설명되어 있으며, 저장된 정의는 설정의 `mcp.servers` 아래에 보관됩니다. 이후 `openclaw mcp doctor --probe`를 실행하세요. `--probe` 없이는 doctor가 저장된 설정만 확인하지만, 함께 사용하면 활성화된 서버가 연결되는지도 확인합니다. *서버 등록 및 확인* ```bash openclaw mcp add webreaderapi \ --command /home/you/webreader/.venv/bin/python \ --arg /home/you/webreader/webreader_mcp.py \ --env WEBREADER_API_KEY=your-key openclaw mcp doctor webreaderapi --probe ``` ## 에이전트가 read_url을 볼 수 있나요? 일반적인 프로필에서는 볼 수 있습니다. OpenClaw의 레지스트리 문서에 따르면 내장 OpenClaw는 설정된 MCP 도구를 `coding` 및 `messaging` 프로필에서 노출합니다. `minimal` 프로필은 이 도구를 숨기고 `tools.deny: ["bundle-mcp"]`는 비활성화하므로, 도구가 나타나지 않으면 이 두 설정을 확인하세요. 도구 설명은 모델에게 언제 이 도구를 우선할지 알려줍니다. JavaScript가 필요한 페이지, PDF, 긴 문서가 그 경우입니다. 그 외에는 모델이 `web_fetch`를 계속 사용할 수 있습니다. ## read_url은 읽는 사이트를 어떻게 처리하나요? 우리 API에 대한 모든 호출과 동일한 방식입니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 따라서 로그인 뒤에 있는 페이지는 `read_url`의 범위 밖입니다. 로그인한 사이트에는 세션과 함께 실행되는 OpenClaw 자체 브라우저 도구가 적합합니다. ## OpenClaw를 통해 페이지를 읽으면 비용이 얼마인가요? 콘텐츠가 반환된 페이지 하나당 1크레딧, 브라우저가 필요하면 2크레딧, 거부와 오류에는 비용이 없습니다. 채팅 채널 전반에서 하루 30페이지를 읽는 어시스턴트는 월 약 900크레딧을 사용합니다. 10,000페이지(US$3.75)이면 거의 1년 동안 사용할 수 있습니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. OpenClaw에 별도의 API 키를 부여하여 다른 프로젝트와 사용량이 구분되게 하세요. ## OpenClaw: 자주 묻는 질문 ### WebReaderAPI는 OpenClaw의 내장 제공자인가요? 아닙니다. 플러그인 코드 없이도 OpenClaw가 지원하는 MCP 서버로 연결됩니다. MCP 서버는 [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)의 짧은 Python 파일입니다. ### web_fetch를 비활성화해야 하나요? 그럴 필요 없습니다. 두 도구 모두 켜 둘 수 있으며, 설명이 모델에게 어느 것이 적합한지 알려줍니다. 모든 읽기를 한 곳에서 로깅하려는 경우에만 `web_fetch`를 비활성화하세요. ### OpenClaw 웹 인터페이스에서 서버를 관리할 수 있나요? OpenClaw 문서에는 Control UI의 MCP 설정이 설명되어 있으며, 이는 명령 줄과 동일한 저장된 정의를 편집합니다. 편한 방법을 사용하세요. ### 샌드박스된 OpenClaw 환경에서도 작동하나요? MCP 서버는 `https://webreaderapi.com/api/v1/read`에 접속하려면 인터넷 접근이 필요한 로컬 프로세스입니다. 샌드박스가 이 프로세스를 시작하고 해당 HTTPS 호출을 허용하는지 확인하세요. ## 출처 1. [웹 도구](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) 2. [Web Fetch](https://docs.openclaw.ai/tools/web-fetch) — OpenClaw docs (read 2026-10-22) 3. [저장된 MCP 서버 관리](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [Control UI의 MCP](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Python에서 웹페이지를 Markdown으로 변환 > Python에서 웹페이지를 Markdown으로 변환: requests, 동시성 제한을 둔 비동기 httpx, 배치 작업, 제목 기준 RAG 청킹. US$0.07/1K 페이지부터, KYC 없이. - URL: https://webreaderapi.com/ko/docs/python/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 대부분의 Python 프로젝트를 다루는 네 가지 레시피: requests로 한 페이지 읽기, httpx로 여러 페이지 동시 읽기, 목록을 배치 작업에 넘기기, Markdown을 벡터 스토어용 청크로 나누기. **빠른 답변 — Python에서 웹페이지를 Markdown으로 변환하려면 어떻게 하나요?** `Authorization` 헤더에 `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})`과 키를 담아 **WebReaderAPI**를 호출하세요. JSON 응답의 `markdown`에 페이지 본문이 담겨 있습니다. 여러 페이지에는 세마포어와 함께 `httpx.AsyncClient`을 사용하거나 배치 작업을 사용하세요. 2026년 10월 기준 US$0.07/1K 페이지부터 페이지 하나에 1크레딧입니다. KYC 없이, 암호화폐로 결제하세요. ## 무엇을 설치해야 하나요? Python 3.9 이상과 HTTP 클라이언트 하나면 됩니다. 한 번에 한 페이지를 읽는 스크립트에는 `requests`이면 충분하고, `httpx`는 여러 페이지를 병렬로 처리하는 비동기 지원을 추가합니다. 저희 패키지는 필요 없습니다. API는 순수 HTTPS와 JSON이기 때문입니다. 키는 코드 밖에 두세요. 아래 모든 예제처럼 `WEBREADER_API_KEY` 환경 변수에서 읽고, 프로젝트마다 별도 키를 부여하여 다른 키는 건드리지 않고 하나만 폐기할 수 있게 하세요. *설치* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## requests로 한 페이지를 어떻게 읽나요? `url`과 옵션을 검색 쿼리 파라미터로 보내고, HTTP 오류 시 예외를 발생시키고, 필요한 필드를 읽으세요. 예제는 본문을 유지하고, 모델을 위해 20,000자로 제한하며, 호출 비용을 출력합니다. *requests: 한 페이지 읽기* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code != 200: error = resp.json()["error"] raise RuntimeError(error["code"] + ": " + error["message"]) return resp.json() page = read("https://example.com/docs/getting-started", max_chars=20000) print(page["title"], page["word_count"], "words", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## httpx로 여러 페이지를 한 번에 어떻게 읽나요? `httpx.AsyncClient` 하나와 동시성 한도 이하로 설정한 `asyncio.Semaphore`을 사용하세요. 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. 한 페이지의 오류가 다른 페이지를 멈추게 해서는 안 되므로, 예제는 예외를 발생시키는 대신 결과 옆에 오류를 모읍니다. 한도를 초과하면 API가 `429 concurrency_limit`으로 응답합니다. 청구는 되지 않지만 페이지는 읽히지 않습니다. 세마포어를 한도 아래로 유지하는 것이 재시도보다 간단합니다. *httpx: 최대 10페이지 동시 처리* ```python import asyncio import os import httpx API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} async def read_one(client, sem, url): async with sem: resp = await client.get(API, params={"url": url, "max_chars": 50000}) body = resp.json() if resp.status_code == 200: return url, body, None return url, None, body["error"]["code"] async def read_many(urls, limit=10): sem = asyncio.Semaphore(limit) async with httpx.AsyncClient(headers=HEADERS, timeout=75) as client: return await asyncio.gather(*(read_one(client, sem, u) for u in urls)) if __name__ == "__main__": urls = [f"https://example.com/blog/post-{n}" for n in range(1, 21)] for url, page, error in asyncio.run(read_many(urls)): print(url, "->", error or page["title"]) ``` ## 대신 배치 작업은 언제 사용해야 하나요? 최대 100개의 URL 목록이 있고 각 페이지가 준비되는 즉시 필요하지 않을 때 사용하세요. 배치 작업은 저희 쪽에서 실행되므로 스크립트가 연결을 열어둔 채로 있지 않고 재시도 로직도 수행하지 않습니다. `POST https://webreaderapi.com/api/v1/batch`로 시작한 다음, [배치 및 크롤링 페이지](https://webreaderapi.com/ko/docs/crawl/)에 나온 커서 루프로 작업에서 결과를 수집하세요. 사이트 전체라면 대신 크롤링을 시작해 sitemap과 링크를 따라가게 하세요. 같은 페이지에 페이지마다 `.md` 파일 하나를 작성하는 완전한 루프가 있습니다. *Batch 작업 시작* ```python import os import requests urls = [f"https://example.com/changelog/{year}" for year in range(2020, 2027)] resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": urls, "options": {"format": "markdown", "main_content": True}}, timeout=30, ) resp.raise_for_status() print("job:", resp.json()["job_id"]) ``` ## RAG용으로 Markdown을 어떻게 청크로 나누나요? 먼저 제목을 기준으로 나누고, 그다음 크기를 기준으로 나누세요. 제목은 주제가 바뀌는 지점을 표시하므로 제목에서 시작하는 청크는 검색기가 매칭하기 더 쉽습니다. 각 청크의 메타데이터에 페이지 제목과 제목 경로를 유지하세요. 모델이 올바른 섹션을 인용하는 데 도움이 됩니다. 아래 함수는 별도 라이브러리가 필요 없습니다. `#`에서 `###` 제목 기준으로 자른 다음, 긴 섹션은 빈 줄 기준으로 나누어 문자 예산 이내로 유지합니다. 각 청크와 함께 `final_url`를 저장해, 같은 페이지로 이어지는 두 주소가 중복을 만들지 않게 하세요. *제목 기준으로 Markdown 청크 나누기* ```python import re def chunk_markdown(page, max_chars=2000): """Split a /read response into chunks with a heading path and the source URL.""" chunks, path, buf = [], [], [] def flush(): text = "\n".join(buf).strip() while text: part = text[:max_chars] cut = part.rfind("\n\n") if len(text) > max_chars and cut > max_chars // 2: part = part[:cut] chunks.append({"text": part.strip(), "section": " > ".join(path), "title": page.get("title"), "source": page["final_url"]}) text = text[len(part):].strip() buf.clear() for line in page["markdown"].splitlines(): m = re.match(r"^(#{1,3}) (.+)", line) if m: flush() level = len(m.group(1)) path[:] = path[: level - 1] + [m.group(2).strip()] buf.append(line) flush() return chunks ``` ## Python 작업 비용은 얼마인가요? 요청이 아니라 페이지를 세세요. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 브라우저 없이 문서 페이지 2,000개를 읽으면 약 2,000 크레딧을 사용하며, 이는 10,000페이지(US$3.75)로 다섯 번 이상 충당됩니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다이므로 한 달에 한 번 실행되는 파이프라인은 읽는 만큼만 사용합니다. ## Python: 자주 묻는 질문 ### 공식 Python 패키지가 있나요? 아니요. 이 페이지의 코드면 충분합니다. WebReaderAPI는 일반 HTTPS API이고, `requests`이나 `httpx`가 이를 직접 다룹니다. ### robots.txt가 거부하는 페이지는 어떻게 처리하나요? 에러 코드를 확인하세요. `blocked_by_robots`과 `target_refused`는 최종 응답이며 무료입니다. 기록하고 계속 진행하세요. [에러 페이지](https://webreaderapi.com/ko/docs/errors/)에 상태가 바뀔 수 있는 코드만 재시도하는 재시도 헬퍼가 있습니다. ### Jupyter 노트북에서 API를 사용할 수 있나요? 네. `requests` 레시피는 그대로 작동합니다. 노트북에서는 이미 이벤트 루프가 실행 중이므로 `await read_many(urls)`이 `asyncio.run`를 대체합니다. ### 클라이언트 타임아웃은 얼마로 설정해야 하나요? API 자체보다 조금 더 길게: 기본값은 30초, 최댓값은 60초이므로 클라이언트 측을 75초로 두면 느린 사이트와 응답을 위한 여유가 생깁니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Read 엔드포인트 레퍼런스: GET 및 POST /read > Read 엔드포인트 레퍼런스: format과 render부터 country와 max_chars까지, GET 및 POST /read의 모든 파라미터를 예제와 함께 봅니다. US$0.07/1K 페이지부터, KYC 없이. - URL: https://webreaderapi.com/ko/docs/read/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) `/read`는 공개 페이지 하나를 가져와 본문을 추출하고 Markdown, 일반 텍스트 또는 정리된 HTML로 반환합니다. 이 페이지는 모든 파라미터와 기본값, 비용을 나열합니다. **빠른 답변 — WebReaderAPI read 엔드포인트는 어떤 파라미터를 받나요?** **WebReaderAPI**의 `/read` 엔드포인트는 `url` 파라미터 하나가 필요합니다. 선택 파라미터는 출력 형식(`format`), 페이지에서 유지할 범위(`main_content`), 브라우저 실행 여부(`render`), 링크와 이미지, 읽는 국가, 문자 제한, 타임아웃을 정합니다. 일반 페이지는 1 크레딧, 브라우저 사용 시 2 크레딧이며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이, 암호화폐로 결제하세요. ## /read at a glance | 속성 | 값 | | --- | --- | | 메서드 | 쿼리 파라미터를 붙인 `GET`, 또는 같은 이름을 사용하는 JSON 본문을 붙인 `POST` | | URL | `https://webreaderapi.com/api/v1/read` | | 필수 | `url`: http 또는 https 주소, 최대 2,048자 | | 기본 출력 | 본문의 Markdown | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 국가 | 페이지를 읽는 국가를 선택하면 10 크레딧이 추가됩니다. 이 경우 해당 국가의 주거용 연결을 통해 페이지를 읽기 때문입니다 | | PDF | 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다 | | 크롤러 식별 | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## 페이지 하나 읽기 (GET) `GET /api/v1/read` 공개 페이지 하나를 가져와 본문을 페이지 메타데이터와 함께 Markdown으로 반환합니다. 파라미터는 URL 인코딩된 쿼리 문자열로 전달합니다. 예제는 블로그 글을 읽습니다. ID, 날짜, 값은 예시입니다. 인증: `Authorization: Bearer API_KEY` 헤더에 API 키를 넣습니다. **파라미터** | 이름 | 위치 | 타입 | 필수 | 설명 | | --- | --- | --- | --- | --- | | `url` | query | string | 예 | 읽을 페이지: http 또는 https, 최대 2,048자. 사설, 로컬, 클라우드 메타데이터 주소는 거부됩니다. | | `format` | query | string | 아니요 | `markdown`(기본값), `text`(마크업 없는 일반 텍스트) 또는 `html`(본문의 정리된 HTML) | | `main_content` | query | boolean | 아니요 | `true`(기본값)은 기사나 본문만 유지하고, `false`은 메뉴와 푸터를 포함한 전체 페이지를 변환합니다. | | `render` | query | string | 아니요 | `auto`(기본값)은 원시 HTML의 텍스트가 너무 적을 때만 브라우저를 실행하고, `true`은 항상, `false`는 절대 실행하지 않습니다. 렌더링된 페이지는 2 크레딧입니다. | | `include_links` | query | boolean | 아니요 | `true`은 `{url, text}`의 `links` 목록을 추가합니다. 기본값 `false`. | | `include_images` | query | boolean | 아니요 | `true`은 이미지를 Markdown의 `![alt](src)`로 유지합니다. 기본값 `false`. | | `country` | query | string | 아니요 | 두 글자 국가 코드(ISO 3166-1 alpha-2). 해당 국가의 주소에서 페이지를 읽으며, 10 크레딧 추가(주거용 연결)입니다. | | `max_chars` | query | integer | 아니요 | 이 문자 수에서 출력을 자릅니다. 1,000에서 500,000까지. 모델의 컨텍스트에 맞추는 데 유용합니다. | | `timeout` | query | integer | 아니요 | 사이트를 기다리는 시간(초)으로, 5에서 60 사이입니다. 기본값은 30입니다. | | `api_key` | query | string | 아니요 | `Authorization` 헤더를 보내지 않는 경우 사용할 키입니다. | **응답** `200` ```json { "url": "https://example.com/blog/first-post", "final_url": "https://example.com/blog/first-post", "status_code": 200, "fetched_at": "2026-10-22T09:41:12Z", "rendered": false, "credits_used": 1, "title": "Our first post", "description": "Why we started this blog and what comes next.", "language": "en", "author": "Jane Doe", "published_at": "2026-10-01", "site_name": "Example Blog", "markdown": "# Our first post\n\nWe started this blog to share what we learn...\n\n## What comes next\n\n- A post every month\n- Notes from our team", "word_count": 612 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" \ -d format=markdown -d max_chars=20000 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post", "max_chars": 20000}, timeout=70, ) resp.raise_for_status() print(resp.json()["markdown"][:300]) ``` *Node.js* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post', max_chars: '20000' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); console.log(page.markdown.slice(0, 300)); ``` ## 페이지 하나 읽기 (POST) `POST /api/v1/read` 동일한 endpoint, 동일한 parameter를 JSON body로 보냅니다. URL이 매우 길거나 HTTP 클라이언트가 query string보다 JSON을 더 쉽게 만들 때 POST를 선호하세요. 응답은 GET 형식과 동일합니다. 인증: `Authorization: Bearer API_KEY` 헤더에 API 키를 넣습니다. **요청 본문** | 필드 | 타입 | 필수 | 설명 | | --- | --- | --- | --- | | `url` | string | 예 | 읽을 페이지입니다. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | 아니요 | 위의 GET 표와 같으며, JSON 타입을 따릅니다: boolean은 `true`/`false`, 숫자는 따옴표 없이 표기합니다. | *예시: a JavaScript-heavy page, read from Germany, with its links* ```json { "url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true, "max_chars": 30000 } ``` **응답** `200` ```json { "url": "https://example.com/app/pricing", "final_url": "https://example.com/de/app/pricing", "status_code": 200, "fetched_at": "2026-10-22T09:44:03Z", "rendered": true, "credits_used": 3, "title": "Pricing", "language": "de", "markdown": "# Pricing\n\n| Plan | Price |\n|---|---|\n| Basic | ... |", "word_count": 214, "links": [ { "url": "https://example.com/de/contact", "text": "Contact" } ] } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": True}, timeout=70, ) print(resp.json()["credits_used"], "credits") ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/read', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/app/pricing', render: 'true', country: 'de', include_links: true }), }); console.log((await res.json()).credits_used); ``` ## 어떤 output format을 선택해야 하나요? 언어 모델과 RAG에는 `markdown`를 선택하세요: 제목, 목록, 표, 링크가 유지되고 텍스트가 간결하게 남습니다. 단어 수를 세거나 분류, 검색만 하고 마크업이 방해가 될 때는 `text`를 선택하세요. 자체 pipeline이 이미 HTML을 파싱하고 잡음만 제거하고 싶을 때는 `html`를 선택하세요. 메타데이터 field는 세 형식 모두 동일합니다. content field의 이름만 `markdown`, `text` 또는 `html`로 바뀝니다. ## main_content를 false로 설정해야 하는 경우는 언제인가요? 기사 주변 부분이 필요할 때 `false`으로 설정하세요. 예를 들어 사이트의 섹션을 파악하기 위한 내비게이션, 법적 정보나 연락처가 있는 footer, 또는 사양이 사이드바에 있는 제품 페이지 등입니다. 기본값 `true`의 경우, extractor는 주요 콘텐츠 블록을 유지하고 내비게이션, 쿠키 배너, 광고, 공유 버튼, footer를 제거합니다. 대부분의 agent와 RAG pipeline이 원하는 방식이며, 페이지를 HTML 크기의 일부로 줄여주는 경우가 많습니다. ## render=auto는 어떻게 브라우저 사용을 결정하나요? 먼저 raw HTML을 가져오며, 이는 빠르고 1 크레딧이 듭니다. 해당 HTML에 읽을 수 있는 텍스트가 너무 적으면(일반적으로 JavaScript로 페이지를 구성하는 앱), 헤드리스 브라우저에서 페이지를 다시 로드하며 이 호출은 2 크레딧이 듭니다. 응답은 어떤 경로가 실행되었는지 알려줍니다: `rendered`은 `true` 또는 `false`입니다. 사이트가 완전한 HTML을 제공한다는 것을 알고 고정 비용을 원할 때는 `render=false`으로 설정하세요. 단일 페이지 앱의 경우 첫 시도를 건너뛰려면 `render=true`로 설정하세요. ## country와 max_chars는 무엇을 바꾸나요? `country`은 지정한 국가의 주소에서 동일한 User-Agent로 페이지를 읽습니다. 가격, 언어, 제공 여부가 국가별로 달라지는 페이지에 사용하세요. 주거용 연결로 페이지를 읽기 때문에 10 크레딧이 추가되며, 서비스가 운영되지 않는 국가에서는 사용할 수 없습니다. `max_chars`은 해당 문자 수 이후 출력을 자릅니다. 가격은 바뀌지 않지만, agent의 context window를 보호합니다: 모델에 전달하는 단일 페이지에는 20,000자가 합리적인 기본값입니다. ## /read는 PDF 파일을 처리할 수 있나요? 네. URL이 PDF를 반환하면 텍스트가 동일한 `markdown` field에 Markdown으로 반환됩니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. 텍스트 레이어가 없는 스캔된 PDF는 문자 인식 단계가 없기 때문에 텍스트가 거의 또는 전혀 반환되지 않습니다. ## Read endpoint: 자주 묻는 질문 ### /read는 redirect를 따르나요? 네, 최대 5회까지 따릅니다. 응답은 요청한 주소를 `url`에, 실제로 읽은 주소를 `final_url`에 제공합니다. 비공개 또는 로컬 주소로의 redirect는 거부됩니다. ### 로그인이 필요한 페이지를 읽을 수 있나요? 아니요. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 로그인이나 paywall 뒤의 페이지는 사이트의 거부 응답을 반환하며, 이 호출은 무료입니다. ### robots.txt 확인은 매 호출마다 이루어지나요? 네, 최대 24시간 된 사이트의 robots.txt 사본을 기준으로 확인합니다. 허용되지 않은 URL은 `403 blocked_by_robots`을 반환하고 크레딧을 사용하지 않습니다. ### 동시에 몇 개의 페이지를 읽을 수 있나요? 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. 많은 URL의 경우 [batch job](https://webreaderapi.com/ko/docs/crawl/)이 많은 병렬 호출을 실행하는 것보다 간단합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # Read API 응답 형식, field별 상세 > Read API 응답 형식: markdown과 word_count부터 final_url, rendered까지 페이지에 대해 반환되는 모든 field, 그리고 job 결과. KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/docs/response/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 모든 `/read` 호출은 하나의 JSON object를 반환합니다: 요청한 형식의 페이지 콘텐츠, 메타데이터, 그리고 무슨 일이 있었고 얼마가 들었는지 알려주는 세 field입니다. Job 결과도 동일한 object를 재사용합니다. **빠른 답변 — WebReaderAPI read 응답에는 무엇이 들어 있나요?** **WebReaderAPI** `/read` 응답에는 `markdown`(또는 `text`, `html`) 형식의 페이지 콘텐츠, 메타데이터(`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`), 그리고 fetch에 관한 정보(`final_url`, `status_code`, `rendered`, `credits_used`)가 담겨 있습니다. 일반 페이지는 1 크레딧이 들며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. KYC 없이, 암호화폐 결제. ## 어떤 field가 fetch를 설명하나요? 이 field는 성공한 응답에 항상 포함됩니다. | 필드 | 타입 | 의미 | | --- | --- | --- | | `url` | string | 보낸 주소 | | `final_url` | string | redirect 후 실제로 읽은 주소 (최대 5회) | | `status_code` | integer | 사이트가 최종 주소에 대해 반환한 HTTP 상태이며, 보통 200입니다 | | `fetched_at` | string | 가져온 시각, UTC 기준 ISO 8601 | | `rendered` | boolean | 헤드리스 브라우저가 페이지를 렌더링한 경우 `true` | | `credits_used` | integer | 이 페이지에 청구된 크레딧: 1, 브라우저 사용 시 2, `country` 사용 시 10 추가; PDF는 시작된 10페이지당 1 | ## 어떤 필드가 페이지를 설명하나요? 메타데이터는 페이지 자체에서 가져옵니다: title 태그, meta 태그, 구조화 데이터, 그리고 화면에 보이는 작성자 표기입니다. 페이지가 제공하지 않는 필드는 없으므로 사용 전에 확인하세요. | 필드 | 타입 | 의미 | | --- | --- | --- | | `title` | string | 페이지 또는 글 제목 | | `description` | string | 페이지가 스스로에 대해 제공하는 요약 | | `language` | string | 콘텐츠의 언어 코드, 예: `en` 또는 `de` | | `author` | string | 페이지에 명시된 작성자 | | `published_at` | string | 페이지에 명시된 게시 날짜 | | `site_name` | string | 사이트 자체의 이름 | | `word_count` | integer | 본문 추출 후 `max_chars` 전까지, 반환된 콘텐츠의 단어 수 | ## 콘텐츠 자체는 어디에 있나요? 선택한 `format` 이름으로 지정된 콘텐츠 필드 하나가 반환됩니다. | 필드 | When | Content | | --- | --- | --- | | `markdown` | `format=markdown` (기본값) | Markdown 형식의 제목, 문단, 목록, 표, 링크; `include_images=true` 사용 시 이미지도 포함 | | `text` | `format=text` | 빈 줄로 문단을 구분한 일반 텍스트 | | `html` | `format=html` | 스크립트, 스타일, 광고를 제외한 본문의 정리된 HTML | | `links` | `include_links=true` | 페이지에서 발견된 링크의 `{url, text}` 목록, 절대 URL | *전체 응답 (값은 예시입니다)* ```json { "url": "https://example.com/guides/compost", "final_url": "https://example.com/guides/compost-at-home", "status_code": 200, "fetched_at": "2026-10-22T10:02:44Z", "rendered": false, "credits_used": 1, "title": "Compost at home: a beginner's guide", "description": "What to put in a compost bin, and what to leave out.", "language": "en", "author": "Sam Rivera", "published_at": "2026-09-14", "site_name": "Example Garden", "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).", "word_count": 1184, "links": [ { "url": "https://example.com/guides/bins", "text": "Choosing a bin" } ] } ``` ## 렌더링된 페이지와 일반 페이지는 어떻게 구분하나요? `rendered`을 보세요. `render=auto`을 사용하면 API가 먼저 원본 HTML을 읽고, 해당 HTML에 텍스트가 너무 적을 때만 브라우저를 실행하며, 그때 `rendered`를 `true`으로, `credits_used`를 2로 설정합니다. 자주 읽는 사이트가 항상 렌더링된 상태로 돌아온다면 처음부터 `render=true`를 보내세요. 비용은 동일하고 낭비되는 첫 단계를 건너뛸 수 있습니다. 페이지가 렌더링되지 않은 채로 돌아왔지만 내용이 빈약하다면 `word_count`을 브라우저에서 보이는 것과 비교하세요. 수치가 낮으면 보통 콘텐츠에 JavaScript가 필요하다는 뜻이므로 `render=true`로 한 번 다시 시도하세요. ## final_url이 url과 다른 이유는 무엇인가요? 사이트가 리다이렉트하기 때문입니다. 단축 링크, 오래된 주소, 빠진 끝 슬래시, 언어 전환 등은 모두 다른 곳으로 보냅니다. API는 최대 5개의 리다이렉트를 따라가며 최종적으로 읽은 주소를 `final_url`에 보고합니다. RAG 인덱스에서 문서의 정식 출처로 `final_url`을 저장하세요. 같은 `final_url`에서 끝나는 서로 다른 두 `url` 값은 같은 페이지이므로, 임베딩하기 전에 중복을 제거할 수 있습니다. ## 작업 결과는 어떤 모습인가요? `GET https://webreaderapi.com/api/v1/jobs/{job_id}`은 `job_id`, `status` (`queued`, `running` 또는 `done`), `results`, `next_cursor` 그리고 작업의 실행 중인 `credits_used`을 반환합니다. `results`의 각 항목은 두 가지 형태 중 하나입니다: - 읽힌 페이지에 대한, 위에서 설명한 그대로의 전체 `/read` 응답; - 읽히지 않은 페이지에 대한 `{url, error}`, 여기서 `error`은 [API 오류](https://webreaderapi.com/ko/docs/errors/)와 동일한 `code`과 `message`을 가집니다. 결과가 더 준비되어 있는 동안 `next_cursor`이 존재하며, `cursor`로 다시 보내면 받을 수 있습니다. [배치 및 크롤링 페이지](https://webreaderapi.com/ko/docs/crawl/)에 전체 폴링 루프가 있습니다. *작업 결과 페이지 (값은 예시입니다)* ```json { "job_id": "job_5c1e8a90d2", "status": "done", "results": [ { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 }, { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } } ], "credits_used": 1 } ``` ## 오류 응답은 어떤 모습인가요? 오류는 HTTP 상태 400 이상과 JSON 본문 `{"error": {"code", "message"}}`로 돌아옵니다. 사이트 자체가 요청을 거부한 경우 `target_status`은 사이트가 보낸 상태를 알려줍니다. 오류에는 요금이 부과되지 않습니다. [오류 페이지](https://webreaderapi.com/ko/docs/errors/)에 모든 코드와 원인, 재시도가 도움이 되는지 여부가 나열되어 있습니다. ## 응답 형식: 자주 묻는 질문 ### max_chars를 설정하면 Markdown이 잘리나요? 예. content 필드는 해당 문자 수에서 멈춥니다. `word_count`은 여전히 추출된 전체 콘텐츠를 나타내므로 얼마나 빠졌는지 확인할 수 있습니다. ### author 또는 published_at이 없는 이유는 무엇인가요? 페이지가 읽을 수 있는 방식으로 이를 명시하지 않기 때문입니다. 많은 페이지가 저자나 날짜를 제공하지 않습니다. 없는 필드는 빈 값으로 반환되지 않고 생략됩니다. ### Markdown의 링크는 절대 URL인가요? `links` 목록의 링크는 절대 URL입니다. 코드가 Markdown 본문의 두 형태를 모두 받아들이도록 작성하고, 상대 링크는 `final_url`을 기준으로 해석하세요. ### 전체 페이지의 원본 HTML을 얻을 수 있나요? 가장 가까운 것은 `main_content=false`과 함께 `format=html`을 사용하는 것으로, 스크립트와 스타일이 제거된 전체 페이지를 반환합니다. 바이트 단위의 원본 HTML은 v1에 포함되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI FAQ > WebReaderAPI FAQ: 웹 리더 API에 관한 30가지 답변: 페이지당 가격, JavaScript와 PDF, 크롤링, robots.txt, 차단된 사이트, KYC, 암호화폐 결제와 AI 에이전트. - URL: https://webreaderapi.com/ko/faq/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 개발자, AI 빌더, 사이트 운영자가 WebReaderAPI로 웹페이지를 Markdown으로 변환하는 방법에 대해 가장 많이 묻는 질문에 대한 답변입니다. 각 답변은 결론부터 시작합니다. **빠른 답변 — WebReaderAPI에 대해 사람들이 가장 많이 묻는 것은 무엇인가요?** 주로 페이지당 가격, JavaScript 페이지와 PDF가 어떻게 계산되는지, 그리고 사이트가 robots를 거부할 때 무슨 일이 일어나는지입니다. 요약하면: **WebReaderAPI**은 페이지를 읽을 때마다 크레딧 1개를 청구하고, 브라우저를 쓰면 2개를 청구하며, 2026년 10월 기준 US$0.07/1K 페이지부터 시작합니다. 거부되거나 실패한 페이지는 비용이 들지 않습니다. robots.txt는 항상 준수합니다. KYC 없이 암호화폐로 결제할 수 있습니다. ## 가격과 크레딧 ### WebReaderAPI 요금은 얼마인가요? 선불 팩은 2026년 10월 기준 10,000페이지에 US$3.75, 100,000페이지에 US$21.75, 1,000,000페이지에 US$74.25입니다. 5,000,000페이지 팩에서는 단가가 US$0.07/1K 페이지로 내려갑니다. [가격 페이지](https://webreaderapi.com/ko/pricing/)에서 모든 팩을 확인할 수 있습니다. ### 크레딧 1개로 무엇을 살 수 있나요? 브라우저 없이 페이지 1개를 읽을 수 있습니다. JavaScript 렌더링이 필요한 페이지는 크레딧 2개를 사용하고, 특정 국가에서 읽으면 1개가 추가됩니다. 응답은 `credits_used`에 무엇이 사용되었는지 알려주므로, 직접 로그에서 페이지당 비용을 추적할 수 있습니다. ### 크레딧은 만료되나요? 아니요. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. 일회성 크롤링을 위해 구매한 팩은 사용하지 않은 페이지를 다음 프로젝트를 위해 그대로 보관합니다. ### 페이지를 읽을 수 없을 때도 요금이 청구되나요? 아니요. 오류는 우리 쪽, 네트워크, 또는 웹사이트 중 어느 것이 원인이든 크레딧을 사용하지 않습니다. robots.txt, `ai-input=no` 신호, 또는 사이트 자체의 응답으로 거부된 페이지도 마찬가지입니다. ### 무료 플랜이 있나요? 없습니다. 무료 티어는 없습니다. 가장 작은 팩이 테스트하는 방법이며, 최소 충전 금액에서 결제합니다. 최소 금액에 도달하기 위해서만 추가한 금액은 사용하지 않은 상태에서 30일 이내에 요청 시 USDT 또는 USDC로 돌려보낼 수 있습니다. ### 최소 결제 금액은 얼마인가요? 최소 충전 금액은 US$25입니다. 가장 작은 팩인 10,000페이지은 US$3.75이며, 충전금의 나머지는 이후 팩을 위해 잔액에 남아 있거나, 사용하지 않은 경우 30일 이내에 환불을 요청할 수 있습니다. ## API가 읽고 반환하는 것 ### WebReaderAPI는 JavaScript로 만든 페이지를 읽을 수 있나요? 네. 페이지에 필요할 때 헤드리스 브라우저에서 JavaScript 렌더링 (render=auto), 또는 항상, 또는 절대 하지 않습니다. `render=auto`을 사용하면 원시 HTML에 텍스트가 너무 적을 때만 브라우저를 사용하므로, 단순한 페이지는 크레딧 1개로 유지됩니다. ### PDF 파일도 변환할 수 있나요? 네. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. PDF의 URL을 동일한 `/read` endpoint로 보내면 텍스트가 Markdown으로 반환됩니다. ### 웹사이트 전체를 읽을 수 있나요? 네, 크롤링 작업으로 가능합니다. 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. `/docs/*` 같은 경로로 제한할 수 있으며, 각 페이지 읽기는 단일 요청과 마찬가지로 크레딧을 사용합니다. ### 한 번에 몇 개의 URL을 보낼 수 있나요? 배치 작업당 최대 100개의 URL. 배치는 작업(job)으로 실행됩니다: 목록을 보내면 `job_id`을 받고, 작업이 완료되면 모든 결과를 수집합니다. ### 페이지를 모델의 컨텍스트 윈도 내에 유지하려면 어떻게 하나요? `max_chars`을 설정하세요. Markdown은 1,000자에서 500,000자 사이의 해당 길이에서 잘립니다. `main_content=true`과 함께 사용하면 긴 페이지를 예측 가능한 토큰 예산 내로 유지할 수 있습니다. ### Markdown에 표, 코드 블록, 링크가 유지되나요? 네. 제목, 목록, 표, 코드 블록, 링크는 Markdown 형식을 유지합니다. 링크는 인라인으로 표시되며, `include_links=true`을 추가하면 별도 목록으로도 받을 수 있고, `include_images=true`을 사용하면 이미지도 유지됩니다. ### "본문 추출"이란 무엇인가요? 독자가 보러 온 페이지의 부분, 즉 기사, 문서 또는 제품 설명입니다. 기본값인 `main_content=true`을 사용하면 메뉴, 쿠키 배너, 광고, 사이드바, 푸터가 제거됩니다. `false`로 설정하면 전체 페이지를 변환합니다. ### 다른 국가에서 보이는 대로 페이지를 읽을 수 있나요? 네, `country` parameter와 두 글자 국가 코드를 사용하면 됩니다. 페이지를 읽는 국가를 선택하면 10 크레딧이 추가됩니다. 이 경우 해당 국가의 주거용 연결을 통해 페이지를 읽기 때문입니다. 일부 사이트는 국가에 따라 가격, 언어 또는 콘텐츠를 변경합니다. ## robots.txt와 거부된 페이지 ### WebReaderAPI는 robots.txt를 준수하나요? 항상 준수합니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. [bot 페이지](https://webreaderapi.com/ko/bot/)에서 user agent와 사이트 소유자가 이를 허용하거나 거부하는 방법을 확인할 수 있습니다. ### Cloudflare 또는 다른 봇 필터로 보호되는 사이트는 어떻게 되나요? 사이트가 저희 크롤러를 통과시키면 페이지를 정상적으로 읽습니다. 사이트가 거부하거나 챌린지 페이지로 응답하면 그 응답을 `target_refused`로 반환하며 비용을 청구하지 않습니다. 저희는 챌린지를 우회하려고 시도하지 않습니다. ### WebReaderAPI는 로그인이나 페이월 뒤의 페이지를 읽을 수 있나요? 아니요, 절대 읽을 수 없습니다. 제공하신 자격 증명이 있어도 마찬가지입니다. 계정이나 구독이 필요한 콘텐츠는 범위를 벗어나며, 이를 요청하면 [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)을 위반합니다. ### ai-input=no 신호란 무엇인가요? 일부 사이트가 robots.txt에 추가하는 줄로, Content Signals Policy에서 해당 페이지를 AI 답변의 입력으로 사용하는 것을 거부하기 위한 것입니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. API는 `blocked_by_site_policy`을 무료로 반환합니다. ### AI를 위해 웹페이지를 읽는 것은 합법인가요? 이는 콘텐츠, 국가, 그리고 텍스트를 어떻게 사용하는지에 따라 달라집니다. robots.txt를 준수하고 개인 데이터와 페이월을 피하면 위험이 줄어듭니다. [규칙 개요](https://webreaderapi.com/ko/guides/is-reading-web-pages-for-ai-legal/)에서 주요 사항을 요약하고 있으며, 이는 법률 자문이 아닙니다. ## 계정, 결제 및 개인정보 ### 본인 확인을 해야 하나요? 아니요. WebReaderAPI는 신분증, 셀피, 회사 서류, 카드를 요구하지 않습니다. 계정 번호로 로그인, 이메일은 선택 사항. [no-KYC 페이지](https://webreaderapi.com/ko/no-kyc-web-reader-api/)에서 여전히 적용되는 사항을 설명합니다. ### 어떤 암호화폐로 결제할 수 있나요? BTC, USDT, USDC, ETH, SOL, LTC. USDT는 TRC-20 또는 ERC-20로, USDC는 ERC-20로 사용할 수 있습니다. 표시된 정확한 금액을 보내고 "I've sent the payment"를 클릭하면, 확인되는 즉시 충전이 반영됩니다. ### 환불을 받을 수 있나요? 네, 잔액으로 환불받을 수 있습니다. 20% 미만으로 사용된 pack은 구매 후 72시간 이내에 반환되며, 전혀 작동하지 않은 pack은 전액 크레딧됩니다. [환불 정책](https://webreaderapi.com/ko/refunds/)에 정확한 규칙과 세 가지 예시가 있습니다. ### API 키는 어떻게 작동하나요? 여러 API 키를 만들 수 있습니다. 예를 들어 에이전트나 프로젝트별로 하나씩 만들고, 대시보드에서 원하는 키를 폐기할 수 있습니다. API 키를 Bearer 토큰으로 Authorization 헤더에 넣거나 api_key 쿼리 파라미터에 넣어 전송하세요. 애플리케이션 또는 에이전트마다 키를 하나씩 두면 다른 키를 중단하지 않고 하나만 폐기하기 쉽습니다. ### 제 요청에 대해 어떤 정보를 기록하나요? 각 페이지의 호스트 이름만 기록하며, 전체 URL이나 콘텐츠는 기록하지 않습니다. 여기에 시간, 상태, 크레딧을 30일간 보관합니다. 읽으신 페이지의 사본은 보관하지 않습니다. [개인정보 처리방침](https://webreaderapi.com/ko/privacy/)에 자세한 내용이 있습니다. ## 개발자 및 AI 에이전트 ### Python과 Node.js용 코드가 있나요? 네. [Python](https://webreaderapi.com/ko/docs/python/) 및 [Node.js](https://webreaderapi.com/ko/docs/node/) 가이드에서 단일 읽기, 배치, 크롤링, 재시도를 보여 주며, [퀵 스타트](https://webreaderapi.com/ko/docs/)에는 curl 예제가 있습니다. SDK 패키지는 필요 없습니다. API는 JSON을 사용하는 일반 HTTPS입니다. ### Claude, Cursor 또는 다른 MCP 클라이언트가 WebReaderAPI를 사용할 수 있나요? 네, 직접 실행하는 작은 MCP 서버를 통해 가능하며, [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)에 문서화되어 있습니다. URL을 받아 페이지를 Markdown으로 반환하는 도구를 제공합니다. ### LangChain 및 LlamaIndex와 함께 작동하나요? 네. [LangChain 및 LlamaIndex 페이지](https://webreaderapi.com/ko/docs/langchain/)에서 URL을 메타데이터와 함께 문서로 변환하여 청킹과 임베딩에 바로 사용할 수 있게 하는 document loader를 보여 줍니다. ### 동시에 몇 개의 페이지를 읽을 수 있나요? 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. 또한 크롤링은 각 사이트의 `Crawl-delay`을 따르므로, 하나의 도메인에 대한 대규모 크롤링은 페이지 수가 시사하는 것보다 오래 걸릴 수 있습니다. ### WebReaderAPI는 누가 운영하나요? SerpGoat LLC. 서비스 작동 방식과 담당자에게 연락하는 방법은 [about 페이지](https://webreaderapi.com/ko/about/)를 참고하세요. 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다. ### 읽기 속도는 얼마나 빠른가요? 주로 웹사이트와 브라우저가 필요한지 여부에 따라 달라집니다. 공개 샘플을 대상으로 측정하기 전까지는 속도 수치를 공개하지 않으며, 측정이 완료되면 방법과 날짜와 함께 [상태 페이지](https://webreaderapi.com/ko/status/)에 표시됩니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 리더 API 용어집 > API로 웹페이지를 읽기 위한 36개 용어 용어집: Markdown, 본문 추출, JavaScript 렌더링, robots.txt, Content Signals, RAG, MCP, 크레딧 등. - URL: https://webreaderapi.com/ko/glossary/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) HTML 측부터 AI 측까지, 웹페이지를 언어 모델용 텍스트로 변환할 때 마주치는 용어들을 각 용어가 문서에서 중요한 부분에 대한 링크와 함께 설명합니다. **빠른 답변 — 주요 웹 리더 API 용어는 무엇을 의미하나요?** 웹 리더 API는 페이지를 가져와 **본문 추출**을 유지하고 모델이 읽을 수 있는 **Markdown**으로 반환합니다. **WebReaderAPI**은 페이지에 브라우저가 필요할 때 **JavaScript 렌더링**을 추가하고, **robots.txt**와 **Content Signals**을 준수하며, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 **크레딧** 하나를 청구합니다. 아래 36개 용어가 나머지를 설명합니다. ## 웹페이지 측면에서 **HTML** — 웹페이지의 마크업 언어입니다. 원시 HTML은 원하는 텍스트와 태그, 스크립트, 스타일링이 섞여 있어 언어 모델이 읽기에 좋지 않습니다. **DOM** — Document Object Model: 브라우저가 HTML로부터 만들고 JavaScript로 변경하는 요소 트리입니다. 렌더링된 페이지는 원시 HTML이 아니라 DOM에서 읽습니다. **JavaScript 렌더링** — 첫 응답 이후에 로드되는 콘텐츠가 나타나도록 브라우저에서 페이지의 스크립트를 실행하는 것입니다. WebReaderAPI가 필요할 때(`render=auto`) 이를 수행하며, 크레딧 1개 대신 2개가 듭니다. **헤드리스 브라우저** — 화면 없이 소프트웨어로 구동되는 실제 브라우저 엔진입니다. JavaScript가 많은 페이지를 서버에서 렌더링하는 방식입니다. **본문 추출** — 독자가 원하는 부분(예: 기사나 문서)을 찾아 주변의 모든 것을 제외하는 것입니다. 저희 API에서는 기본값인 `main_content=true`입니다. **Readability** — 텍스트의 품질을 뜻하기도 하고, 브라우저의 읽기 모드처럼 페이지 블록을 점수화하여 본문을 찾는 잘 알려진 알고리즘 계열의 이름이기도 합니다. **보일러플레이트** — 사이트의 모든 페이지에서 반복되는 텍스트입니다. 메뉴, 쿠키 공지, 사이드바, 푸터, 공유 버튼 등입니다. 이를 제거하는 것이 웹 리더 작업의 대부분입니다. **Markdown** — `#`은 제목, `-`는 목록 항목, `[text](url)`은 링크를 표시하는 일반 텍스트 형식입니다. 모델이 잘 읽고 HTML보다 토큰을 훨씬 적게 씁니다. **메타데이터** — 페이지의 텍스트가 아니라 페이지에 관한 정보입니다. 제목, 설명, 작성자, 게시일, 언어 등입니다. WebReaderAPI는 페이지에 명시되어 있을 때 Markdown 옆에 이를 반환합니다. **PDF 추출** — PDF 파일의 텍스트를 Markdown으로 변환하는 것입니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. **사이트맵** — 사이트가 페이지 목록을 나열한 XML 파일입니다. 존재하는 경우 크롤링 작업이 여기서 시작되어 더 적은 요청으로 페이지를 더 빠르게 찾습니다. **페이월** — 구독자에게만 콘텐츠를 표시하는 장벽입니다. WebReaderAPI는 페이월 뒤를 읽지 않습니다. ## 크롤러 측에서 **크롤러** — 목적을 위해 웹페이지를 가져오는 프로그램입니다. 저희 크롤러는 고객이 요청한 페이지만 가져오며, [봇 페이지](https://webreaderapi.com/ko/bot/)에서 설명합니다. **User agent** — 클라이언트가 각 요청과 함께 보내는 이름입니다. 저희 것은 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`이므로 사이트 소유자는 누가 요청하는지 항상 알 수 있습니다. **robots.txt** — 크롤러가 가져올 수 있는 경로를 알려주는 사이트 루트의 파일로, RFC 9309로 표준화되었습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. **Crawl-delay** — 크롤러에게 요청 사이에 몇 초를 기다리라고 요청하는 robots.txt 줄입니다. 저희 크롤링 작업은 이를 준수합니다. **Content Signals** — `Content-Signal: search=yes, ai-input=no` 같은 robots.txt 줄에 대한 정책으로, AI를 포함한 사이트 콘텐츠의 사용 방식을 명시합니다. **ai-input** — 페이지를 AI 답변의 입력으로 사용하는 것을 다루는 Content Signals 설정입니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. **llms.txt** — 일부 사이트가 `/llms.txt`에 게시하여 언어 모델에게 콘텐츠와 주요 페이지에 대한 간단한 안내를 제공하는 Markdown 파일입니다. **크롤링** — 사이트의 링크와 사이트맵을 따라가며 한 사이트의 여러 페이지를 읽는 것입니다. 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. **배치 작업** — 하나의 요청으로 보내 백그라운드에서 처리하는 URL 목록입니다. 배치 작업당 최대 100개의 URL. **HTTP 403** — 서버가 요청을 거부할 때 보내는 상태입니다. 사이트가 저희 크롤러에 403으로 응답하면 API는 `target_refused`을 반환하고 아무것도 청구하지 않습니다. **HTTP 429** — 너무 많은 요청에 대한 상태입니다. 사이트에서 오면 속도를 늦추라는 뜻이고, 저희 API(`concurrency_limit`)에서 오면 계정이 동시 읽기 한도에 도달했다는 뜻입니다. **지수 백오프** — 재시도하기 전에 실패할 때마다 더 오래 기다리는 것(예: 1초, 2초, 그다음 4초)으로, 바쁜 서버에 요청이 몰리지 않게 합니다. ## AI 측면에서 **토큰** — 언어 모델이 읽고 과금되는 단위로, 대략 짧은 단어 하나 또는 그 일부입니다. 깔끔한 Markdown은 같은 페이지를 HTML로 쓸 때보다 토큰을 훨씬 적게 씁니다. **컨텍스트 윈도우** — 모델이 한 번에 받아들일 수 있는 텍스트의 양입니다. `max_chars` 파라미터는 각 페이지가 설정한 예산 안에 있도록 유지합니다. **RAG** — 검색 증강 생성: 모델이 질문에 대해 가져온 문서로 답하는 방식입니다. 웹 리더는 실시간 페이지에서 그 문서를 제공합니다. **청킹** — 긴 문서를 색인하기 전에 구절로 나누는 것입니다. Markdown 제목은 자연스러운 분할 지점을 제공합니다. **임베딩** — 구절의 의미를 나타내는 숫자 목록으로, 질문과 유사한 구절을 찾는 데 사용됩니다. **벡터 스토어** — 임베딩을 저장하고 쿼리에 가장 가까운 구절을 반환하는 데이터베이스로, RAG 시스템에서 청크된 웹페이지가 보통 저장되는 곳입니다. **도구 호출** — 모델이 애플리케이션에 URL 읽기 같은 함수 실행을 요청하고 그 결과를 사용하는 능력입니다. [OpenAI function calling](https://webreaderapi.com/ko/docs/openai/)을 참고하세요. **MCP** — Model Context Protocol로, Claude Desktop이나 Cursor 같은 AI 클라이언트에 도구를 연결하는 표준 방식입니다. 저희 [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)는 이 API로 만든 fetch 도구를 보여줍니다. ## 결제 측면에서 **크레딧** — API 사용의 단위입니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. **동시성** — 계정이 같은 순간에 실행할 수 있는 읽기 수입니다. 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. **KYC** — 고객 확인: 일부 서비스가 요구하는 신원 확인으로, 신분증 문서나 셀피 등이 있습니다. WebReaderAPI는 이를 요구하지 않습니다. **스테이블코인** — 미국 달러 같은 통화를 추종하는 암호화폐입니다. USDT와 USDC가 충전에 허용되는 두 가지이며, 전체 코인 목록은 BTC, USDT, USDC, ETH, SOL, LTC입니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # LLM을 위해 웹페이지를 Markdown으로 변환하는 방법 > 2026년에 LLM을 위해 웹페이지를 Markdown으로 변환하는 방법: 세 가지 방법, 깔끔한 Markdown이 유지하는 것, 토큰을 제한하는 방법, 그리고 이를 청크하는 Python 코드. - URL: https://webreaderapi.com/ko/guides/convert-web-page-to-markdown/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 복사해서 붙여넣기는 한 페이지에는 통합니다. 라이브러리는 직접 크롤러를 돌릴 때 통합니다. API는 페이지마다 요청 하나를 원할 때 통합니다. 여기에서 어떻게 고를지, 좋은 출력이 어떤 모습인지, 재사용할 수 있는 코드를 보여드립니다. **빠른 답변 — LLM을 위해 웹페이지를 Markdown으로 어떻게 변환하나요?** 페이지를 가져와 본문만 남기고, 제목, 목록, 표, 링크를 Markdown으로 바꾼 뒤 모델 예산에 맞게 길이를 제한하세요. 직접 할 수도 있고, 오픈소스 라이브러리로 할 수도 있고, API 호출 한 번으로 할 수도 있습니다: **WebReaderAPI**는 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1크레딧으로 Markdown과 메타데이터를 반환합니다. KYC 없이; 암호화폐 결제. ## 웹페이지에서 Markdown을 얻는 세 가지 방법 | 속성 | 값 | | --- | --- | | 직접 | 브라우저나 리더 뷰에서 텍스트를 복사하세요; 몇 페이지에는 괜찮습니다 | | 오픈소스 라이브러리 | 자체 페처 안에서 Readability, Trafilatura, MarkItDown 또는 Crawl4AI 사용 | | 웹 리더 API | `GET https://webreaderapi.com/api/v1/read?url=…`는 Markdown, 제목, 작성자, 날짜를 반환합니다 | | 길이 제어 | 변환 후 WebReaderAPI에서 `max_chars`를 사용하거나 직접 텍스트를 잘라내세요 | | JavaScript 페이지 | 헤드리스 브라우저가 필요합니다. WebReaderAPI는 필요할 때 2크레딧으로 렌더링합니다 | ## 어떤 방법을 사용해야 하나요? 처리량과 직접 운영할 인프라의 정도에 따라 선택하세요. | 방법 | 적합한 용도 | 직접 처리할 것 | |---|---|---| | 복사 및 붙여넣기 | 소수의 페이지, 일회성 프롬프트 | 수작업 정리 | | 코드 내 라이브러리 | 꾸준한 처리량, 완전한 제어 | 가져오기, 브라우저, robots.txt, PDF, 재시도 | | 웹 리더 API | 많은 사이트를 읽는 에이전트와 파이프라인 | 요청과 결과만 | 라이브러리는 제어권을 주고 페이지당 요금이 없습니다. 대신 운영 비용이 듭니다. JavaScript 페이지용 헤드리스 브라우저, robots.txt 확인, 문자 집합과 리다이렉트 처리, 그리고 PDF용 별도 경로가 필요합니다. API는 이 모든 것을 하나의 HTTP 호출로 통합합니다. ## 좋은 Markdown은 무엇을 유지하고 무엇을 버려야 하나요? 좋은 Markdown은 의미를 담은 모든 요소를 유지하고, 레이아웃이나 마케팅 목적으로만 존재하는 것은 모두 버립니다. - **제목은 `#`, `##`, `###`로 유지하세요**: 모델과 청커(chunker)에게 각 주제가 어디서 시작하는지 알려줍니다. - **목록과 표는 Markdown 목록과 파이프 표로 유지하세요**: 단계와 숫자를 읽기 쉽게 유지합니다. - **링크는 `[text](url)`로 유지하세요**: 어시스턴트가 출처를 인용하고 따라갈 수 있게 합니다. - **코드 블록은 펜스로 유지하세요**, 페이지에 언어가 표시되어 있으면 언어도 함께 넣으세요. - **메뉴, 쿠키 안내, 광고, 관련 글 위젯, 푸터는 버리세요**: 모든 페이지에서 반복되어 검색(retrieval)을 오염시킵니다. 실제 페이지 몇 개에서 결과를 확인하세요. 추출 도구들은 포럼, 긴 표, 여러 기사가 있는 페이지에서 가장 많이 의견이 갈립니다. ## Markdown은 HTML보다 얼마나 작나요? 보통 훨씬 작습니다. 페이지 장식과 마크업이 사라지기 때문입니다. Cloudflare가 2026년 2월 12일 Markdown for Agents 기능을 출시했을 때, 예시 페이지는 HTML로 16,180토큰에서 Markdown으로 3,150토큰이 되었으며, 약 80% 줄어든 것입니다. 비율은 사이트에 따라 다릅니다. 긴 글은 짧은 페이지에 무거운 템플릿이 둘러싼 경우보다 비율상 덜 줄어듭니다. 예산을 정하기 전에 실제 소스에서 측정하세요. ## 모델의 토큰 예산 안에 페이지를 어떻게 유지하나요? 모델에 도달하기 전에 텍스트를 제한하고, 남은 부분을 제목 기준으로 나누세요. WebReaderAPI에서는 `max_chars` 파라미터가 Markdown을 설정된 길이(1,000~500,000자)에서 자릅니다. `word_count` 필드는 전체 글의 길이를 알려주므로, 에이전트가 나머지를 읽을 가치가 있는지 판단할 수 있습니다. 검색(retrieval)의 경우, 먼저 제목 기준으로 나누고 그다음에 긴 섹션을 자르세요. 자기 제목으로 시작하는 청크는 주제를 유지하지만, 긴 페이지에서 문장 중간에 잘린 청크는 그렇지 않습니다. *Python: 페이지를 Markdown으로 읽고 제목 기반 청크로 나누기* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def page_to_chunks(url, max_chars=60000, chunk_len=1500): params = {"url": url, "format": "markdown", "max_chars": max_chars} resp = requests.get(API, headers=HEADERS, params=params, timeout=90) data = resp.json() if resp.status_code != 200: print("not read:", data["error"]["code"]) return [] chunks = [] for section in re.split(r"\n(?=#{1,3} )", data["markdown"]): section = section.strip() while section: chunks.append(section[:chunk_len]) section = section[chunk_len:] return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks] if __name__ == "__main__": for chunk in page_to_chunks("https://example.com/guides/compost")[:3]: print(chunk["title"], "|", chunk["text"][:80]) ``` ## 보통 무엇이 잘못되며, 어떻게 알아차리나요? 대부분의 나쁜 변환은 네 가지 문제에서 비롯됩니다. - **빈 출력.** 페이지가 JavaScript로 콘텐츠를 만듭니다. 낮은 `word_count`를 찾아보고, 브라우저에서 페이지를 렌더링하거나 `render=true`을 설정하세요. - **결과에 쿠키 또는 동의 문구.** 추출기가 배너를 유지했습니다. 본문 추출을 선호하고 각 결과의 첫 줄들을 확인하세요. - **표 누락.** 일부 사이트는 표를 이미지나 canvas 요소로 그립니다. 어떤 텍스트 추출기도 이를 읽을 수 없습니다. - **페이지 대신 거부 응답.** 사이트가 robots.txt에서 robots를 허용하지 않았거나 요청을 거부했습니다. 이를 존중하세요. 소유자에게 접근을 요청하거나, 사이트가 공식 API나 피드를 제공하면 그것을 사용하세요. 이 중 어떤 것도 더 빠르게 재시도한다고 해결되지 않습니다. 오류를 읽고, 방법이나 소스를 바꾸세요. ## 웹페이지를 Markdown으로 변환: 자주 묻는 질문 ### LLM에는 Markdown이 일반 텍스트보다 나은가요? 대부분의 페이지에서는 그렇습니다. Markdown은 적은 토큰 비용으로 제목, 목록, 표, 링크를 유지하므로 모델이 구조를 보고 출처를 인용할 수 있습니다. 일반 텍스트는 조금 더 짧지만 그 구조를 잃습니다. ### 한 페이지만이 아니라 웹사이트 전체를 변환할 수 있나요? 네. 크롤링하고 각 페이지를 변환하면 됩니다. WebReaderAPI의 [crawl API](https://webreaderapi.com/ko/crawl-api/)는 하나의 작업에서 둘 다 수행합니다: 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. ### PDF도 같은 방식으로 변환할 수 있나요? 네, PDF의 URL을 같은 endpoint로 보내면 됩니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. ### 로그인 뒤에 있는 페이지는요? 본인 소유이며 직접 내보낸 경우가 아니라면 제3자 서비스를 통해 변환하지 마세요. WebReaderAPI는 공개 페이지를 읽기만 하며 계정에 로그인하지 않습니다. ### 무료로 할 수 있는 방법이 있나요? 오픈소스 라이브러리는 무료로 사용할 수 있으며 자신의 머신에서 실행됩니다. WebReaderAPI에는 무료 플랜이 없습니다. 가장 작은 팩은 10,000페이지이며 US$3.75이고, KYC 없이 암호화폐로 결제합니다. ## 출처 1. [Markdown for Agents 소개](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # AI를 위해 웹페이지를 읽는 것은 합법인가요? 2026년 날짜가 있는 사실 > 2026년에 AI 에이전트와 RAG를 위해 웹페이지를 읽는 것은 합법인가요? EU opt-out 규칙, robots.txt에 관한 GPAI 코드, 그리고 진행 중인 미국 사건들. 법률 자문이 아닙니다. - URL: https://webreaderapi.com/ko/guides/is-reading-web-pages-for-ai-legal/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 단일한 답은 없으며, 여러 사건이 여전히 진행 중입니다. 이 페이지는 AI 도구로 공개 페이지를 읽는 것과 관련해 중요한 규칙과 법원 사건을 날짜와 출처와 함께 나열하고, 우리 쪽에서 무엇을 하는지 설명합니다. 법률 자문이 아닙니다. **빠른 답변 — AI 도구로 웹페이지를 읽는 것은 합법인가요?** 공개 페이지를 읽는 것은 널리 행해지지만, 규칙은 국가, 콘텐츠, 접근 방식에 따라 다릅니다. EU에서는 robots.txt 같은 기계 판독 가능한 opt-out이 텍스트 및 데이터 마이닝을 제한합니다. 미국에서는 AI와 자동화된 접근에 관한 2025–2026년 사건 여러 건이 진행 중이며 최종 판결은 없습니다. **WebReaderAPI**은 robots.txt와 AI opt-out을 존중합니다. KYC 없이, 암호화폐 결제. 법률 자문이 아닙니다. ## 주요 날짜 | 속성 | 값 | | --- | --- | | 2019년 4월 17일 | EU DSM 지침 제4조(3): 상업적 텍스트 및 데이터 마이닝은 기계 판독 가능한 수단으로 유보할 수 있음 | | 2025년 7월 10일 | EU GPAI 행동 규범: 서명자는 robots.txt를 읽고 준수하는 크롤러에 합의 | | 2025년 12월 5일 | The New York Times, 자사 콘텐츠 검색을 이유로 Perplexity를 상대로 소송 (혐의) | | 2026년 7월 31일 | Reddit 대 SerpApi 및 Perplexity: DMCA §1201(a) 청구가 각하 신청을 넘겨 생존 (혐의) | | 2026년 8월 5일 보도 | 제9순회법원, Perplexity의 Comet 에이전트에 대한 Amazon의 금지 명령을 파기 | ## EU 법률은 웹 콘텐츠 읽기에 대해 무엇이라고 말하나요? EU 법률은 적법하게 접근 가능한 콘텐츠의 텍스트 및 데이터 마이닝을 허용하지만, 권리자가 이를 유보할 수 있게 합니다. DSM 지침(2019/790) 제4조 제3항에 따르면 상업적 예외는 온라인에 게시된 콘텐츠에 대해 "기계 판독 가능한 수단과 같은 적절한 방식"으로 사용이 명시적으로 유보되지 않은 경우에만 적용됩니다. 2025년 7월 10일 발표된 EU AI 법의 범용 AI 모델 행동 규범은 서명자에게 더 나아갑니다. 서명자는 robots.txt를 읽고 준수하는 크롤러 및 기타 적절한 기계 판독 가능 프로토콜에 합의합니다. 그렇기 때문에 robots.txt와 선언된 AI 환경설정을 존중하는 것이 유럽 사용의 기본선이 되었습니다. ## 어떤 미국 사례가 중요하며, 현재 어디까지 진행되었나요? AI를 위한 공개 페이지 읽기에 대해 최종 판결을 내린 사례는 없습니다. 지금까지의 사실은 법원이 판단한 경우를 제외하고 모두 혐의입니다: - **Reddit 대 SerpApi, Perplexity 및 기타 (S.D.N.Y.).** 2026년 7월 31일 법원은 Google의 챌린지 기반 보호를 접근을 통제하는 조치로 보아 DMCA §1201(a)에 따른 청구를 소송 단계에서 진행하도록 허용했습니다. 어떤 피고도 책임이 인정되지 않았습니다. - **The New York Times 대 Perplexity.** 2025년 12월 5일 제기되었습니다. Times는 robots.txt에서 Perplexity를 차단한 후에도 검색 쿼리 시점에 자사 콘텐츠가 검색되었다고 주장합니다. - **Amazon 대 Perplexity.** 2026년 8월 5일 보도에 따르면, 제9순회법원은 Perplexity의 Comet 쇼핑 에이전트에 대한 금지 명령을 파기하며 어시스턴트가 사용자의 지시에 따라 행동했다고 언급했습니다. 재판부는 에이전틱 AI에 대한 광범위한 규칙을 정하지 않았다고 밝혔습니다. 방향은 엇갈리며 항소가 계속되고 있습니다. 이 요약을 포함한 모든 요약은 날짜가 지난 것으로 간주하십시오. ## AI 도구가 페이지를 읽을 때 위험을 낮추는 것은 무엇인가요? 위의 모든 규칙과 사례에서 몇 가지 관행이 공통적으로 언급됩니다: - **공개 페이지만 읽으십시오.** 로그인, 회원 전용 구역, 페이월은 없습니다. - **기계 판독 가능한 옵트아웃을 존중하십시오.** robots.txt 및 `ai-input=no`와 같은 선언된 AI 환경설정. - **보호 조치를 절대 무력화하지 마십시오.** 위장된 User-Agent, 차단을 피하기 위한 주소 순환, 챌린지 해결은 없습니다. - **개인 데이터를 피하십시오.** 프로필, 연락처 정보 또는 사적인 개인에 대한 기타 데이터를 수집하지 마십시오. - **출처를 표기하십시오.** 각 페이지의 URL을 유지하고 답변이 이를 근거로 할 때 표시하십시오. 이는 좋은 관행일 뿐 보장은 아닙니다. 귀하의 사용 사례에 대해서는 변호사에게 문의하십시오. ## WebReaderAPI는 자체적으로 무엇을 하나요? 우리는 이러한 관행을 중심으로 서비스를 구축했습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 우리의 [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)은 사적인 개인에 대한 개인 데이터 수집과 로그인 또는 페이월 뒤의 콘텐츠 읽기를 금지합니다. 모든 요청은 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`로 자신을 식별하며, 우리의 [크롤러 페이지](https://webreaderapi.com/ko/bot/)는 사이트 소유자가 우리에게 연락하는 방법을 안내합니다. ## 법적 질문 ### robots.txt를 준수하면 제 사용이 합법이 되나요? 그 자체로는 아닙니다. EU 옵트아웃 질문에 답하고 선의를 보여주지만, 저작권, 계약, 개인정보 보호법 및 각 사이트의 약관이 여전히 적용됩니다. 이는 법적 조언이 아닙니다. ### 읽은 페이지를 저장할 수 있나요? 이는 콘텐츠, 목적 및 관할권에 따라 다릅니다. WebReaderAPI는 귀하를 위해 읽는 페이지의 사본을 보관하지 않습니다. 귀하 측에서 저장하는 것은 귀하의 결정이자 책임입니다. ### 한 사용자를 위해 페이지를 읽는 것은 사이트를 크롤링하는 것과 다른가요? 일부 공급업체와 한 항소 재판부는 사용자 지시 에이전트를 크롤러와 다르게 취급했습니다. 법은 확립되지 않았으므로 WebReaderAPI는 두 경우 모두에 동일한 robots.txt 규칙을 적용합니다. ### 더 읽을 수 있는 곳은 어디인가요? 우리의 [robots.txt 가이드](https://webreaderapi.com/ko/guides/robots-txt-for-ai-agents/)는 표준을 다루며, 아래 출처는 원문 및 보고서로 연결됩니다. 귀하의 상황에 대해서는 관할권의 변호사에게 문의하십시오. ## 출처 1. [지침 (EU) 2019/790, 제4조](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [AI Office, 범용 AI 모델 행동 규범 최종본 발표](https://www.globalpolicywatch.com/2025/07/ai-office-publishes-final-version-of-the-code-of-practice-for-general-purpose-ai-models/) — Global Policy Watch (2025-07) 3. [Reddit 대 SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 4. [NYT, AI 검색 엔진 Perplexity 상대로 소송](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [미국 법원, Perplexity에 대한 Amazon 금지 명령 파기](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # llms.txt 생성기: 자체 사이트 크롤링으로 파일 만들기 > 크롤링으로 자체 웹사이트용 llms.txt 파일 생성: 모든 페이지를 Markdown으로 읽고 한 줄 요약과 함께 나열하는 Python 스크립트. 2026년 데이터. - URL: https://webreaderapi.com/ko/guides/llms-txt-generator/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) llms.txt 파일은 사이트의 주요 페이지를 각각 한 줄 설명과 함께 모델이 쉽게 읽는 Markdown으로 나열합니다. 이 가이드는 정직한 채택 수치를 제시한 후, 사이트를 크롤링하여 파일을 작성하는 스크립트를 제공합니다. **빠른 답변 — 내 웹사이트용 llms.txt 파일은 어떻게 생성하나요?** 자체 사이트를 크롤링하고 각 페이지의 제목과 첫 단락을 가져와 `/llms.txt`에 있는 파일에서 사이트 이름 아래 Markdown 목록으로 작성하십시오. **WebReaderAPI**가 크롤링을 수행합니다: 작업당 최대 10,000페이지, 메타데이터가 포함된 Markdown으로, 2026년 10월 기준 US$0.07/1K 페이지에서 페이지당 1크레딧. 아래 Python 스크립트가 파일을 작성합니다. KYC 없이, 암호화폐 결제. ## llms.txt 요약 | 속성 | 값 | | --- | --- | | 무엇인가요 | 사이트 루트에 위치하여 언어 모델용 주요 페이지를 나열하는 제안된 Markdown 파일 | | 채택률, 상위 1,000개 사이트 | 2026년 9월 18일 기준 9.3% (93개 사이트), Rankability 기준 | | 파일이 있는 사이트 | Originality.ai 기준, 2025년 6월부터 2026년 5월 사이 4,088개에서 36,120개로 증가 | | 측정된 사용량 | Ahrefs가 137,000개 도메인을 조사한 결과 llms.txt 파일의 97%가 요청을 한 건도 받지 못했습니다 | | WebReaderAPI로 구축하는 비용 | 크롤링한 페이지당 1크레딧, 10,000페이지 비용은 US$3.75 | ## llms.txt를 만드는 것이 가치가 있나요? 만드는 비용은 적고, 지금까지 측정된 효과는 작습니다. 도입은 늘고 있습니다. Rankability는 2026년 9월 18일 기준 상위 1,000개 사이트의 9.3%에서 이 파일을 발견했다고 밝혔으며, 이는 2025년 6월의 0.3%에 비하면 높은 수치입니다. 다만 두 집계 사이에 방법이 바뀌었습니다. Originality.ai는 파일이 있는 사이트가 2025년 6월부터 2026년 5월 사이 4,088개에서 36,120개로 늘었다고 집계했습니다. 사용은 다른 문제입니다. PPC Land가 2026년 7월 2일 보도한 Ahrefs의 137,000개 도메인 조사에 따르면 llms.txt 파일의 97%는 요청을 전혀 받지 못했고, 파일이 받은 요청 중 AI 검색 봇이 보낸 것은 1.1%였습니다. 문서가 방대하고 깔끔한 인덱스를 원한다면 만들어 두세요. 하지만 그것만으로 어시스턴트가 여러분을 인용하는 방식이 바뀌리라고 기대하지는 마세요. ## llms.txt 파일에는 무엇이 들어가나요? 제목, 한 문단 요약, 그리고 짧은 설명이 붙은 링크 목록을 그룹으로 나눠 넣습니다. 최소한의 파일은 다음과 같습니다. - 첫 줄에 `# Example Docs`, 사이트나 프로젝트 이름. - 인용 형식의 요약으로 `> One sentence on what the site covers.`. - `## Guides`, `## API reference` 및 기타 섹션을 사이트의 각 부분마다 하나씩. - 각 페이지마다 `- [Page title](https://example.com/page): one line on what the page answers.`. 설명은 사실에 근거해 짧게 유지하세요. 파일에 AI 시스템을 향한 지시를 쓰지 마세요. 어시스턴트는 이런 텍스트를 점점 더 조작으로 간주합니다. *Python: 자체 사이트를 크롤링하고 llms.txt 작성하기* ```python import os import time from collections import defaultdict from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://docs.example.com/" def first_paragraph(markdown): for block in markdown.split("\n\n"): block = block.strip() if block and not block.startswith(("#", "-", "|", "!", ">")): return " ".join(block.split())[:160] return "" job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json() pages, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() pages += [p for p in batch.get("results", []) if "markdown" in p] cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) sections = defaultdict(list) for p in pages: path = urlparse(p["final_url"]).path.strip("/") section = path.split("/")[0].replace("-", " ").title() if path else "Home" summary = p.get("description") or first_paragraph(p["markdown"]) sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary) lines = ["# Example Docs", "", "> Documentation for the Example product.", ""] for name in sorted(sections): lines += ["## " + name, ""] + sorted(sections[name]) + [""] with open("llms.txt", "w", encoding="utf-8") as fh: fh.write("\n".join(lines)) print(len(pages), "pages written to llms.txt") ``` ## 스크립트는 어떻게 작동하나요? 크롤링 작업을 하나 시작하고 결과를 페이지 단위로 수집한 뒤, 경로의 첫 번째 폴더를 기준으로 페이지를 그룹화합니다. 각 페이지에는 사이트가 제공하는 경우 meta description을 사용하고, 없으면 Markdown의 첫 문단을 160자로 잘라 사용합니다. `SITE`, 제목 줄, 요약 줄을 프로젝트에 맞게 바꾸고, 더 큰 사이트라면 `limit`을 높이세요. 작업당 최대 10,000페이지까지 가능합니다. 게시하기 전에 결과를 검토하세요. 섹션 이름은 URL 구조에서 나오므로 사람의 손길이 필요할 수 있습니다. ## 크롤링을 허용하려면 robots.txt가 필요한가요? 네. WebReaderAPI은 `WebReaderAPI` 또는 모든 로봇에 대해 robots.txt가 허용한 것만 읽으며, 설정한 `Crawl-delay`만큼 대기합니다. 자체 사이트가 로봇을 차단하고 있다면, 크롤링하는 동안 저희 토큰을 허용하는 그룹을 추가하세요. [크롤러 페이지](https://webreaderapi.com/ko/bot/)에 정확한 줄이 나와 있습니다. robots.txt가 허용하지 않는 페이지는 건너뛰며 비용이 청구되지 않으므로, 엄격한 파일이라도 추가 비용이 들지 않습니다. 다만 해당 페이지가 llms.txt에서 빠질 뿐입니다. ## 비용은 얼마인가요? 읽은 페이지당 1크레딧, 브라우저가 필요한 페이지는 2크레딧입니다. 300페이지짜리 문서 사이트는 300크레딧, JavaScript 애플리케이션이라면 최대 600크레딧입니다. 2026년 10월 기준 US$3.75에 해당하는 10,000페이지에 충분히 들어가며, 남은 크레딧은 계정에 그대로 남습니다. 만료되지 않습니다. 문서가 바뀌면 파일을 다시 만드세요. 크롤링 출력을 보관해 두면 전체를 다시 크롤링하는 대신 배치 작업으로 변경된 페이지만 다시 읽을 수 있습니다. ## llms.txt: 자주 묻는 질문 ### llms.txt 파일은 어디에 두나요? 사이트 루트에 두어 `/llms.txt`에서 일반 텍스트 또는 Markdown으로 제공되게 하세요. 일부 사이트는 나열된 페이지의 전체 텍스트를 담은 `llms-full.txt`도 함께 게시합니다. ### llms.txt가 robots.txt를 대체하나요? 아니요. robots.txt는 로봇이 건너뛰어야 할 경로를 알려주고, llms.txt는 모델이 찾기를 원하는 페이지를 나열합니다. 둘 다 유지하세요. [robots.txt 가이드](https://webreaderapi.com/ko/guides/robots-txt-for-ai-agents/)에서 차이를 설명합니다. ### llms.txt가 있으면 ChatGPT나 Claude가 제 사이트를 인용하나요? 그것만으로 그렇게 된다는 증거는 없습니다. 2026년 7월에 보도된 Ahrefs 조사에서는 파일의 97%가 요청을 받지 못했습니다. 명확한 답변과 날짜가 있는 사실을 담은 깔끔한 페이지가 더 중요합니다. ### 다른 사람의 사이트에 대해 llms.txt를 생성할 수 있나요? 자체 사이트이거나 소유자의 동의가 있는 경우에만 가능합니다. 이 파일은 사이트를 대표하므로 게시는 사이트 소유자의 몫입니다. ## 출처 1. [llms.txt 도입 데이터](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [llms.txt 도입 8.8배 증가했지만 파일의 97%는 AI 요청 0건](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # AI 에이전트와 페처를 위한 robots.txt: 2026년에 적용되는 것 > 2026년 AI 에이전트를 위한 robots.txt: 크롤러 vs 사용자 트리거 페처, OpenAI, Anthropic, Google, Perplexity의 입장, Content Signals, aipref, RSL. - URL: https://webreaderapi.com/ko/guides/robots-txt-for-ai-agents/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) robots.txt는 크롤러를 위해 작성되었지만, 이후 사람이 요청해서 페이지를 가져오는 AI 에이전트가 등장했습니다. 이제 각 벤더는 그 경계를 다르게 긋습니다. 이 가이드는 표준, 각 벤더의 공개 정책, 새로운 신호, 그리고 저희 크롤러의 동작 방식을 정리합니다. **빠른 답변 — AI 에이전트는 robots.txt를 따라야 하나요?** 벤더에 따라 다릅니다. robots.txt는 자발적 표준(RFC 9309, 2022년 9월)입니다. 인덱스를 만드는 크롤러는 대체로 이를 따릅니다. 사용자가 트리거한 페치의 경우, OpenAI는 자사 규칙이 적용되지 않을 수 있다고 하며, Google과 Perplexity는 자사 페처가 대체로 이를 무시한다고 하고, Anthropic은 자사 봇이 이를 준수한다고 밝힙니다. **WebReaderAPI**은 모든 읽기에서 robots.txt를 따르며, KYC 없이 암호화폐로 결제합니다. ## 2026년 10월 robots.txt와 AI | 속성 | 값 | | --- | --- | | 표준 | RFC 9309, Robots Exclusion Protocol, 2022년 9월 | | OpenAI ChatGPT-User | robots.txt 규칙은 사용자가 시작한 작업에는 "적용되지 않을 수 있음" | | Anthropic (Claude-User 포함) | 봇이 Crawl-delay를 포함한 robots.txt 지시를 준수한다고 밝힘 | | Google 사용자 트리거 페처 | "일반적으로 robots.txt 규칙을 무시합니다" (2026-08-19 페이지 업데이트) | | Perplexity-User | "일반적으로 robots.txt 규칙을 무시합니다" | | Content Signals | 2025년 9월 24일 Cloudflare 정책: `search`, `ai-input`, `ai-train` | | IETF AI preferences | 워킹 그룹 초안이며, 아직 RFC가 아님 | | WebReaderAPI | 모든 읽기에서 robots.txt와 `ai-input=no`을(를) 준수. 토큰 `WebReaderAPI` | ## robots.txt는 실제로 무엇을 하나요? 자동화 클라이언트에게 사이트가 되도록 피했으면 하는 경로를 알려줍니다. 이 파일은 호스트 루트에 위치하며, user-agent 토큰별로 규칙을 묶고 `Allow` 및 `Disallow` 줄을 사용합니다. 2022년 9월에 발표된 RFC 9309는 오래된 관례를 표준으로 만들었습니다. RFC는 이 파일이 무언가를 잠그지 않는다는 점을 분명히 합니다. "이 규칙은 접근 권한 부여의 한 형태가 아닙니다." 준수는 자발적입니다. 그래서 각 벤더가 밝힌 정책이 중요하며, 강력한 제한을 원하는 사이트가 방화벽과 봇 관리를 함께 쓰는 이유이기도 합니다. ## 크롤러와 사용자 트리거 페처는 왜 다른가요? 크롤러는 어떤 페이지를 방문할지 스스로 결정하고, 사용자 트리거 페처는 사람이 요청했기 때문에 한 페이지를 방문합니다. 많은 벤더는 두 번째 경우를 사용자를 대신해 동작하는 브라우저처럼 취급하며 robots.txt가 완전히 적용되지는 않는다고 말합니다. | 페처 | 공개된 정책 (2026-10-22 확인) | |---|---| | OpenAI ChatGPT-User | robots.txt 규칙이 사용자 시작 작업에는 "적용되지 않을 수 있음"; 검색 옵트아웃은 OAI-SearchBot을 안내 | | Anthropic Claude-User | Anthropic은 봇이 robots.txt 지시를 존중한다고 밝힘; Claude-User를 차단하면 사용자 쿼리에 대한 검색이 중단됨 | | Google 사용자 트리거 페처 | 사용자가 페치를 요청했기 때문에 "일반적으로 robots.txt 규칙을 무시함" | | Perplexity-User | 같은 이유로 "일반적으로 robots.txt 규칙을 무시함" | | MCP reference fetch server | 모델이 시작한 페치에는 기본적으로 robots.txt를 준수하지만, 사용자가 시작한 페치에는 준수하지 않음 | 이 구분은 실제이며 문서화되어 있습니다. 에이전트를 만든다면 어느 쪽에 속하는지 정하고, user agent와 문서에 명시하세요. ## Content Signals, aipref, RSL은 무엇인가요? 이들은 로봇이 콘텐츠를 가져올 수 있는지뿐 아니라 AI 시스템이 콘텐츠로 무엇을 할 수 있는지 알려주는 더 새로운 방식입니다. - **Content Signals.** Cloudflare는 2025년 9월 24일 이 정책을 발표했습니다. robots.txt에 `search`, `ai-input`(AI 답변의 입력, 예컨대 grounding으로 사용), `ai-train`를 명시할 수 있습니다. Cloudflare의 관리형 robots.txt는 기본적으로 `search=yes, ai-train=no`을 제공합니다. - **IETF AI preferences (aipref).** 워킹 그룹의 어휘 및 첨부 초안은 2026년 10월 기준 여전히 Internet-Draft였으며, Proposed Standard를 목표로 합니다. - **Web Bot Auth.** 봇이 요청에 서명하는 방식입니다. IETF 워킹 그룹은 2026년 9월 1일 프로토콜 초안을 채택했습니다. - **RSL (Really Simple Licensing).** 사이트에 따르면 RSL 1.0 명세를 이용할 수 있으며, 퍼블리셔가 robots.txt, 헤더 또는 RSS를 통해 크롤당 과금을 포함한 라이선스 조건을 명시할 수 있습니다. ## llms.txt는 robots.txt와 같은 것인가요? 아니요. robots.txt는 가져오지 말아야 할 것을 알려주고, llms.txt는 언어 모델을 위해 사이트의 주요 페이지를 나열하는 제안된 파일입니다. 채택은 늘고 있지만 측정된 사용량은 낮습니다. Rankability는 2026년 9월 18일 상위 1,000개 사이트의 9.3%에서 llms.txt를 확인했습니다. PPC Land가 2026년 7월 2일 보도한 Ahrefs의 137,000개 도메인 연구에 따르면 llms.txt 파일의 97%는 요청을 전혀 받지 못했습니다. 그래도 원한다면, 저희 [llms.txt 가이드](https://webreaderapi.com/ko/guides/llms-txt-generator/)에서 자체 사이트 크롤링으로 llms.txt를 만드는 방법을 보여드립니다. ## WebReaderAPI는 robots.txt를 어떻게 처리하나요? 고객이 트리거한 읽기를 포함해 모든 읽기에서 이를 준수합니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 크롤링 작업의 경우 사이트가 설정한 `Crawl-delay`도 기다립니다. 모든 요청은 동일한 User-Agent인 `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`를 사용하므로, 사이트 소유자가 로그에서 저희를 확인하고 규칙을 작성할 수 있습니다. 자세한 내용과 문제 발생 시 연락처는 저희 [크롤러 페이지](https://webreaderapi.com/ko/bot/)에서 확인하세요. *WebReaderAPI용 robots.txt 예시* ```text # Block WebReaderAPI from the whole site User-agent: WebReaderAPI Disallow: / # Or: allow it, but keep it out of one folder and slow it down User-agent: WebReaderAPI Disallow: /account/ Crawl-delay: 5 # Or: allow reading for search, but not as AI input (Content Signals) User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## AI를 위한 robots.txt: 자주 묻는 질문 ### GPTBot을 차단하면 ChatGPT가 사용자를 위해 내 페이지를 읽는 것도 막을 수 있나요? 반드시 그렇지는 않습니다. OpenAI는 GPTBot은 학습용, OAI-SearchBot은 검색용, ChatGPT-User는 사용자 작업용으로 토큰을 구분해 문서화하며, robots.txt 규칙이 사용자 시작 작업에는 적용되지 않을 수 있다고 밝힙니다. 각 벤더의 최신 문서를 확인하세요. ### robots.txt는 법적 구속력이 있나요? 그 자체로는 없습니다. RFC 9309는 이것이 접근 권한 부여가 아니라고 말합니다. EU에서는 DSM 지침에 따른 텍스트 및 데이터 마이닝에 대해 기계 판독 가능한 옵트아웃이 중요합니다. 저희 [법적 개요](https://webreaderapi.com/ko/guides/is-reading-web-pages-for-ai-legal/)를 참고하세요. 법률 자문은 아닙니다. ### WebReaderAPI를 어떻게 차단하나요? robots.txt에 `Disallow: /`를 포함한 `User-agent: WebReaderAPI` 그룹을 추가하세요. 저희 읽기는 모든 페이지 이전에 이를 확인하며, disallow된 페이지는 절대 읽지 않습니다. ### WebReaderAPI는 ai-input=no라고 표시된 페이지를 읽나요? 아니요. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. API는 고객에게 무료로 `403 blocked_by_site_policy`을 반환합니다. ## 출처 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [OpenAI 크롤러 개요](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [Anthropic은 웹에서 데이터를 크롤링하나요? 사이트 소유자는 크롤러를 어떻게 차단할 수 있나요?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic (2026-04-07) 4. [Google 사용자 트리거 페처](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Perplexity 크롤러](https://docs.perplexity.ai/guides/bots) — Perplexity (read 2026-10-22) 6. [MCP fetch server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Content Signals 정책](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [AI Preferences 워킹 그룹 문서](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Web Bot Auth 워킹 그룹 문서](https://datatracker.ietf.org/wg/webbotauth/documents/) — IETF (read 2026-10-22) 10. [Really Simple Licensing](https://rslstandard.org/) — rslstandard.org (read 2026-10-22) 11. [llms.txt 도입 데이터](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [llms.txt 도입 8.8배 증가했지만 파일의 97%는 AI 요청 0건](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # AI 에이전트가 웹페이지를 가져올 때 403 오류가 발생하는 이유 > 2026년에 Claude Code, OpenClaw 및 기타 AI 에이전트에서 웹 fetch가 403으로 실패하는 이유: Cloudflare 기본 설정, robots.txt, rate limit, JavaScript, 그리고 대처 방법. - URL: https://webreaderapi.com/ko/guides/web-fetch-403-errors/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 403은 사이트가 거부한다는 뜻입니다. 2025년부터 더 많은 사이트가 AI 에이전트에게 기본적으로 거부 의사를 밝히고 있으며, 2026년 9월부터 Cloudflare는 광고로 운영되는 많은 신규 사이트에서 에이전트 트래픽을 차단합니다. 원인을 구분하는 방법과 합법적으로 할 수 있는 일을 정리했습니다. **빠른 답변 — AI 에이전트가 페이지를 가져올 때 403이 뜨는 이유는 무엇인가요?** 보통 사이트 또는 그 CDN이 자동화 트래픽이나 AI 트래픽을 거부하기 때문입니다. Cloudflare는 2025년 7월 1일부터 신규 도메인에 대해 AI 크롤러를 기본 차단했으며, 2026년 9월 15일부터는 신규 도메인의 광고 게재 페이지에서 "Agent" 트래픽을 차단합니다. 다른 원인으로는 rate limit과 로그인 장벽이 있습니다. 해결책은 위장이 아니라 허가입니다. **WebReaderAPI** 는 사이트의 응답을 과금 없이 반환합니다. KYC 없이, 암호화폐 결제. ## 웹 fetch 실패의 흔한 원인 | 속성 | 값 | | --- | --- | | CDN에서 오는 403 | 봇 관리가 많은 사이트에서 AI 크롤러나 에이전트를 기본 차단 | | 사이트에서 오는 403 또는 401 | 로그인 장벽, 회원 전용 구역, 지역 규칙 또는 알려진 에이전트에 대한 강한 차단 | | 429 | 짧은 시간에 너무 많은 요청; 사이트가 rate limit을 적용 중 | | 402 | 사이트가 결제를 요구, 예를 들어 Cloudflare pay per crawl | | 200이지만 빈 텍스트 | 페이지가 JavaScript로 콘텐츠를 생성; 오류는 아니지만 읽을 내용이 없음 | | fetch 전에 거부됨 | 사용 중인 도구가 robots.txt를 준수해 페이지를 건너뜀 | ## 2025년과 2026년에 웹에서 무엇이 바뀌었나요? 대형 인프라 제공업체들이 AI 차단을 기본값으로 만들었습니다. 날짜가 있는 세 가지 변경이 새로운 403의 대부분을 설명합니다: - **2025년 7월 1일:** Cloudflare는 이제 AI 크롤러를 기본 차단하며, 신규 도메인 가입 시 허용 여부를 묻는다고 밝혔습니다. 같은 날 비공개 베타로 pay per crawl을 출시했으며, 이는 HTTP 402와 가격으로 응답합니다. - **2026년 7월 1일:** Cloudflare는 AI 트래픽을 Search, Agent, Training 세 가지 범주로 도입했습니다. "Agent"에는 ChatGPT-User와 같은 채팅 fetcher가 명시적으로 포함됩니다. - **2026년 9월 15일:** 신규 도메인의 경우 Cloudflare의 프리셋이 광고를 표시하는 페이지에서 Training 및 Agent 트래픽을 차단합니다. Search는 계속 허용됩니다. 사용자를 위해 페이지를 가져오는 에이전트는 Agent 범주에 속합니다. 2026년 9월 이후 온보딩된 광고 기반 사이트에서는 거부를 예상해야 합니다. ## 차단과 버그를 어떻게 구분하나요? 무엇이든 바꾸기 전에 상태 코드와 본문을 확인하세요. | 보이는 것 | 예상 의미 | 다음 단계 | |---|---|---| | 챌린지 또는 "access denied" 페이지가 있는 403 | 사이트 또는 그 CDN이 자동화 트래픽을 거부 | 존중하고, API를 찾거나 접근을 요청 | | 가격 헤더가 있는 402 | 사이트가 요청별 접근을 판매 | 해당 채널을 통해 결제할지 결정 | | 429 | 요청을 너무 많이 보냄 | 속도를 줄이고 backoff로 나중에 재시도 | | 401 또는 로그인 페이지 | 콘텐츠에 계정이 필요 | 공개 리더의 범위 밖 | | 텍스트가 거의 없는 200 | JavaScript로 생성된 콘텐츠 | 브라우저에서 페이지 렌더링 | | 도구가 robots.txt에서 금지한다고 표시 | 사이트가 로봇에게 건너뛰라고 요청 | 준수 | 여러분 쪽에서 해결할 수 있는 기술적 문제는 429와 빈 JavaScript 페이지뿐입니다. 나머지는 사이트 소유자의 결정입니다. ## 에이전트 개발자가 합법적으로 할 수 있는 일은 무엇인가요? 사이트를 우회하지 말고 사이트와 협력하세요. 다음 단계는 많은 실패를 해결하고 에이전트를 사이트 소유자의 편에 서게 합니다: 1. **사이트 자체 채널을 사용하세요.** 많은 사이트가 필요한 콘텐츠를 담은 API, RSS나 Atom 피드 또는 sitemap을 제공합니다. 2. **접근을 요청하세요.** 사이트 소유자는 robots.txt나 CDN 설정에서 특정 봇을 허용할 수 있습니다. 명확한 User-Agent와 연락처 페이지가 있으면 쉽습니다. 3. **허용되었지만 빈 페이지를 렌더링하세요.** JavaScript만 있는 페이지에는 헤드리스 브라우저를 실행하는 리더를 사용하세요. 4. **속도를 줄이고 캐시하세요.** 같은 페이지를 한 번만 읽고 저장하며, `Crawl-delay` 와 429 응답을 준수하세요. 5. **사이트가 접근을 판매하는 곳에서는 결제하세요.** 402는 제안입니다. 사이트의 채널을 통해 수락하거나 그 페이지를 제외하세요. 이 모든 방법은 사이트 소유자가 통제권을 유지하게 하며, 이것이 장기적으로 에이전트를 유용하게 유지합니다. ## 거부를 피하기 위해 절대 해서는 안 되는 일은 무엇인가요? 절대 에이전트를 위장하거나 보호 장치를 무력화하지 마세요. 브라우저의 User-Agent를 위조하거나, 차단을 벗어나려고 IP 주소를 로테이션하거나, 챌린지 페이지를 해결하는 것은 정중한 클라이언트를 접근 제어를 무력화하도록 만들어진 도구로 바꿉니다. 2026년에 두 미국 법원은 검색 결과에 대한 자동화된 접근을 둘러싼 소송에서 이러한 기법을 우회로 취급했습니다. 사건은 아직 진행 중이며 확정된 것은 없지만, 위험은 이론적이지 않습니다. 또한 사용자가 의존하는 사이트와의 신뢰를 깨뜨립니다. 거부는 정보입니다. 기록하고, 사용자에게 해당 페이지를 사용할 수 없었다고 알리고, 다른 소스로 넘어가세요. ## 사이트가 거부할 때 내장 fetch 도구는 어떻게 하나요? 대부분 모델에 오류를 반환하고, 모델은 사용자에게 페이지를 읽을 수 없었다고 알립니다. OpenClaw의 문서(2026년 10월 22일 기준)에 따르면 내장 web_fetch는 Readability로 콘텐츠를 추출하고, JavaScript를 실행하지 않으며 출력을 20,000자로 제한합니다. fetch 제공자로 폴백할 수 있고, 플러그인이 새 제공자를 등록할 수 있습니다. MCP reference fetch 서버는 기본적으로 모델이 시작한 fetch에 대해 robots.txt를 준수합니다. 이 도구들이 robots는 허용하지만 JavaScript가 필요한 페이지에서 실패할 때는 페이지를 렌더링하는 리더가 도움이 됩니다. 사이트가 거부해서 실패할 때는 어떤 도구도 답을 바꿔서는 안 됩니다. ## 사이트가 거부할 때 WebReaderAPI는 무엇을 반환하나요? 거부를 명확히 반환하며, 과금되지 않습니다. robots.txt에서 금지된 페이지는 `403 blocked_by_robots` 를 반환합니다. `ai-input=no` 을 선언한 사이트는 `403 blocked_by_site_policy` 를 반환합니다. 다른 방식으로 요청을 거부한 사이트는 `502 target_refused` 를 반환하며, `target_status` 에 사이트 자체 상태 코드가 담깁니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 에이전트는 페이지가 건너뛰어진 이유를 사용자에게 정확히 보여줄 수 있습니다. [errors 페이지](https://webreaderapi.com/ko/docs/errors/)에 모든 코드와 각각의 재시도 규칙이 나열되어 있습니다. ## 웹 fetch 오류: 자주 묻는 질문 ### 브라우저에서는 페이지가 열리는데 에이전트에서는 실패하는 이유는 무엇인가요? 사이트가 사람과 자동화 클라이언트를 다르게 취급하기 때문입니다. 봇 관리는 브라우저는 허용하고 에이전트는 거부할 수 있으며, 일부 사이트는 AI 트래픽을 기본 차단합니다. 그 페이지는 독자에게 공개되어 있을 뿐, 로봇에게도 공개된 것은 아닙니다. ### 재시도하면 403이 해결되나요? 드물게 해결됩니다. 403은 오작동이 아니라 결정입니다. 429, 타임아웃, 네트워크 오류는 지수 backoff로 재시도하고, 403은 사이트 소유자가 바꾸지 않는 한 최종으로 취급하세요. ### WebReaderAPI가 내 에이전트가 읽을 수 없는 페이지를 읽을 수 있나요? robots는 허용하지만 텍스트를 표시하려면 브라우저가 필요한 페이지에만 가능합니다. WebReaderAPI 가 필요할 때 JavaScript를 렌더링하기 때문입니다. 사이트가 거부하는 페이지는 읽을 수 없으며, 시도하지도 않습니다. ### 내 봇이 사이트에서 허용되려면 어떻게 해야 하나요? 연락처 URL이 포함된 안정적이고 설명적인 User-Agent를 사용하고, robots.txt를 따르고, 요청 속도를 낮게 유지하고, 소유자에게 요청하세요. Web Bot Auth 같은 서명 에이전트 방식은 사이트가 여러분이 누구인지 검증하게 해줍니다. ## 출처 1. [보도자료: AI 크롤러 기본 차단](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [pay per crawl 소개](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01) 3. [블로그: 검색, 에이전트, 학습 트래픽 옵션](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01) 4. [블로그: AI 크롤러와 에이전트를 위한 새로운 기본값](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 5. [웹 fetch 도구](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) 6. [MCP fetch server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Reddit 대 SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 8. [SerpApi에 대한 구글 소송 기각](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 리더 API란? URL을 넣으면 읽을 수 있는 Markdown이 나옵니다 > 웹 리더 API가 하는 일: URL을 넣으면 페이지의 본문이 LLM이 쓸 수 있는 깔끔한 Markdown으로 나옵니다. 스크래핑 및 검색 API와 어떻게 다른지 설명합니다. - URL: https://webreaderapi.com/ko/guides/what-is-a-web-reader-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 웹 리더 API는 사람의 눈을 위해 만들어진 페이지를 모델이 쓸 수 있는 텍스트로 바꿉니다. 이 가이드는 무엇을 단계별로 하는지, 스크래핑 및 검색 API 옆에서 어떤 위치를 차지하는지, 시장에서 가격이 어떻게 책정되는지 설명합니다. **빠른 답변 — 웹 리더 API란 무엇인가요?** 웹 리더 API는 URL을 받아 페이지를 로드하고, 제목, 저자, 날짜 같은 메타데이터와 함께 본문을 깔끔한 텍스트, 보통 Markdown으로 반환하는 서비스입니다. AI 에이전트와 RAG 파이프라인은 raw HTML 대신 이것을 사용합니다. **WebReaderAPI**가 그중 하나입니다: 페이지당 1 크레딧, 2026년 10월 기준 US$0.07/1K 페이지부터 시작하며, robots.txt를 준수하고, KYC 없이 암호화폐로 결제합니다. ## 한 표로 보는 웹 리더 API | 속성 | 값 | | --- | --- | | 입력 | 공개 웹페이지 또는 PDF의 URL | | 출력 | 본문의 Markdown 또는 일반 텍스트, 그리고 제목, 저자, 날짜, 언어 | | 제거됨 | 내비게이션, 쿠키 배너, 광고, 사이드바, 푸터, 스크립트, 스타일 | | JavaScript 페이지 | raw HTML에 텍스트가 너무 적을 때 헤드리스 브라우저에서 렌더링 | | 일반적인 과금 | 페이지당 또는 크레딧당; 일부 제공업체는 출력 토큰당 과금 | | 요청 예시 | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## 웹 리더 API는 단계별로 무엇을 하나요? 모든 페이지-텍스트 파이프라인에 필요한 다섯 가지 작업을 한 번의 호출로 처리합니다: 1. **권한 확인.** 신중한 리더는 아무것도 가져오기 전에 사이트의 robots.txt에서 자기 이름과 모든 로봇에 대한 항목을 확인합니다. 2. **페이지 가져오기.** HTML을 다운로드하고, 리다이렉트를 따르며, 타임아웃 시 중단합니다. 3. **필요할 때 렌더링.** HTML이 JavaScript로 채워지는 빈 껍데기라면, 헤드리스 브라우저에서 페이지를 로드하고 결과를 읽습니다. 4. **본문 추출.** readability 스타일의 단계가 기사나 문서 본문을 찾아내고 주변의 페이지 장식은 버립니다. 5. **변환 및 설명.** 콘텐츠를 Markdown으로 작성하고 제목, 저자, 발행일, 언어, 단어 수 같은 메타데이터를 추가합니다. 호출자는 Markdown이 담긴 JSON 객체 하나를 받습니다. 모델이 즉시 읽을 수도 있고, 파이프라인이 벡터 스토어용으로 청크로 나눌 수도 있습니다. ## 왜 모델은 HTML 대신 Markdown을 필요로 하나요? HTML 페이지의 대부분은 콘텐츠가 아니기 때문입니다. 메뉴, script 태그, 추적 코드, 레이아웃 마크업은 모델이 읽어야 하고 당신이 비용을 지불해야 하는 토큰을 사용합니다. Markdown은 의미를 담은 부분만 유지합니다: 제목, 목록, 표, 링크, 강조. Cloudflare는 2026년 2월 12일 "Markdown for Agents" 기능을 출시할 때 구체적인 예를 들었습니다: 한 페이지가 HTML일 때 16,180 토큰에서 Markdown일 때 3,150 토큰으로 줄어 약 80% 감소했습니다. 결과는 페이지마다 다르지만, 대부분의 기사와 문서 페이지에서 방향은 같습니다. ## 웹 리더 API는 스크래핑 API와 어떻게 다른가요? 스크래핑 API는 서버가 보낸 것을 반환하고, 리더는 사람이 읽을 것을 반환합니다. 스크래핑 API는 대규모로 페이지를 가져오도록 만들어졌고, 종종 가격이나 제품명 같은 특정 필드를 뽑아내며, 보통 raw HTML이나 직접 정의한 구조화된 JSON을 돌려줍니다. 웹 리더는 더 좁고 주관적입니다. 무엇이 본문인지 스스로 판단하고, 나머지를 제거하고, 깔끔한 텍스트를 작성합니다. 다음 소비자가 언어 모델, 검색 인덱스, 또는 요약을 읽는 사람일 때 맞는 도구입니다. 제품 그리드의 모든 필드가 필요할 때는 틀린 도구입니다. 그때는 전체 HTML이나 스키마 기반 추출이 필요합니다. ## 검색 API와는 어떻게 다른가요? 검색 API는 "어떤 페이지가 이것에 대해 이야기하나?"에 답하고, 리더는 "이 페이지는 무엇을 말하나?"에 답합니다. 검색은 검색 쿼리에 대한 제목과 스니펫이 담긴 URL 목록을 반환합니다. 리더는 그 URL 중 하나를 받아 전체 텍스트를 반환합니다. 에이전트는 종종 둘을 연결합니다: 검색으로 후보 페이지를 찾고, 가장 좋은 세 개에서 네 개를 읽어 인용과 함께 답합니다. 단계를 분리해 두면 읽을 페이지 수를 선택할 수 있어 토큰과 크레딧을 절약합니다. ## API 대신 오픈소스 도구를 쓸 수 있나요? 네, 그리고 많은 팀이 그렇게 시작합니다. Mozilla의 Readability는 브라우저 컨텍스트에서 페이지의 본문을 추출하고; Trafilatura는 Python에서 추출합니다; Microsoft의 MarkItDown은 PDF를 포함한 문서를 Markdown으로 변환하고; Crawl4AI는 크롤링과 Markdown 출력을 결합합니다. 라이브러리는 쉬운 부분입니다. 프로덕션에서 운영하려면 JavaScript 페이지를 위한 헤드리스 브라우저 호스팅, robots.txt 확인, 타임아웃, 리다이렉트, 문자 집합 처리, PDF 변환, 그리고 이 모든 것을 패치된 상태로 유지하는 일이 필요합니다. 그 기계를 운영하는 대신 페이지당 비용을 지불하고 싶을 때는 API가 가치 있고, 볼륨이 일정하고 운영할 시간이 있을 때는 라이브러리가 가치 있습니다. ## 웹 리더 API는 어떻게 과금하나요? 2026년에는 세 가지 과금 모델이 일반적입니다. 크레딧 기반 요금제는 페이지당 정해진 크레딧을 청구합니다: Firecrawl의 가격 페이지는 2026년 10월 22일 기준으로 스크래핑한 페이지당 1 크레딧, JSON 형식의 경우 페이지당 4 크레딧 추가로 계산합니다. 토큰 기반 과금은 반환된 텍스트에 대해 청구합니다: Jina Reader는 2025년 5월 6일부터 이 방식으로 가격을 책정하며 새 키마다 1,000만 무료 토큰을 제공합니다. 월간 요금제는 매 주기마다 크레딧이 초기화되지만, 선결제 팩은 크레딧을 유지합니다. WebReaderAPI는 만료되지 않는 선결제 크레딧을 사용합니다: 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 10,000페이지은 US$3.75이고 5,000,000페이지에서 요율이 US$0.07/1K 페이지로 낮아집니다 (2026년 10월 기준). ## 웹 리더 API를 고르기 전에 무엇을 확인해야 하나요? 자신의 URL 스무 개로 테스트하고 여섯 가지를 살펴보세요: - **추출 품질.** Markdown이 기사는 유지하고 나머지, 즉 표와 코드 블록까지 포함해 나머지를 버리나요? - **JavaScript.** 브라우저에서 만들어지는 페이지가 텍스트와 함께 돌아오나요, 렌더링 비용은 얼마인가요? - **PDF.** 지원하나요, 페이지는 어떻게 계산되나요? - **사이트 소유자의 선택.** 서비스가 robots.txt와 선언된 AI 선호를 준수하고, 문서에 그렇게 명시하나요? - **실패.** 실패한 페이지와 거부된 페이지에 요금이 부과되나요? - **예산 통제.** 각 페이지의 길이를 제한할 수 있나요, 크레딧이 만료되나요? 저희 [웹 리더 API 가격 비교](https://webreaderapi.com/ko/compare/web-reader-api-pricing/)는 주요 제공업체를 날짜와 함께 나란히 보여줍니다. ## 웹 리더 API: 자주 묻는 질문 ### 웹 리더 API는 브라우저의 리더 모드와 같은 건가요? 같은 아이디어를 따릅니다. 기사는 유지하고 잡동사니는 버리지만, 서버에서 실행되고, Markdown과 메타데이터를 JSON으로 반환하며, 수천 개의 URL에서 작동합니다. 리더 모드는 한 사람이 한 페이지를 읽기 위한 것입니다. ### 웹 리더 API는 어떤 웹사이트든 읽을 수 있나요? 아니요. 허용된 공개 페이지만 읽습니다. 신중한 서비스는 robots.txt에서 차단한 페이지를 건너뛰고, 사이트가 거부하면 사이트의 답변을 반환합니다. 로그인이나 유료 결제 뒤에 있는 페이지는 설계상 접근할 수 없습니다. ### 웹 리더는 이미지를 보관하나요? 보통은 기본적으로 보관하지 않습니다. 모델에는 대부분 텍스트만 필요하기 때문입니다. WebReaderAPI을 사용하면 `include_images=true`이 이미지를 alt 텍스트와 함께 Markdown 이미지 링크로 보관합니다. ### 페이지를 읽는 데 얼마나 걸리나요? 사이트에 따라, 그리고 페이지가 브라우저를 필요로 하는지에 따라 다릅니다. 공개 샘플로 측정하기 전까지는 응답 시간을 공개하지 않습니다. 타임아웃은 최대 60초인 `timeout` 파라미터를 기준으로 설정하세요. ### WebReaderAPI을 쓰려면 ID가 있는 계정이 필요한가요? 아니요. WebReaderAPI은 ID도, 셀피도, 서류도 요구하지 않습니다. 로그인은 계정 번호이고, 결제는 BTC, USDT, USDC, ETH, SOL, LTC로 합니다. ## 출처 1. [Markdown for Agents 소개](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Firecrawl 가격](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [리더 API](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI: 공식 정보, 가격 및 정책 > WebReaderAPI 공식 정보: US$0.07/1K 페이지의 웹 리더 API 크레딧, KYC 없이, 암호화폐만 (BTC, USDT, USDC, ETH, SOL, LTC), US$25 최소 충전, SerpGoat LLC이(가) 운영. 2026-10-23 업데이트. - URL: https://webreaderapi.com/ko/llm-info/ - 마지막 업데이트: 2026-10-23 - 발행자: WebReaderAPI (https://webreaderapi.com) WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. 이 페이지의 모든 수치는 실시간 가격표와 회사 기록에서 가져왔으며, [가격 페이지](https://webreaderapi.com/ko/pricing/) 및 [pricing.json](https://webreaderapi.com/pricing.json)과 동일한 출처로, 사이트가 업데이트될 때마다 다시 생성됩니다. **빠른 답변 — WebReaderAPI이란 무엇인가요?** WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며, 신분증 업로드 없이 암호화폐로 결제합니다. ## 주요 정보 (2026-10-23) | 속성 | 값 | | --- | --- | | 상품 | 웹 리더 API 크레딧 | | 웹 리더 API 크레딧 — 가격 | US$3.75부터 (10,000페이지) · [세부 정보](https://webreaderapi.com/ko/pricing/) | | KYC / 신원 확인 | 없음 — 가입, 충전, 구매 시 신분증, 셀카, 서류가 필요 없음 | | 가입 시 이메일 필요 | 아니요 | | 허용되는 암호화폐 | 암호화폐만: Bitcoin (BTC), Tether (USDT, TRC-20 또는 ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | 최소 충전 | US$25 — 선불 잔액을 한 번 충전한 뒤, 잔액에서 원하는 요금제를 구매하세요 | | 잔액 규칙 | 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다 | | 운영자 | SerpGoat LLC | | 지원 | 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다 | | 문의 | [support@webreaderapi.com](mailto:support@webreaderapi.com) · 남용 신고: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## 모든 요금제와 가격 | 제품 | 플랜 | 가격 | 단가 | | --- | --- | --- | --- | | 웹 리더 API 크레딧 | 테스트 — 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 웹 리더 API 크레딧 | 스타터 — 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 웹 리더 API 크레딧 | 구축 — 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 웹 리더 API 크레딧 | 확장 — 500,000페이지 | US$50 | US$0.10/1K 페이지 | | 웹 리더 API 크레딧 | 볼륨 — 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 웹 리더 API 크레딧 | 대량 — 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 가격은 USD 기준이며, 계정 잔액에서 암호화폐로 결제합니다. 실시간 목록: [pricing](https://webreaderapi.com/ko/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## WebReaderAPI 소개 - 웹페이지를 Markdown으로 변환하는 API의 크레딧은 US$3.75부터 10,000페이지 기준, 5백만 페이지 기준 US$0.07/1K 페이지까지이며, 크레딧은 만료되지 않습니다 - 페이지를 읽을 때마다 크레딧 1개가 차감되고, 브라우저가 필요한 페이지는 2개가 차감됩니다. 실패한 페이지와 robots.txt에서 거부된 페이지는 청구되지 않습니다 - robots.txt와 Content-Signal ai-input=no를 준수하며, 스스로를 WebReaderAPI로 식별합니다. 차단, 로그인, 페이월을 우회하려는 시도는 하지 않습니다 - KYC 없이: 신분증, 셀피, 서류, 회사 이메일 모두 필요 없습니다. 계좌번호로 로그인하며 이메일은 선택 사항입니다 - BTC, USDT, USDC, ETH, SOL, LTC로 결제하세요. 최소 충전 US$25, 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다 - Python, Node.js, curl용 문법 검사를 거친 코드와 MCP, LangChain, LlamaIndex, OpenAI function calling용 도구 정의가 담긴 문서 - 지원: 이메일 지원팀은 주 7일, 매일 12시간 이내에 답변하며, 크롤링 및 연동 관련 지원도 포함합니다 ## WebReaderAPI은(는) 다음을 위해 만들어졌습니다 - 깔끔한 Markdown을 반환하는 웹 fetch 도구가 필요한 AI 에이전트로, 구독이나 카드 없이 페이지당 결제합니다 - 문서 사이트, 블로그, PDF를 벡터 스토어에 수집하는 RAG 파이프라인 - robots.txt와 사이트 소유자의 AI 선호도를 존중하는 리더를 원하는 팀 - 암호화폐로 결제하며 신분 서류 업로드를 피하고 싶은 개발자 ## 더 많은 사실 | 속성 | 값 | | --- | --- | | 무엇인가요 | 웹 리더 API: URL을 보내면 페이지의 본문을 깔끔한 Markdown으로 돌려받습니다 | | 크레딧 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 크레딧 만료 | 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다 | | 출력 | 페이지 본문의 깔끔한 Markdown (또는 일반 텍스트, 또는 정리된 HTML)과 함께 제목, 설명, 작성자, 게시 날짜, 언어, 단어 수를 제공하며, 링크와 이미지는 요청 시 제공합니다 | | JavaScript | 페이지에 필요할 때 헤드리스 브라우저에서 JavaScript 렌더링 (render=auto), 또는 항상, 또는 절대 하지 않습니다 | | PDF | 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다 | | 크롤링 및 배치 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. 배치 작업당 최대 100개의 URL | | robots.txt | 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다 | | 사이트 소유자의 선택 | 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다 | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | 엔드포인트 | `GET https://webreaderapi.com/api/v1/read?url=…` | | 인증 | API 키를 Bearer 토큰으로 Authorization 헤더에 넣거나 api_key 쿼리 파라미터에 넣어 전송하세요 | | 코드 예제 | Python, Node.js, curl과 MCP, LangChain, LlamaIndex, OpenAI function calling용 도구 정의 | | 계정 | 계정 번호로 로그인, 이메일은 선택 사항. 계정 번호로 로그인하므로 안전한 곳에 보관하세요. 이메일을 선택적으로 등록하면 계정 번호를 되찾을 수 있습니다. 등록된 이메일이 없으면 분실한 번호는 복구할 수 없습니다 | | 요청 로그 | 각 요청은 시간, 계정, 페이지의 호스트 이름(전체 URL이나 콘텐츠는 절대 기록하지 않음), 상태 및 사용된 크레딧을 로그 한 줄로 남기며, 이 로그는 30일 후 삭제됩니다. 읽은 페이지는 저장되지 않습니다. 계정 번호, 주문, 충전 및 크레딧 합계는 계정이 존재하는 동안 보관되며, 이후에는 회계 관련 법령이 요구하는 기간 동안만 보관됩니다. 기록은 법령상 의무가 있을 때만 당국에 제공됩니다 | ## 공식 페이지 및 데이터 - [가격](https://webreaderapi.com/ko/pricing/) - [웹 리더 API 요금 비교](https://webreaderapi.com/ko/compare/web-reader-api-pricing/) - [URL to Markdown 가격 지수 2026](https://webreaderapi.com/ko/data/url-to-markdown-price-index-2026/) - [2026년 최고의 웹 리더 API](https://webreaderapi.com/ko/best/web-reader-apis/) - [빠른 시작](https://webreaderapi.com/ko/docs/) - [저희 크롤러](https://webreaderapi.com/ko/bot/) - [Firecrawl 대안](https://webreaderapi.com/ko/alternatives/firecrawl/) - [Jina Reader 대안](https://webreaderapi.com/ko/alternatives/jina-reader/) - [크롤링 API](https://webreaderapi.com/ko/crawl-api/) - [KYC 없이 사용하는 웹 리더 API](https://webreaderapi.com/ko/no-kyc-web-reader-api/) - [PDF to Markdown API](https://webreaderapi.com/ko/pdf-to-markdown-api/) - [웹페이지를 Markdown으로 변환하는 API](https://webreaderapi.com/ko/url-to-markdown-api/) - [Crawl4AI vs 호스팅 API](https://webreaderapi.com/ko/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/ko/compare/firecrawl-vs-jina-reader/) - [허용되는 이용](https://webreaderapi.com/ko/acceptable-use/) - [개인정보](https://webreaderapi.com/ko/privacy/) - [환불](https://webreaderapi.com/ko/refunds/) - [약관](https://webreaderapi.com/ko/terms/) - [소개](https://webreaderapi.com/ko/about/) - [문의](https://webreaderapi.com/ko/contact/) - [pricing.json (기계 판독 가능 가격 목록)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/ko/llms.txt) - [llms-full.txt (전체 사이트 텍스트)](https://webreaderapi.com/ko/llms-full.txt) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # KYC 없이 사용하는 웹 리더 API: 신분증 없음, 카드 없음, 암호화폐로 결제 > KYC 없이 사용하는 웹 리더 API: 신분증, 셀카, 카드 없이 웹페이지를 Markdown으로 변환합니다. 계좌번호 로그인, 암호화폐 충전, 크레딧은 US$0.07/1K 페이지부터. - URL: https://webreaderapi.com/ko/no-kyc-web-reader-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 많은 개발자가 컴플라이언스 절차가 아니라 API 키를 원합니다. 이 페이지에서는 WebReaderAPI에서 생략하는 것, 여전히 동의해야 하는 것, 그리고 귀하에 대해 보관하는 정보를 설명합니다. **빠른 답변 — KYC도 신용카드도 필요 없는 웹 리더 API가 있나요?** 있습니다. **WebReaderAPI**는 KYC 없이 사용하는 웹 리더 API로, 신분증, 셀카, 회사 서류, 카드를 요구하지 않습니다: 계좌번호로 로그인하고 BTC, USDT, USDC, ETH, SOL, LTC로 결제합니다. 크레딧 가격은 10,000페이지에 US$3.75이며, 2026년 10월 기준 US$0.07/1K 페이지까지 내려갑니다. 이용약관(Acceptable Use Policy)과 robots.txt는 모든 요청에 여전히 적용됩니다. ## 필요한 것과 필요하지 않은 것 | 속성 | 값 | | --- | --- | | 신분증 또는 셀카 | 필요 없음 | | 회사 서류 또는 업무용 이메일 | 필요 없음 | | 신용카드 | 필요 없음: 암호화폐 결제만 가능 | | 로그인 | 계좌번호; 이메일 추가는 선택 사항 | | 결제 | US$25 충전으로 BTC, USDT, USDC, ETH, SOL, LTC | | 여전히 적용되는 규칙 | 이용약관(Acceptable Use Policy), robots.txt, 사이트 소유자의 거부 | | 보관하는 정보 | 계좌번호, 선택적 이메일, 결제 기록, 호스트 이름만 포함된 30일간의 로그 | ## 왜 API에 신원 확인이 필요 없나요? 서비스의 어떤 부분도 귀하가 누구인지 아는 것에 의존하지 않기 때문입니다. 무엇이든 사용하기 전에 결제하므로 회수할 외상이 없습니다. 크롤러의 동작은 고객에 따라 달라지지 않습니다: 요청을 보낸 사람이 누구든 각 사이트의 robots.txt를 따르고 모든 거부에서 멈춥니다. 신원 확인은 지연과 보호해야 할 문서 저장소를 추가할 뿐, 우리가 읽는 사이트에 서비스를 더 안전하게 만들어 주지 않습니다. 우리는 서비스가 실제로 필요로 하는 것, 즉 결제와 키만 요청합니다. ## 이메일 없이 계정은 어떻게 작동하나요? 가입 시 계좌번호를 받으며, 그 번호가 곧 로그인입니다. 이메일을 추가하면 계정에 다시 접근할 수 있는 방법이 생깁니다; 이메일이 없으면 번호를 잃어버렸을 때 복구할 수 없습니다. 계정 안에서 애플리케이션이나 에이전트별로 하나씩 API 키를 만들 수 있으며, 원할 때 언제든지 폐기할 수 있습니다. 키를 잃는 것은 문제가 되지 않지만, 이메일 없이 계좌번호를 잃는 것은 문제이므로 비밀번호 관리자에 저장하세요. ## KYC 없이도 어떤 규칙이 적용되나요? 웹사이트와 사람을 보호하는 모든 규칙은 모든 계정에 적용됩니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. [이용약관(Acceptable Use Policy)](https://webreaderapi.com/ko/acceptable-use/)은 무엇보다도 사적인 개인에 대한 개인정보를 수집하기 위해 페이지를 읽는 행위, 로그인이나 페이월 뒤의 콘텐츠를 읽는 행위, 아동 성 착취물, 스팸, 사기, 그리고 귀하 또는 당사가 영업하는 지역의 법률을 위반하는 모든 사용를 금지합니다. 신고는 사람이 검토하며, 위반 시 계정이 정지됩니다. 신원 확인을 생략한다고 해서 이러한 규칙을 생략하는 것은 결코 아닙니다. ## 귀하에 대해 무엇을 보관하나요? 보관할 것이 적기 때문에 일반적인 API 제공업체보다 적게 보관합니다: 계좌번호, 선택적 이메일, 결제 및 크레딧, 그리고 호스트 이름만 포함하며 30일 후 삭제되는 요청 로그입니다. 페이지 내용은 저장되지 않습니다. 신분증, 셀카, 카드 번호는 절대 보관하지 않으므로 유출될 수 없습니다. [개인정보 처리방침](https://webreaderapi.com/ko/privacy/)에 모든 항목과 보관 기간이 나열되어 있습니다. ## 누가 KYC 없는 웹 리더를 선택하나요? 주로 서류 작업이 도구를 시험해 보는 데 가장 느린 부분인 사람들입니다: - 몇 분 안에 키를 원하는, AI 에이전트를 만드는 **독립 개발자**. - 회사 카드가 없거나, 해외 API로의 카드 결제가 실패하는 국가에 있는 **소규모 팀**. - 은행 계좌가 아닌 암호화폐 지갑으로 자금을 조달하는 **자율 프로젝트와 봇**. - 각 공급업체와 가능한 한 적게 공유하는 것을 선호하는 **프라이버시를 중시하는 개발자**. ## 신분증 없이 어떻게 시작하나요? 1. 계정을 만들고 계좌번호를 저장하세요. 2. 표시된 네트워크에서 BTC, USDT, USDC, ETH, SOL, LTC로 US$25부터 충전하세요: 표시된 네트워크에서 표시된 정확한 금액을 보낸 후 "I've sent the payment"를 클릭하세요. 충전은 확인되면 크레딧으로 입금됩니다. 3. US$3.75에 10,000페이지 같은 팩을 구매하고 API 키를 복사하세요. 4. [빠른 시작](https://webreaderapi.com/ko/docs/)에 나온 대로 첫 URL을 `https://webreaderapi.com/api/v1/read`로 보내세요. ## KYC 없는 웹 리더의 비용은 얼마인가요? 모든 계정에 동일한 가격이 적용됩니다: US$3.75에 10,000페이지, US$21.75에 100,000페이지, 가장 큰 팩에서는 US$0.07/1K 페이지까지. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 팩은 최소 US$25 이상 충전된 암호화폐 잔액에서 구매합니다. USD 기준 가격이며, 2026-10-22에 설정되었습니다. ## KYC 없는 웹 리더: 자주 묻는 질문 ### 신용카드 없이 WebReaderAPI를 사용할 수 있나요? 네, 오히려 카드 없이만 가능합니다: 결제는 BTC, USDT, USDC, ETH, SOL, LTC로 이루어집니다. 등록된 카드가 없고 자동으로 갱신되는 것도 없습니다. ### KYC가 없다는 것이 무엇이든 해도 된다는 뜻인가요? 아니요. 모든 요청은 robots.txt를 따르고 사이트가 거부하면 멈추며, 이용약관(Acceptable Use Policy)은 모든 계정에 적용됩니다. 이를 위반하면 계정이 정지됩니다. ### 나중에, 예를 들어 일정 지출 이상이면 서류를 요청하나요? 회원가입과 충전 과정에서는 서류를 요구하지 않습니다. 개인정보 처리방침에 명시된 대로, 법률이 요구하는 경우에만 당국에 기록을 공개합니다. ### 계좌 번호를 잃어버리면 어떻게 하나요? 그러면 이메일을 계정에 추가하지 않은 한 계좌를 복구할 수 없습니다. 번호를 비밀번호 관리자에 보관하고, 안전장치를 원하시면 이메일을 추가하세요. ### 봇이나 에이전트가 스스로 크레딧을 결제할 수 있나요? 네, 누군가 지갑에서 충전만 하면 됩니다. 그러면 계정은 다른 계정과 똑같이 작동합니다. 팩을 구매하고, API 키를 사용하고, `GET https://webreaderapi.com/api/v1/credits`로 잔액을 확인하세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # PDF to Markdown API: PDF 링크를 보내면 텍스트를 Markdown으로 반환 > LLM 및 RAG용 PDF to Markdown API: PDF URL을 보내면 제목과 표가 포함된 Markdown 텍스트를 최대 100페이지까지 받습니다. US$0.07/1K 페이지부터. 암호화폐 결제. - URL: https://webreaderapi.com/ko/pdf-to-markdown-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 보고서, 논문, 매뉴얼, 가격표는 흔히 PDF입니다. 웹페이지에 사용하는 동일한 endpoint에 링크를 전달하면 문서 텍스트를 Markdown으로 받아, 바로 청크 분할과 임베딩에 쓸 수 있습니다. **빠른 답변 — URL의 PDF를 Markdown으로 변환하는 API가 있나요?** 네. **WebReaderAPI**에서 PDF의 URL을 `https://webreaderapi.com/api/v1/read`로 보내세요. API가 파일을 다운로드해 제목, 문단, 목록, 간단한 표가 포함된 Markdown 텍스트로 반환합니다. 최대 20 MB 및 100페이지 파일을 지원하며, 10페이지 단위로 시작된 블록당 1크레딧, 2026년 10월 기준 US$0.07/1K 페이지부터입니다. KYC 없이 암호화폐로 결제하세요. ## 한눈에 보는 PDF to Markdown | 속성 | 값 | | --- | --- | | 엔드포인트 | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (웹페이지와 동일) | | 제한 | 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다 | | 출력 | 제목, 문단, 목록, 간단한 표가 포함된 Markdown 텍스트; 일반 텍스트의 경우 `format=text` | | 지원되지 않음 | 텍스트 레이어가 없는 스캔 PDF (OCR 없음), 비밀번호로 보호된 파일 | | robots.txt | 다른 페이지와 마찬가지로 PDF 링크에도 적용 | | 결제 | BTC, USDT, USDC, ETH, SOL, LTC, US$25 충전부터; KYC 없이 | ## PDF 페이지는 어떻게 계산되나요? PDF는 10페이지 단위로 시작된 블록당 1크레딧이 듭니다. 4페이지 브로슈어는 1크레딧, 25페이지 보고서는 3크레딧, 100페이지 매뉴얼은 10크레딧입니다. 응답은 정확한 수치를 `credits_used`에 제공합니다. 20 MB를 초과하거나 100페이지보다 긴 파일은 `422 unsupported_content`을 반환하며 크레딧을 사용하지 않습니다. 긴 문서의 경우 먼저 동일한 콘텐츠의 HTML 버전을 찾아보세요. 보통 더 저렴하고 구조도 더 좋습니다. ## Markdown은 어떻게 생겼나요? 변환기는 PDF의 텍스트 레이어에서 읽기 순서를 재구성합니다. 섹션 시작 부분의 크거나 굵은 줄은 제목이 되고, 글머리 기호 및 번호 항목은 Markdown 목록이 되며, 간단한 격자 표는 Markdown 표가 됩니다. 모든 페이지에서 반복되는 실행 머리글, 바닥글, 페이지 번호는 제거되므로 청크에서 문장을 나누지 않습니다. 2단 레이아웃은 열 단위로 읽습니다. 각주는 페이지가 배치한 위치에 텍스트로 남습니다. *Python: PDF를 읽고 제목 기준으로 청크로 분할* ```python import os import re import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/annual-report.pdf"}, timeout=120, ) resp.raise_for_status() doc = resp.json() chunks = [c.strip() for c in re.split(r"\n(?=#{1,3} )", doc["markdown"]) if c.strip()] print(len(chunks), "chunks,", doc["credits_used"], "credit(s)") for c in chunks[:3]: print(c.splitlines()[0]) ``` ## 어떤 PDF가 가장 잘 작동하고, 어떤 것은 작동하지 않나요? 워드 프로세서, 웹사이트, 출판 도구에서 내보낸 PDF가 가장 잘 작동합니다. 글꼴과 위치가 있는 텍스트 레이어를 포함하기 때문입니다. 연간 보고서, 연구 논문, 제품 매뉴얼, 정책 문서, 가격표가 보통 이 그룹에 속합니다. 스캔 문서는 페이지 이미지로 텍스트 레이어가 없습니다. WebReaderAPI은 광학 문자 인식을 실행하지 않으므로 스캔은 텍스트를 거의 또는 전혀 반환하지 않으며, `word_count` 필드에 즉시 표시됩니다. 비밀번호로 보호된 PDF 및 암호화된 PDF는 `422 unsupported_content`과 함께 거부되며 요금이 부과되지 않습니다. ## PDF는 RAG 파이프라인에 어떻게 통합되나요? 웹페이지처럼 다루면 됩니다. PDF를 읽고, Markdown을 제목 기준으로 분할하고, 각 청크의 메타데이터에 소스 URL과 페이지 제목을 추가한 다음 임베딩하세요. URL을 유지하면 어시스턴트가 사용한 문서를 인용할 수 있습니다. 크롤링 중 같은 도메인의 PDF 링크를 만나면 동일한 규칙과 동일한 robots.txt 검사로 읽습니다. 전체 수집 예시는 [RAG 가이드](https://webreaderapi.com/ko/use-cases/rag/)를 참고하세요. ## PDF 변환 비용은 얼마인가요? PDF는 웹페이지와 동일한 크레딧에서 차감됩니다. 10페이지 단위로 시작된 블록당 1크레딧입니다. US$3.75에 10,000페이지으로 약 10,000개의 짧은 PDF 또는 100페이지 문서 1,000개를 변환할 수 있습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 확장 | 500,000페이지 | US$50 | US$0.10/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## PDF to Markdown API: 자주 묻는 질문 ### 링크를 보내는 대신 PDF 파일을 업로드할 수 있나요? 버전 1에서는 안 됩니다. API는 공개 URL에서 PDF를 읽습니다. 비공개 파일을 변환하려면 요청 시간 동안 직접 제어하는 URL에 파일을 두세요. ### 스캔 PDF에서 텍스트를 추출하나요? 아니요. WebReaderAPI은 PDF의 텍스트 레이어를 읽으며 OCR을 실행하지 않습니다. 스캔 문서는 텍스트를 거의 또는 전혀 반환하지 않으며, `word_count` 필드에 표시됩니다. ### 표가 유지되나요? 간단한 격자 표는 Markdown 표가 됩니다. 병합된 셀이나 복잡한 레이아웃이 있는 표는 읽기 순서대로 텍스트로 유지되며, 모델은 여전히 이를 잘 읽습니다. ### 실패한 PDF에도 요금이 부과되나요? 아니요. 파일이 너무 크거나, 너무 길거나, 암호화되어 있거나, 사이트에서 거부한 경우에는 과금되지 않습니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 리더 API 가격: 만료되지 않는 선불 페이지 크레딧 > WebReaderAPI 가격: 10,000페이지에 US$3.75부터 최대 US$0.07/1K 페이지까지, 만료되지 않는 크레딧, 실패한 페이지는 무료. KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/pricing/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 크레딧 1개로 페이지 1개를 읽습니다. 브라우저가 필요한 페이지는 2개가 소요됩니다. 실패한 페이지나 사이트에서 거부한 페이지는 비용이 들지 않습니다. 암호화폐 잔액으로 팩을 구매하고 원하는 속도로 사용하세요. KYC 없이 — 신분증도, 셀피도, 서류도 필요 없습니다. 암호화폐로 결제하세요. **빠른 답변 — WebReaderAPI 요금은 얼마인가요?** **WebReaderAPI**은 선불 페이지 크레딧을 판매합니다: 2026년 10월 기준 US$3.75에 10,000페이지(US$0.38/1K 페이지), US$21.75에 100,000페이지, US$74.25에 1,000,000페이지, 그리고 5백만에 US$0.07/1K 페이지. 브라우저로 읽는 페이지는 크레딧 2개를 사용합니다. 실패한 페이지와 robots.txt에서 거부한 페이지는 무료이며, 크레딧은 만료되지 않습니다. KYC 없이, 암호화폐 결제. ## 어떤 크레딧 팩을 사야 하나요? 여섯 개의 팩이 있으며, 모두 동일한 API와 옵션을 제공합니다. 페이지당 가격은 가장 작은 팩의 US$0.38/1K 페이지에서 가장 큰 팩의 US$0.07/1K 페이지까지 내려갑니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 확장 | 500,000페이지 | US$50 | US$0.10/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | | 대량 | 5,000,000페이지 | US$350 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. 결제는 어떻게 이루어지나요 ## 페이지는 어떻게 계산되나요? 모든 응답은 `credits_used` 기준 비용을 알려줍니다. 규칙: - **정적 페이지: 1 크레딧.** 페이지의 HTML에 콘텐츠가 들어 있었습니다. - **브라우저가 필요한 페이지: 2 크레딧.** `render=auto`에서는 원본 HTML이 거의 비어 있을 때만 브라우저가 실행되고, `render=false`은 브라우저를 절대 사용하지 않습니다. - **국가 선택: +10 크레딧.** 페이지를 읽는 국가를 선택하면 10 크레딧이 추가됩니다. 이 경우 해당 국가의 주거용 연결을 통해 페이지를 읽기 때문입니다. - **PDF: 시작된 10페이지 블록당 1 크레딧.** 25페이지 보고서는 3 크레딧이 소요됩니다. - **오류 및 거부: 0 크레딧.** 잘못된 URL, 타임아웃, robots.txt나 사이트에서 거부한 페이지, 읽을 수 없는 파일은 무료입니다. - **잔액 확인: 무료.** `GET https://webreaderapi.com/api/v1/credits`은 크레딧을 사용하지 않습니다. ## 사용하지 않은 크레딧이 만료되나요? 아니요. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. 한 번의 크롤링을 위해 구매한 팩은 다음 크롤링을 위해 남은 가치를 유지하며, 한 달 동안 유휴 상태인 에이전트도 아무것도 잃지 않습니다. 만약 서비스 판매를 중단하게 된다면, [약관](https://webreaderapi.com/ko/terms/)은 크레딧을 사용하거나 그 가치를 이전할 수 있도록 최소 30일의 사전 통지를 제공합니다. 가격 인상은 게시된 이후에 구매한 팩에만 적용됩니다. ## 어떤 팩이 내 작업량에 맞나요? 일반적인 볼륨과 이를 커버하는 팩입니다. 브라우저가 필요한 페이지는 크레딧 2개로 계산하세요. | 작업량 | 페이지 | 권장 팩 | | --- | --- | --- | | 프로토타입 에이전트 또는 소규모 사이트의 일회성 크롤링 | 5,000 미만 | 10,000페이지 (US$3.75) | | 소규모 팀이 매일 사용하는 AI 에이전트 | 월 10,000~30,000 | 50,000페이지 (US$14.25) | | 여러 문서 사이트의 RAG 인덱스, 주간 갱신 포함 | 30,000~80,000 | 100,000페이지 (US$21.75) | | 자체 사용자를 위해 페이지를 읽는 제품 | 월 100,000~400,000 | 500,000페이지 (US$50) | | 연구 코퍼스 또는 대규모 아카이브 | 100만 이상 | 1,000,000페이지(US$74.25) 또는 5,000,000페이지(US$350) | ## 이 가격은 다른 웹 리더 API와 비교해 어떤가요? 각 제공업체의 공개 가격 페이지를 기준으로, 월 100,000페이지를 읽을 때 1,000페이지당 가격입니다. 21개 API와 세 가지 볼륨을 포함한 전체 표는 [웹 리더 API 가격 비교](https://webreaderapi.com/ko/compare/web-reader-api-pricing/)에서 확인하세요. | 제공업체 및 요금제 | 일반 페이지 | 브라우저가 필요한 페이지 | | --- | --- | --- | | WebReaderAPI, 100,000페이지 | US$0.22/1K 페이지 | 페이지당 2 크레딧 | | Firecrawl Standard (100,000 크레딧에 $99) | $0.99 | $0.99 (모든 페이지 렌더링) | | Olostep Standard ($99) | $0.99 | $0.99 (모든 페이지 렌더링) | | Crawl4AI Cloud Builder ($99) | $0.50 | $0.99 | | Scrape.do Hobby (250,000 크레딧에 $29) | $0.29 | Pro에서 $0.99 | | ScrapingBee 프리랜스 ($49) | $0.49 | Startup $0.99 | | Exa contents | $1.00 | 문서화된 브라우저 옵션 없음 | | Tavily Extract (기본, 사용한 만큼 지불) | $1.40 | $2.36 (고급) | *가격 확인 날짜: 2026년 10월 22일.* 저희가 모든 사용량이나 모든 페이지 유형에서 가장 저렴하다고 주장하지는 않습니다. 출처: 비교 페이지에 나열된 각 제공업체의 가격 페이지입니다. ## 결제는 어떻게 이루어지나요 1. **US$25 이상 충전** — 금액과 코인(BTC, USDT, USDC, ETH, SOL, LTC)을 선택하세요. 암호화폐 금액과 환율은 30분 동안 고정됩니다. 2. **정확한 네트워크로 표시된 주소로 보내세요** — 결제 페이지에는 선택하신 코인과 네트워크의 입금 주소가 표시됩니다: BTC 켜짐 Bitcoin, USDT 켜짐 Tron (TRC-20) 또는 Ethereum (ERC-20), USDC 켜짐 Ethereum (ERC-20), ETH 켜짐 Ethereum, SOL 켜짐 Solana, LTC 켜짐 Litecoin. 해당 네트워크로 해당 코인만 보내세요: 다른 네트워크나 다른 코인으로 보낸 자금은 복구할 수 없습니다. 네트워크 수수료는 금액에 추가로 부과됩니다. 3. **표시된 정확한 금액을 보낸 뒤 “결제를 보냈습니다”를 클릭하세요** — 각 충전에는 고유한 정확한 금액(소수점 끝까지)이 있습니다. 이 금액으로 결제를 찾아 계정에 연결합니다. 4. **블록체인에서 결제가 확인되면 잔액에 반영** — 네트워크가 거래를 확인한 뒤 블록체인에서 거래를 확인하고 잔액에 반영합니다. 일반적인 네트워크 확인 시간: 5. **모든 페이지 크레딧에 하나의 잔액** — 팩에서 시작하는 경우 충전 금액은 팩 가격과 같습니다(팩이 더 작으면 최소 금액). 결제가 입금되면 크레딧이 추가되고, API 키는 대시보드에서 대기합니다. 나머지는 이후 팩을 위해 잔액에 남습니다. 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. | 암호화폐 | 네트워크 | 확인 수 | 평균 소요 시간 | | --- | --- | --- | --- | | Bitcoin (BTC) | Bitcoin | 2 | ≈ 20분 | | Tether (USDT) | Tron (TRC-20) | 20 | ≈ 1분 | | Tether (USDT) | Ethereum (ERC-20) | 12 | ≈ 5분 | | USD Coin (USDC) | Ethereum (ERC-20) | 12 | ≈ 5분 | | Ethereum (ETH) | Ethereum | 12 | ≈ 5분 | | Solana (SOL) | Solana | 1 | ≈ 1분 | | Litecoin (LTC) | Litecoin | 6 | ≈ 15분 | 탭을 닫으셨나요? 대기 중인 충전은 계정의 Billing 아래에 남아 있습니다. 열어서 주소와 정확한 금액을 다시 확인하세요. ## 가격 관련 질문 ### 무료 플랜이 있나요? 아니요. 무료 티어는 없습니다. 가장 작은 팩이 테스트하는 방법이며, 최소 충전 금액에서 결제합니다. 최소 금액에 도달하기 위해서만 추가한 금액은 사용하지 않은 상태에서 30일 이내에 요청 시 USDT 또는 USDC로 돌려보낼 수 있습니다. 10,000페이지 팩은 US$3.75이며 가장 큰 팩의 모든 옵션을 포함합니다. ### 팩 가격이 더 저렴한데 왜 US$25을 충전해야 하나요? 모든 결제는 잔액을 통해 이루어지며, 최소 충전 금액은 US$25입니다. 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. ### 환불을 받을 수 있나요? 72시간 이내에 구매한 크레딧 팩은 사용한 크레딧이 20% 미만이면 잔액으로 환원됩니다. 팩이 작동하지 않아 지원팀이 24시간 이내에 해결하지 못하면 전액이 잔액으로 환원됩니다. 충전 금액은 잔액으로 남으며 법령에 달리 정해진 경우가 아니면 환불되지 않습니다. 최소 충전 금액에 도달하기 위해서만 추가한 금액은 사용하지 않은 상태에서 30일 이내에 요청 시 USDT 또는 USDC로 돌려보낼 수 있습니다. [환불 정책](https://webreaderapi.com/ko/refunds/)에는 실제 예시가 있습니다. ### JavaScript 페이지는 항상 2크레딧이 드나요? 헤드리스 브라우저가 실제로 실행될 때만 그렇습니다. `render=auto`에서는 대부분의 뉴스, 블로그, 문서 페이지를 HTML에서 1크레딧으로 읽습니다. 해당 HTML에 텍스트가 너무 적을 때만 브라우저가 실행됩니다. `rendered` 필드에서 어느 쪽이었는지 확인할 수 있습니다. ### 어떤 암호화폐로 결제할 수 있나요? BTC, USDT, USDC, ETH, SOL, LTC. USDT는 TRC-20 또는 ERC-20에서, USDC는 ERC-20에서 사용할 수 있습니다. [암호화폐 결제 페이지](https://webreaderapi.com/ko/crypto-payments/)에서 각 단계를 설명합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 개인정보 처리방침 > WebReaderAPI 개인정보 처리방침: 호스트 이름만 30일간 기록하며 전체 URL이나 페이지 내용은 기록하지 않습니다. 신분증 없이, 카드 없이, 계좌번호로 로그인합니다. 무엇을 왜 보관하는지 안내합니다. - URL: https://webreaderapi.com/ko/privacy/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 웹 리더는 두 가지 종류의 데이터를 봅니다. 고객으로서의 귀하의 데이터와, 귀하가 읽도록 요청한 페이지입니다. 이 방침은 그 순서대로 두 가지를 모두 다룹니다. **빠른 답변 — WebReaderAPI는 나와 내가 읽는 페이지에 대해 무엇을 보관하나요?** **WebReaderAPI**는 귀하의 계좌번호, 선택 사항인 이메일, 결제 및 크레딧 기록, 그리고 각 페이지의 호스트 이름만 담고 전체 URL이나 그 내용은 담지 않는 요청 로그를 30일간 보관합니다. 귀하가 읽는 페이지의 사본은 보관하지 않습니다. 신분증 서류나 카드를 요구하지 않으며, 귀하의 데이터를 판매하거나 공유하지 않습니다. ## 귀하에 대해 어떤 데이터를 수집하나요? 서비스 운영에 필요한 것만 수집합니다: - **계정:** 귀하의 계좌번호, 그리고 원하시면 추가하는 이메일 주소. - **결제:** 충전, 해당 거래 ID, 코인 및 네트워크, 구매한 팩. - **사용량:** 각 요청은 시간, 계정, 페이지의 호스트 이름(전체 URL이나 콘텐츠는 절대 기록하지 않음), 상태 및 사용된 크레딧을 로그 한 줄로 남기며, 이 로그는 30일 후 삭제됩니다. 읽은 페이지는 저장되지 않습니다. 계정 번호, 주문, 충전 및 크레딧 합계는 계정이 존재하는 동안 보관되며, 이후에는 회계 관련 법령이 요구하는 기간 동안만 보관됩니다. 기록은 법령상 의무가 있을 때만 당국에 제공됩니다. - **API 키:** 요청 확인을 위해 저장되며, 언제든지 폐기할 수 있습니다. ## 절대 수집하지 않는 것은 무엇인가요? 신분증 서류, 셀피, 회사 서류, 카드 번호는 필요하지 않으므로 절대 수집하지 않습니다. 계정 번호로 로그인, 이메일은 선택 사항. 귀하가 읽는 페이지의 전체 주소, 그 내용, 또는 귀하에게 반환하는 Markdown은 절대 저장하지 않습니다. 응답이 저희 서버를 떠나면 페이지 텍스트는 저희 쪽에서 사라집니다. ## 각 페이지의 호스트 이름을 왜 보관하나요? 두 가지 이유가 있습니다: 귀하에게 사용 내역을 보여주기 위해서, 그리고 저희 크롤러 관련 문제를 신고하는 사이트 소유자에게 답하기 위해서입니다. `example.com` 같은 호스트 이름이면 둘 다 충분하므로, 로그를 기록하기 전에 모든 URL을 호스트 이름으로 줄입니다. 로그는 30일 후 삭제됩니다. ## 저희가 귀하를 위해 보내는 요청은 누가 볼 수 있나요? 귀하가 읽도록 요청한 웹사이트는 저희 인프라로부터의 요청을 보게 되며, 저희 User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`가 함께 표시됩니다. 귀하의 계정, 키, 신원은 보이지 않습니다. `country` 옵션을 사용하면 해당 국가의 주소에서 저희 인프라를 통해 동일한 User-Agent로 요청이 나갑니다. 저희 인프라는 페이지를 가져오는 데 필요한 것, 즉 URL과 귀하가 선택한 옵션만 받습니다. ## 쿠키를 사용하나요? 공개 페이지는 광고나 추적 쿠키를 사용하지 않습니다. 클라이언트 영역은 로그인 상태 유지와 언어 같은 인터페이스 선택을 기억하기 위해 필요한 저장소를 사용합니다. 결제 페이지는 주소와 금액을 표시하지만 제3자 추적기는 설정하지 않습니다. ## 데이터를 공유하거나 공개하나요? 어떤 데이터도 판매하거나 대여하지 않습니다. 기록은 법적 의무가 있을 때만 당국에 제공하며, 법이 허용하는 경우 귀하에게 알려드립니다. 계정 및 결제 기록은 계정이 열려 있는 동안 보관되고, 이후에는 회계 규정이 요구하는 기간 동안만 보관됩니다. ## 내 데이터를 보고 삭제하려면 어떻게 하나요? 사용 내역과 결제 정보는 클라이언트 영역에서 확인할 수 있습니다. 계정을 삭제하려면 클라이언트 영역에서 요청하시거나 주문 ID와 함께 support@webreaderapi.com으로 연락하시면 됩니다. 계좌번호나 키는 요구하지 않습니다. 계정을 삭제하면 [약관](https://webreaderapi.com/ko/terms/)에 설명된 대로 크레딧도 제거됩니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 환불 정책 > WebReaderAPI 환불 정책: 사용량이 20% 미만이면 72시간 이내에 크레딧 팩을 잔액으로 돌려드리고, 작동하지 않는 팩은 전액 크레딧으로 환불합니다. 실제 예시. - URL: https://webreaderapi.com/ko/refunds/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 환불금은 잔액으로 돌아가며, 그대로 유지되고 만료되지 않습니다. 이 페이지에서는 규칙, 실제 팩 크기를 사용한 세 가지 예시, 그리고 요청 방법을 안내합니다. **빠른 답변 — WebReaderAPI 크레딧을 환불받을 수 있나요?** 네, 두 가지 경우에 가능합니다. 구매 후 72시간 이내에 **WebReaderAPI** 크레딧 팩을 20% 미만으로 사용했다면 잔액으로 돌려드립니다. 팩이 작동하지 않고 지원팀이 24시간 내에 해결할 수 없는 경우에는 전액 크레딧으로 환불됩니다. 충전금은 잔액에 남아 있으며, US$25 최소 금액을 채우기 위해 추가한 부분만 환불받을 수 있습니다. ## 정확한 규칙은 무엇인가요? 72시간 이내에 구매한 크레딧 팩은 사용한 크레딧이 20% 미만이면 잔액으로 환원됩니다. 팩이 작동하지 않아 지원팀이 24시간 이내에 해결하지 못하면 전액이 잔액으로 환원됩니다. 충전 금액은 잔액으로 남으며 법령에 달리 정해진 경우가 아니면 환불되지 않습니다. 최소 충전 금액에 도달하기 위해서만 추가한 금액은 사용하지 않은 상태에서 30일 이내에 요청 시 USDT 또는 USDC로 돌려보낼 수 있습니다. 환불 요청은 담당자가 처리하며, 승인되면 금액이 잔액에 표시됩니다. 실패한 요청은 애초에 크레딧을 사용하지 않으므로 환불이 필요 없습니다. 여기에는 robots.txt, 사이트의 AI 선호 설정 또는 사이트 자체에서 거부한 페이지도 포함됩니다. ## 예시 1: 실수로 구매한 팩 US$21.75에 100,000페이지을 구매하고 테스트를 위해 3,000페이지를 읽은 뒤, 더 작은 팩이 적합하다고 판단합니다. 다음 날 환불을 요청합니다. 팩의 3%만 사용했으므로 20% 한도 미만이고 72시간 이내이므로, 전액 US$21.75이 잔액으로 돌아갑니다. 그 금액으로 US$3.75에 10,000페이지을 구매할 수 있습니다. ## 예시 2: 작동하지 않는 팩 US$14.25에 50,000페이지을 구매했는데, 지원팀이 24시간 내에 해결할 수 없는 이유로 모든 요청이 저희 쪽에서 오류를 반환합니다. 사용을 시도한 비율과 관계없이 팩은 전액 크레딧으로 환불됩니다. ## 예시 3: 최소 충전 US$3.75에 10,000페이지만 필요하지만 최소 충전 금액은 US$25입니다. 차액은 나중에 팩을 구매할 수 있도록 잔액에 남습니다. 사용하지 않았다면 결제일로부터 30일 이내에 USDT 또는 USDC로 차액 환불을 요청할 수 있습니다. 충전금의 다른 부분은 법에서 요구하는 경우를 제외하고 환불되지 않습니다. ## 환불은 어떻게 요청하나요? 클라이언트 영역의 지원 양식을 사용하거나, 주문 내역에 표시된 주문 ID와 함께 support@webreaderapi.com으로 문의하세요(계정 번호나 API 키는 절대 보내지 마세요). 지원팀은 12시간 이내에 답변하며, 환불이 승인되면 금액이 잔액에 표시됩니다. ## 환불이 왜 잔액으로 돌아가나요? 암호화폐 결제는 카드 결제처럼 취소할 수 없고, 코인을 돌려보낼 때마다 네트워크 수수료가 발생하기 때문입니다. 잔액 크레딧은 즉시 처리되며 비용이 들지 않습니다. 유일한 예외는 최소 금액을 채우기 위해 추가한 충전금의 일부로, 30일 이내이고 사용하지 않은 경우 스테이블코인으로 환불됩니다. 그 외의 결제는 법에서 요구하는 경우를 제외하고 환불되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # WebReaderAPI 상태: API가 작동하는지 확인하는 방법 > WebReaderAPI 웹 리더 API가 작동하는지 확인하는 방법: 무료 크레딧 endpoint, 각 오류 코드의 의미, 그리고 장애 공지 위치를 안내합니다. - URL: https://webreaderapi.com/ko/status/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 페이지가 반환되지 않을 때 원인은 보통 웹사이트이고, 때로는 네트워크이며, 저희 쪽인 경우는 드뭅니다. 이 페이지에서는 크레딧을 사용하지 않고 몇 초 만에 어느 쪽인지 구분하는 방법을 보여줍니다. **빠른 답변 — WebReaderAPI가 작동 중인지 어떻게 알 수 있나요?** API 키와 함께 `GET https://webreaderapi.com/api/v1/credits`을 호출하세요. 무료이며, 정상적인 응답이 오면 API와 키가 작동하는 것입니다. 페이지가 실패하면 오류 코드가 이유를 알려주며, **WebReaderAPI**은 이에 대해 아무것도 청구하지 않습니다. 저희 쪽의 장애는 날짜와 함께 [changelog](https://webreaderapi.com/ko/changelog/)에 기록됩니다. ## 가장 빠른 상태 확인 방법은 무엇인가요? 크레딧 endpoint입니다. 어떤 웹사이트도 가져오지 않고 응답하므로 저희 쪽만 테스트합니다: 인증, API, 그리고 계정입니다. *curl: API와 남은 크레딧 확인* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## 어떤 오류가 웹사이트에서 발생하고, 어떤 오류가 저희 쪽에서 발생하나요? 오류 코드는 문제가 어디에 있는지 알려줍니다. 이 오류 중 어느 것도 크레딧을 사용하지 않습니다. | 코드 | 문제 위치 | 해야 할 일 | |---|---|---| | `blocked_by_robots` | 사이트의 robots.txt가 크롤러를 거부함 | 없음: 사이트가 거부함 | | `blocked_by_site_policy` | 사이트가 `ai-input=no`을 선언함 | 없음: 사이트가 거부함 | | `target_refused` | 사이트가 403, 429, 챌린지 또는 로그인으로 응답함 | 나중에 시도하거나 사이트에 접근을 요청하세요 | | `fetch_failed` | DNS, TLS, 연결, 또는 404/410 페이지 | URL을 확인하고 나중에 재시도하세요 | | `fetch_timeout` | 사이트가 제시간에 응답하지 않음 | 더 긴 `timeout`로 재시도하세요 | | `concurrency_limit` | 계정에서 동시에 너무 많은 요청 | 속도를 줄이거나 한도를 높여 달라고 요청하세요 | | `invalid_api_key`, `insufficient_credits` | API 키 또는 잔액 | 대시보드를 확인하세요 | [오류 페이지](https://webreaderapi.com/ko/docs/errors/)에서 각 경우를 재시도 루프와 함께 자세히 설명합니다. ## 여기에 실시간 가동률 수치가 없는 이유는 무엇인가요? 아직 공개 샘플로 측정한 적이 없으며, 지어낸 수치는 오해를 불러일으킬 수 있기 때문입니다. 읽기 성공 여부는 대부분 읽는 대상 사이트에 달려 있으므로 단일 백분율은 의미가 적습니다. 수치를 공개하게 되면 방법, 샘플, 날짜와 함께 제공할 것입니다. ## 장애는 어디에 공지되나요? [changelog](https://webreaderapi.com/ko/changelog/)에 날짜, 영향을 받은 endpoint, 그리고 조치 내용과 함께 공지됩니다. 저희 쪽에서 반복적인 오류(대상 사이트로 인한 오류가 아닌 코드)가 보인다면 요청 시간과 오류 코드를 support@webreaderapi.com으로 보내주세요. ## 상태: 자주 묻는 질문 ### 크레딧을 확인하는 데 비용이 드나요? 아니요. `GET https://webreaderapi.com/api/v1/credits`은 크레딧을 사용하지 않으므로 동시성 한도 내에서 상태 확인용으로 얼마든지 호출할 수 있습니다. ### 제 쪽에서는 페이지가 실패하지만 브라우저에서는 열립니다. 왜 그런가요? 보통 사이트가 사람과 로봇을 다르게 취급하기 때문입니다: robots.txt에서 저희 크롤러를 거부하거나 자동화된 요청에 챌린지 페이지로 응답할 수 있습니다. 저희는 사이트의 응답을 그대로 반환하며 아무것도 청구하지 않습니다. 오류 코드와 `target_status`이 사이트가 보낸 내용을 보여줍니다. ### 실패한 읽기에도 요금이 부과되나요? 아니요. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 이용약관 > WebReaderAPI 서비스 약관: 계정, 만료되지 않는 페이지 크레딧, 암호화폐 충전, robots.txt 규칙, 환불 및 책임을 쉬운 영어로 작성했습니다. - URL: https://webreaderapi.com/ko/terms/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 이 약관은 웹사이트, 클라이언트 영역, API에 적용됩니다. 각 섹션은 하나의 질문에 답하며, 중요한 내용은 각주에 숨겨져 있지 않습니다. **빠른 답변 — WebReaderAPI 약관은 간단히 무엇을 말하나요?** **WebReaderAPI** 웹 리더 API의 선불 페이지 크레딧을 암호화폐로 결제하며, 최소 US$25 이상 충전한 후 이용할 수 있습니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. 모든 요청은 대상 사이트의 robots.txt를 따르며, [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)은 본 약관의 일부입니다. 서비스는 SerpGoat LLC이(가) 판매합니다. ## 1. 누가 본 약관의 적용을 받나요? 귀하와 WebReaderAPI을(를) 운영하는 SerpGoat LLC이(가) 적용을 받습니다. "귀하"는 계정 보유자, 개인 또는 조직을 의미합니다. 계정을 만들거나 충전금을 결제하거나 API를 호출하면 본 약관과 [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)에 동의하는 것으로 간주됩니다. ## 2. 서비스는 무엇을 하나요? WebReaderAPI은(는) 귀하가 지정한 공개 웹페이지와 PDF 파일을 가져와 그 내용을 `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch`, `https://webreaderapi.com/api/v1/crawl`을 통해 Markdown, 일반 텍스트 또는 정리된 HTML로 반환합니다. 웹사이트는 자사 페이지의 내용과 robots의 접근 가능 여부를 스스로 결정합니다. 당사는 반환하는 콘텐츠를 통제하거나 수정하거나 보장하지 않습니다. 같은 URL이라도 요청마다 결과가 다를 수 있습니다. ## 3. 계정과 API 키는 어떻게 작동하나요? 계정 번호로 로그인, 이메일은 선택 사항. 계정 번호로 로그인하므로 안전한 곳에 보관하세요. 이메일을 선택적으로 등록하면 계정 번호를 되찾을 수 있습니다. 등록된 이메일이 없으면 분실한 번호는 복구할 수 없습니다. 여러 개의 키를 만들 수 있으며 대시보드에서 언제든지 폐기할 수 있습니다. 귀하의 키 중 하나로 보낸 모든 요청은 누가 보냈든 귀하의 크레딧을 사용하므로, 키를 비공개로 유지하고 유출된 키는 폐기하세요. 계정은 개인 또는 조직당 하나입니다. ## 4. 크레딧은 어떻게 계산되며 언제 만료되나요? 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. 페이지를 읽는 국가를 선택하면 10 크레딧이 추가됩니다. 이 경우 해당 국가의 주거용 연결을 통해 페이지를 읽기 때문입니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. 선불 크레딧은 만료되지 않습니다. 사용하지 않은 페이지는 사용할 때까지 계정에 남아 있습니다. 크레딧은 귀하가 계정을 삭제하거나 당사가 본 약관 위반으로 계정을 폐쇄하는 경우에만 소멸됩니다. 당사가 서비스 판매를 중단하는 경우, 최소 30일 전에 공지하여 남은 크레딧을 사용하거나 그 가치를 다른 제품으로 이전할 수 있도록 합니다. ## 5. 결제는 어떻게 작동하나요? 가격은 [가격 페이지](https://webreaderapi.com/ko/pricing/)에 미국 달러로 표시됩니다. 귀하는 BTC, USDT, USDC, ETH, SOL, LTC로 잔액을 충전하며 최소 금액은 US$25이고, 그 잔액에서 크레딧 팩을 구매합니다. 표시된 네트워크로 표시된 정확한 금액을 보낸 후 "결제를 보냈습니다"를 클릭하세요. 결제는 정확한 금액으로 대조되며 블록체인에서 확인되면 크레딧으로 반영됩니다. 잔액은 만료일 없이 가치가 유지됩니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 사용하지 않은 잔여분에 한해 30일 이내에 USDT 또는 USDC로 환불을 요청할 수 있습니다. 그 외의 충전금은 법이 요구하지 않는 한 환불되지 않습니다. 네트워크 수수료는 발신자가 부담합니다. ## 6. 환불받을 수 있나요? 네, 두 가지 경우에 잔액으로 환불됩니다. 구매 후 72시간 이내에 20% 미만으로 사용한 팩, 그리고 작동하지 않아 지원팀이 하루 이내에 해결하지 못한 팩입니다. [환불 정책](https://webreaderapi.com/ko/refunds/)에 전체 규칙과 구체적인 예시가 나와 있습니다. ## 7. 읽는 페이지에는 어떤 규칙이 적용되나요? 당사 크롤러는 모든 요청에 세 가지 규칙을 적용하며, 이는 끌 수 없습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. 사이트가 robots.txt에 Content-Signal: ai-input=no를 선언하면, 해당 페이지를 대신 읽지 않습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 귀하는 받은 콘텐츠를 사용하는 방식, 그 콘텐츠 소유자의 권리를 포함하여 책임이 있습니다. [허용 사용 정책](https://webreaderapi.com/ko/acceptable-use/)에 금지되는 용도가 나와 있습니다. ## 8. 볼륨이나 속도에 제한이 있나요? 모든 계정에는 동시에 읽는 페이지 수에 대한 한도가 있으며, 대시보드에 표시됩니다. 지원팀이 이를 높일 수 있습니다. 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다. 배치 작업당 최대 100개의 URL. 당사는 단일 웹사이트를 보호하기 위해 해당 사이트에 대한 요청을 늦추거나 일시 중지할 수 있으며, 예를 들어 해당 사이트의 `Crawl-delay`을(를) 준수합니다. ## 9. 언제 제 계정을 정지할 수 있나요? 본 약관 또는 허용 사용 정책 위반을 발견했을 때, 결제가 취소되거나 사기로 판명되었을 때, 또는 법이 요구할 때 정지할 수 있습니다. 법이 허용하는 경우 그 사유를 알려드리며, 정지 전에 담당자가 사실 관계를 검토합니다. ## 10. 무엇을 보장하나요? 당사는 서비스를 있는 그대로 제공합니다. 특정 페이지를 읽을 수 있는지, 사이트가 당사 요청을 수락하는지, 서비스가 중단 없이 운영되는지는 보장하지 않습니다. 실패한 요청과 사이트에서 거부된 페이지에는 요금이 부과되지 않으므로, 페이지를 읽을 수 없을 때 비용이 제한됩니다. ## 11. 책임은 어떻게 되나요? 법이 허용하는 범위에서, 모든 청구에 대한 당사의 총 책임은 그 원인이 된 사건 이전 12개월 동안 귀하가 당사에 지급한 금액으로 제한됩니다. 당사는 이익 손실이나 데이터 손실과 같은 간접 손실에 대해 책임지지 않습니다. 본 약관의 어떤 내용도 법이 제한을 허용하지 않는 책임을 제한하지 않습니다. ## 12. 본 약관은 어떻게 변경되나요? 당사는 모든 버전에 날짜를 기재하고 변경 사항을 [변경 로그](https://webreaderapi.com/ko/changelog/)에 기록합니다. 귀하의 권리를 축소하는 변경은 발행된 이후 구매한 크레딧에 적용됩니다. 문의는 support@webreaderapi.com으로 보내주세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 페이지 to Markdown API: 모델이 바로 쓸 수 있는, 어떤 URL의 본문 추출 > LLM과 AI 에이전트를 위한 웹 페이지 to Markdown API: 어떤 URL이든 제목, 저자, 날짜를 포함한 깔끔한 Markdown으로, US$0.07/1K 페이지부터. KYC 없이, 암호화폐. - URL: https://webreaderapi.com/ko/url-to-markdown-api/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) URL을 전달하면 기사를 Markdown으로 돌려받습니다. 제목, 문단, 목록, 표, 링크는 유지하고 메뉴, 쿠키 배너, 광고, 푸터는 제거합니다. 페이지의 제목, 저자, 날짜, 언어도 함께 제공합니다. **빠른 답변 — LLM을 위해 웹페이지를 깔끔한 Markdown으로 변환하는 API는 무엇인가요?** 웹 페이지 to Markdown API는 페이지를 가져와 본문을 유지한 채 Markdown으로 반환합니다. **WebReaderAPI**은(는) 한 번의 요청으로 처리합니다. `GET https://webreaderapi.com/api/v1/read?url=…`은(는) 제목, 목록, 표, 링크와 함께 제목, 저자, 날짜, 단어 수를 포함한 기사를 반환하며, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1크레딧입니다. robots.txt를 준수합니다. KYC 없이, 암호화폐로 결제. ## 한눈에 보는 URL to Markdown API | 속성 | 값 | | --- | --- | | 엔드포인트 | `GET https://webreaderapi.com/api/v1/read?url=…` (또는 JSON 바디를 쓰는 `POST`) | | 출력 | 페이지 본문의 깔끔한 Markdown (또는 일반 텍스트, 또는 정리된 HTML)과 함께 제목, 설명, 작성자, 게시 날짜, 언어, 단어 수를 제공하며, 링크와 이미지는 요청 시 제공합니다 | | JavaScript | 페이지에 필요할 때 헤드리스 브라우저에서 JavaScript 렌더링 (render=auto), 또는 항상, 또는 절대 하지 않습니다 | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 토큰 예산 | `max_chars`은(는) 모델이 감당할 수 있는 길이로 Markdown을 줄입니다 | | robots.txt | 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다 | | 가격 | US$3.75은(는) 10,000페이지, US$21.75은(는) 100,000페이지, US$0.07/1K 페이지부터 5,000,000페이지에 | | 결제 | BTC, USDT, USDC, ETH, SOL, LTC, US$25 충전부터; KYC 없이 | ## 웹페이지를 모델에 넘기기 전에 왜 Markdown으로 변환해야 하나요? Markdown은 모델에 필요한 구조를 유지하고 필요 없는 마크업은 걷어냅니다. 일반적인 글 페이지는 본문 몇백 단어를 둘러싸고 내비게이션, 스크립트, 추적 태그, 쿠키 안내, 관련 글 위젯이 붙어 있습니다. 원본 HTML로 보내면 지불하는 토큰의 대부분이 마크업에 쓰입니다. Markdown은 제목을 `#`로, 목록을 `-`로, 표를 파이프로, 링크를 `[text](url)`으로 유지합니다. 모델은 어떤 문장이 어느 섹션에 속하는지 보고, 출처 링크를 인용하고, 제목 기준으로 텍스트를 청크로 나눌 수 있습니다. 같은 텍스트를 평범한 산문으로 두면 이 구조가 사라지고, HTML로 두면 토큰이 훨씬 더 듭니다. ## API는 무엇을 유지하고 무엇을 제거하나요? 기본값인 `main_content=true`에서는 API가 독자가 보려던 페이지 부분을 남기고 나머지를 제거합니다. | 유지 | 제거 | |---|---| | 제목과 소제목 | 사이트 내비게이션과 메뉴 | | 문단, 인용, 목록 | 쿠키 및 동의 배너 | | 표(Markdown 표로) | 광고 및 프로모션 위젯 | | 코드 블록(표시된 경우 언어 포함) | 사이드바 및 관련 글 목록 | | 본문 안의 링크 | 푸터 및 법적 고지 | | 이미지(`include_images=true`일 때만) | 공유 버튼 및 댓글 양식 | 페이지 전체를 변환하려면 `main_content=false`를 설정하세요. 예를 들어 홈페이지나 모든 요소가 중요한 상품 목록이 그렇습니다. Markdown 없는 일반 텍스트는 `format=text`, 본문의 정리된 HTML은 `format=html`로 설정하세요. *curl: 한 페이지를 Markdown으로, 20,000자로 자르기* ```bash curl -G "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/pour-over-coffee" \ -d format=markdown -d max_chars=20000 ``` *Python: 페이지를 읽고 메타데이터와 Markdown 출력하기* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/pour-over-coffee", "format": "markdown"}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["title"], "|", page.get("author"), "|", page.get("published_at")) print(page["word_count"], "words,", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## JavaScript로 만든 페이지는 어떻게 하나요? 많은 페이지가 첫 HTML에 거의 텍스트를 담지 않고 브라우저에서 콘텐츠를 구성합니다. 기본값인 `render=auto`에서는 API가 먼저 원본 HTML을 읽고, 텍스트가 너무 적으면 헤드리스 브라우저에서 페이지를 열어 결과를 읽습니다. 응답의 `rendered` 필드가 어느 쪽이었는지 알려줍니다. 브라우저가 필요했던 페이지는 크레딧이 하나가 아니라 두 개 듭니다. 어떤 사이트가 항상 필요하다는 걸 안다면 `render=true`를 설정하세요. 서버가 보내는 것만 원한다면 `render=false`을 설정해 두 번째 크레딧을 절대 내지 않아도 됩니다. ## 사이트가 읽히기를 원하지 않으면 어떻게 되나요? 사이트의 선택을 존중하며 요금을 청구하지 않습니다. 저희 크롤러는 `WebReaderAPI`으로 자신을 밝히고 매 읽기 전에 robots.txt를 확인합니다. 저희 토큰에 대해, 또는 모든 로봇에 대해 허용되지 않은 페이지는 `403 blocked_by_robots`를 반환합니다. `Content-Signal: ai-input=no`를 선언한 사이트는 `403 blocked_by_site_policy`를 반환합니다. 403 상태, 챌린지 페이지, 로그인 장벽 등 다른 방식으로 사이트가 요청을 거부하면 사이트 자체의 상태와 함께 `502 target_refused`을 받습니다. 사이트가 우리 요청을 거부하면 그 응답을 그대로 반환합니다. 우리는 CAPTCHA를 풀거나, 계정에 로그인하거나, 차단이나 페이월을 우회하려 시도하지 않습니다. 저희 [크롤러 페이지](https://webreaderapi.com/ko/bot/)에서 사이트 소유자를 위해 정확한 User-Agent와 함께 이 모든 것을 설명합니다. ## 내 프로젝트에는 페이지가 몇 개나 필요할까요? 페이지당 크레딧 하나, 브라우저가 필요한 페이지는 두 개로 계산하세요. 몇 가지 일반적인 규모는 다음과 같습니다: - **AI 에이전트**가 작업당 5페이지를 읽고 하루에 100개 작업을 실행하면 한 달에 약 15,000페이지를 읽습니다: 50,000페이지(US$14.25)이면 세 달 넘게 씁니다. - 2,000페이지씩 있는 문서 사이트 세 개의 **RAG 인덱스**는 6,000페이지이고, 이후 매주 변경된 페이지를 갱신합니다. - 뉴스와 블로그 글 400,000건의 **연구 코퍼스**는 500,000페이지(US$50)에 들어갑니다. 크레딧은 만료되지 않으므로, 일회성 크롤링을 위해 산 팩도 이후 작업에 남은 가치를 그대로 유지합니다. ## URL to Markdown API는 얼마인가요? 2026년 10월 기준으로 10,000페이지은 US$3.75, 100,000페이지는 US$21.75, 1,000,000페이지는 US$74.25입니다. 실패한 페이지와 robots.txt에서 거부된 페이지는 무료입니다. [모든 팩 보기](https://webreaderapi.com/ko/pricing/). | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 볼륨 | 1,000,000페이지 | US$74.25 | US$0.07/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## URL to Markdown API: 자주 묻는 질문 ### Markdown에 표와 코드 블록이 유지되나요? 네. HTML 표는 Markdown 표가 되고, 코드 블록은 페이지가 언어를 표시한 경우 그 언어와 함께 펜스로 유지됩니다. 병합된 셀이 있는 표처럼 아주 복잡한 표는 행 단위로 평탄화됩니다. ### 본문 대신 페이지 전체를 받을 수 있나요? 네. `main_content=false`을 설정하면 API가 내비게이션과 푸터를 포함해 페이지의 모든 요소를 변환합니다. 본문 감지기가 유용한 부분을 버릴 홈페이지, 카테고리 페이지, 상품 목록에 적합합니다. ### 모델의 컨텍스트 윈도 안에 페이지를 어떻게 유지하나요? `max_chars`에 1,000에서 500,000 사이의 값을 넣어 Markdown을 지정한 길이로 자르세요. `word_count` 필드가 전체 글의 길이를 알려주므로 에이전트가 더 읽을지 판단할 수 있습니다. ### 로그인이나 페이월 뒤의 페이지를 읽을 수 있나요? 아니요. WebReaderAPI은 공개 페이지만 읽습니다. 계정에 로그인하지 않고 페이월이나 차단을 우회하려고 시도하지도 않습니다. 그런 페이지는 사이트의 거부를 반환하며 요금을 청구하지 않습니다. ### 키를 받으려면 신분증이나 카드가 필요한가요? 아니요. WebReaderAPI은 신분증, 셀피, 회사 서류, 카드를 요구하지 않습니다. 계정 번호로 로그인, 이메일은 선택 사항. BTC, USDT, USDC, ETH, SOL, LTC로 US$25에서 충전합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹 리더 API로 무엇을 만들 수 있나요? > 팀들이 웹 리더 API로 만드는 것: AI 에이전트용 페치 도구, RAG 인제스트, 페이지 변경 모니터링, 웹사이트를 Markdown으로 내보내기. US$0.07/1K 페이지부터. - URL: https://webreaderapi.com/ko/use-cases/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 깨끗한 페이지 텍스트로 사람들이 하는 일의 대부분은 네 가지 작업으로 요약됩니다. 에이전트에게 읽을 방법을 주고, 지식 베이스를 채우고, 페이지 변경을 지켜보고, 사이트 콘텐츠를 Markdown으로 옮기는 것입니다. 각각 코드와 비용이 담긴 자체 페이지가 있습니다. **빠른 답변 — 웹 리더 API는 무엇에 쓰나요?** 팀들은 웹 리더 API로 AI 에이전트에 페치 도구를 제공하고, 사이트를 RAG 인덱스로 인제스트하고, 공개 페이지의 변경을 모니터링하고, 본인 웹사이트를 Markdown으로 변환합니다. **WebReaderAPI** 하나의 키로 네 가지를 모두 커버합니다: 페이지당 `/read`, 목록은 `/batch`, 사이트는 `/crawl`, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1크레딧입니다. KYC 없이, 암호화폐로 결제하세요. ## 어떤 사용 사례가 당신의 것인가요? - **[AI 에이전트](https://webreaderapi.com/ko/use-cases/ai-agents/)** — Claude, Cursor, OpenClaw, n8n 또는 자체 에이전트를 위한 read_url 도구로, 페이지당 길이 상한이 있습니다. - **[RAG 인제스천](https://webreaderapi.com/ko/use-cases/rag/)** — 문서와 블로그를 제목과 소스 URL을 유지한 Markdown 청크로 크롤링합니다. - **[변경 모니터링](https://webreaderapi.com/ko/use-cases/monitoring/)** — 가격 페이지, 정책, 체인지로그를 일정에 따라 읽고 차이를 텍스트로 받습니다. - **[웹사이트를 Markdown으로 변환](https://webreaderapi.com/ko/use-cases/website-to-markdown/)** — 마이그레이션, 백업 또는 자체 어시스턴트를 위해 본인 사이트를 Markdown 파일로 내보냅니다. - **[PDF](https://webreaderapi.com/ko/pdf-to-markdown-api/)** — 링크에서 보고서, 논문, 매뉴얼을 Markdown 텍스트로 변환합니다. - **[llms.txt](https://webreaderapi.com/ko/guides/llms-txt-generator/)** — 크롤링으로 본인 사이트의 llms.txt 파일을 페이지당 한 줄로 작성합니다. ## 각 사용 사례에는 어떤 endpoint가 필요하고 페이지 수는 얼마나 되나요? 첫 팩의 규모를 정하기 위한 소규모 팀의 일반적인 사용량입니다. 페이지당 1크레딧, 브라우저가 필요한 페이지는 2크레딧입니다. | 사용 사례 | 엔드포인트 | 월별 일반 페이지 수 | | --- | --- | --- | | 작업당 5페이지, 하루 100작업을 읽는 에이전트 | `/read` | 약 15,000 | | 문서 사이트 3개의 RAG 인덱스, 매주 갱신 | `/crawl`, 이후 `/batch` | 구축 시 6,000, 이후 주당 수백 | | 경쟁사 및 정책 페이지 200개를 매일 모니터링 | `/batch` | 약 6,000 | | 2,000페이지 사이트를 한 번 내보내기 | `/crawl` | 2,000 크레딧, 1회 결제 | ## 이 네 가지 작업의 공통 문제는 무엇인가요? 모두 페이지의 레이아웃이 아니라 읽을 수 있는 본문이 필요하다는 점입니다. 에이전트는 메뉴에 토큰을 낭비하고, 인덱스는 반복되는 머리말과 꼬리말에 순위를 매기고, 변경 모니터는 광고가 바뀔 때 잘못된 알림을 보내고, 마이그레이션은 쿠키 배너까지 새 사이트로 복사합니다. 본문 추출은 이 모든 경우에 같은 문제를 해결합니다. 한계도 같습니다. 로그인이나 유료 결제 뒤에 있는 페이지는 접근할 수 없고, robots를 거부하는 사이트는 건너뛰며 과금하지 않습니다. 우리는 robots.txt를 준수합니다. 크롤러는 WebReaderAPI로 자신을 식별하고, 자신 또는 모든 로봇을 위해 작성된 규칙을 따르며, 사이트가 허용하지 않은 페이지는 읽지 않습니다. 거부된 페이지는 과금되지 않습니다. ## /read, /batch, /crawl 중에서 어떻게 선택하나요? 작업을 해내는 가장 작은 도구를 쓰면 됩니다. - **`/read`**은 페이지 한 개를 동기적으로 반환합니다. 다음에 무엇을 읽을지 페이지 단위로 판단하는 에이전트에 적합합니다. - **`/batch`**은 이미 알고 있는 최대 100개의 URL을 백그라운드 작업으로 읽습니다. 모니터링 목록과 갱신 작업에 적합합니다. - **`/crawl`**은 시작 URL에서 사이트맵과 robots.txt를 따라 최대 10,000페이지까지 사이트 전체를 탐색하고 읽습니다. 최초 구축과 내보내기에 적합합니다. 세 가지 모두 `format`, `main_content`, `render`, `max_chars` 같은 동일한 옵션을 받고 과금 방식도 같습니다. ## 첫 프로젝트 비용은 얼마나 드나요? 대부분의 첫 프로젝트는 작은 팩 하나로 충분합니다. 프로토타입 에이전트, 문서 인덱스 하나, 수백 페이지 규모의 모니터링 목록은 월 몇천에서 15,000 크레딧 정도를 사용합니다. 2026년 10월 기준으로 10,000페이지은 US$3.75, 50,000페이지은 US$14.25입니다. 크레딧은 만료되지 않으므로, 성장 가능성이 있는 프로젝트를 위해 더 큰 팩을 사도 한산한 달에 추가 비용이 들지 않습니다. 실패한 페이지와 robots.txt가 거부한 페이지는 무료입니다. ## 첫 프로젝트를 위한 팩 작게 시작하세요. 크레딧은 만료일 없이 이월됩니다. 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 사용 사례: 자주 묻는 질문 ### 하나의 키로 여러 프로젝트를 쓸 수 있나요? 네, 또는 프로젝트마다 키를 하나씩 만들어 사용량을 따로 확인하고 다른 키에 영향 없이 하나만 폐기할 수 있습니다. 여러 API 키를 만들 수 있습니다. 예를 들어 에이전트나 프로젝트별로 하나씩 만들고, 대시보드에서 원하는 키를 폐기할 수 있습니다. ### 어떤 사용 사례에 JavaScript 렌더링이 필요한가요? 최신 웹 앱, 단일 페이지 문서 사이트, 첫 응답 이후에 콘텐츠를 불러오는 페이지를 읽는 모든 경우입니다. `render=auto`을 사용하면 원본 HTML에 텍스트가 너무 적을 때만 API가 렌더링합니다. ### WebReaderAPI가 적합하지 않은 사용 사례도 있나요? 네. 사적인 개인의 개인정보 수집, 로그인이나 유료 결제 뒤의 콘텐츠 읽기, 사이트의 거부를 우회해야 하는 모든 작업입니다. [이용 정책](https://webreaderapi.com/ko/acceptable-use/)에 규칙이 나와 있습니다. ### 시작하려면 신분증이 필요한가요? 아니요. WebReaderAPI은 신분증, 셀피, 서류를 요구하지 않습니다. 충전은 US$25부터 가능하며 BTC, USDT, USDC, ETH, SOL, LTC로 결제합니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # AI 에이전트용 웹 fetch 도구: 페이지를 깔끔한 Markdown으로 읽기 > AI 에이전트용 웹 fetch 도구: MCP, OpenAI tools, LangChain, n8n을 통해 모든 공개 페이지를 길이 제한과 함께 Markdown으로 읽기, US$0.07/1K 페이지부터. 암호화폐. - URL: https://webreaderapi.com/ko/use-cases/ai-agents/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 검색은 되지만 읽지는 못하는 에이전트는 스니펫에서 답을 꺼냅니다. 모든 공개 URL을 짧고 깔끔한 Markdown으로 바꿔 주는 도구를 주면, 정한 예산 안에서 소스를 읽고 인용하고 출처를 밝힐 수 있습니다. **빠른 답변 — AI 에이전트에게 웹 fetch 도구를 주는 가장 좋은 방법은 무엇인가요?** 웹 reader API를 URL을 받아 페이지의 본문을 정해진 길이로 잘라 Markdown으로 반환하는 도구로 감싸세요. **WebReaderAPI**이 읽기를 수행하고, 필요하면 JavaScript를 렌더링하며, robots.txt를 준수하고, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 크레딧 하나를 청구합니다. 바로 쓸 수 있는 도구 코드가 MCP, OpenAI function calling, LangChain, n8n, OpenClaw를 지원합니다. KYC 없이; 암호화폐. ## 에이전트 도구로서의 WebReaderAPI | 속성 | 값 | | --- | --- | | 도구 | `read_url(url, max_chars)`이 `https://webreaderapi.com/api/v1/read`를 호출 | | 반환값 | 본문의 Markdown과 제목, 작성자, 날짜, 단어 수 | | 길이 제한 | `max_chars`, 페이지당 1,000~500,000자 | | JavaScript 페이지 | 페이지에 필요할 때 헤드리스 브라우저에서 JavaScript 렌더링 (render=auto), 또는 항상, 또는 절대 하지 않습니다 | | 거부 | 명확한 오류로 반환되며 요금 청구 없음 | | 연동 | [MCP](https://webreaderapi.com/ko/docs/mcp/), [OpenAI](https://webreaderapi.com/ko/docs/openai/), [LangChain 및 LlamaIndex](https://webreaderapi.com/ko/docs/langchain/), [n8n](https://webreaderapi.com/ko/docs/n8n/), [OpenClaw](https://webreaderapi.com/ko/docs/openclaw/) | | 가격 | 10,000페이지당 US$3.75; 크레딧은 만료되지 않습니다 | ## 에이전트에 원시 HTML이 아니라 리더가 필요한 이유는 무엇인가요? 원시 HTML은 모델에 필요 없는 것들로 컨텍스트 윈도를 소모하기 때문입니다. 뉴스 기사나 문서 페이지는 내비게이션, 스크립트, 동의 배너, 관련 링크에 둘러싸여 도착합니다. 그대로 넘기면 대화 공간을 잡아먹고 모델이 메뉴를 인용하게 만듭니다. 리더는 세 가지 문제를 한 번에 해결합니다. 본문만 남기고, JavaScript가 실행되기 전까지 비어 있는 페이지를 렌더링하며, PDF를 텍스트로 변환합니다. 에이전트는 인용할 수 있는 제목과 날짜가 붙은 하나의 간결한 Markdown 블록을 받습니다. ## 내장 fetch 도구가 때때로 실패하는 이유는 무엇인가요? 대부분 사이트가 자동화 트래픽을 거부하기 때문입니다. 2025년 7월 1일부터 Cloudflare는 신규 도메인에 대해 AI 크롤러를 기본 차단하며, 2026년 9월 15일부터는 그 프리셋이 신규 도메인의 광고 지원 페이지에서 "Agent" 트래픽을 차단합니다. 코딩 에이전트와 어시스턴트의 내장 도구도 다른 클라이언트와 마찬가지로 이러한 거부에 부딪힙니다. 다른 실패는 기술적인 것입니다. 2026년 10월 22일에 확인한 OpenClaw 문서에 따르면, OpenClaw의 내장 web_fetch는 Readability로 콘텐츠를 추출하고, JavaScript를 실행하지 않으며, 출력을 20,000자로 제한합니다. 브라우저에서 생성되는 페이지, 긴 문서, 느린 서버, rate limit 모두 이러한 도구를 막습니다. 페이지를 렌더링하는 리더는 JavaScript 문제를 해결하고, 캐싱과 인내심이 나머지를 해결합니다. 거부는 사이트 소유자의 권한입니다. [web fetch 403 오류 가이드](https://webreaderapi.com/ko/guides/web-fetch-403-errors/)에서 각 경우를 설명합니다. ## 도구 이름이 web_fetch가 아니라 read_url인 이유는 무엇인가요? 에이전트가 이미 가진 도구와의 충돌을 피하기 위해서입니다. Claude Code와 OpenClaw 모두 `web_fetch`라는 내장 도구를 제공합니다. 같은 이름의 두 번째 도구는 모델이 어느 것을 호출하는지에 대해 혼란을 줍니다. 저희 도구를 `read_url`로 이름 지어 두 가지를 모두 사용할 수 있게 했습니다. 에이전트는 빠른 확인에는 내장 fetcher를, 깔끔한 Markdown, PDF, JavaScript 페이지가 필요할 때는 `read_url`를 사용할 수 있습니다. 저희 문서 페이지의 도구 정의는 모두 이 이름을 사용하므로, 프롬프트를 바꾸지 않고 프레임워크 사이를 전환할 수 있습니다. *Python: 길이 제한이 있는 간결한 read_url 도구* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read_url(url: str, max_chars: int = 12000) -> str: """Return a web page as Markdown for a model, or a short reason it was not read.""" resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90) data = resp.json() if resp.status_code != 200: err = data.get("error", {}) return "Not read (" + err.get("code", "error") + "): " + err.get("message", "") head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"] if data.get("published_at"): head += " | Published: " + data["published_at"] return head + "\n\n" + data["markdown"] if __name__ == "__main__": print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500]) ``` ## 에이전트는 무엇을 읽을지 어떻게 결정해야 하나요? 예산과 규칙을 주세요. 세 가지 습관이 비용과 컨텍스트를 관리합니다: - **적게, 잘 읽기.** 질문당 2~4개의 소스면 인용과 함께 답하기에 보통 충분합니다. - **페이지마다 제한 두기.** `max_chars`을 약 10,000~15,000자로 시작하고, 답이 더 아래에 있을 가능성이 `word_count`에서 보일 때만 늘리세요. - **거부를 보고하기.** 페이지를 읽지 못하면 모델이 그렇게 말하고 재시도 대신 다른 소스로 넘어가게 하세요. 위 도구는 거부를 한 문장으로 반환하므로, 모델이 사용자에게 설명할 수 있습니다. ## WebReaderAPI에서 에이전트를 운영하는 비용은 얼마인가요? 페이지당 1 크레딧, 브라우저가 필요한 페이지는 2 크레딧입니다. 하루 100개의 질문에 답하고 각 질문마다 4페이지를 읽는 어시스턴트는 한 달에 약 12,000페이지를 읽습니다. 2026년 10월 기준으로 50,000페이지(US$14.25)이면 4개월을 커버합니다. 크레딧은 만료되지 않으므로, 한 주는 바쁘고 다음 주는 한가한 에이전트가 월간 할당량을 낭비하지 않습니다. 실패한 페이지와 robots.txt가 거부한 페이지는 비용이 없습니다. ## 어떤 팩이 에이전트에 적합한가요? 프로토타입은 10,000페이지으로; 에이전트가 실제 사용자를 서비스할 때는 50,000페이지이나 100,000페이지로 이동하세요. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## AI 에이전트: 자주 묻는 질문 ### WebReaderAPI를 Claude Desktop이나 Cursor에 추가할 수 있나요? 네, `read_url`을 노출하는 작은 MCP 서버를 통해 가능합니다. [MCP 페이지](https://webreaderapi.com/ko/docs/mcp/)에 코드와 구성 스니펫이 있으며, API 키는 환경 변수에 보관됩니다. ### OpenClaw와 함께 작동하나요? 네, OpenClaw의 내장 web_fetch 옆에 MCP 서버로 작동합니다. [OpenClaw 페이지](https://webreaderapi.com/ko/docs/openclaw/)는 OpenClaw 자체 문서의 명령을 보여줍니다. ### 에이전트가 AI 봇을 차단하는 페이지를 읽을 수 있나요? 아니요. robots.txt가 페이지를 허용하지 않으면 API는 `blocked_by_robots`을 반환하고, 사이트가 거부하면 사이트의 상태와 함께 `target_refused`을 반환합니다. 어느 쪽도 청구되지 않으며, 저희는 거부를 우회하려고 시도하지 않습니다. ### 긴 페이지가 컨텍스트 윈도를 채우는 것을 어떻게 막나요? `max_chars`을 설정하세요. Markdown이 그 길이에서 잘리고, `word_count`이 전체 페이지 길이를 에이전트에 알려주므로 필요할 때만 더 요청할 수 있습니다. ### 카드나 신분증이 필요한가요? 아니요. WebReaderAPI는 신분증, 셀카, 서류, 카드를 요구하지 않습니다. 결제는 BTC, USDT, USDC, ETH, SOL, LTC로 하며, 최소 충전액은 US$25입니다. ## 출처 1. [보도자료: AI 크롤러 기본 차단](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [블로그: AI 크롤러와 에이전트를 위한 새로운 기본값](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [웹 fetch 도구](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹사이트 변경 모니터링: 공개 페이지를 깔끔한 Markdown으로 diff > 공개 웹페이지의 변경을 모니터링하세요: 가격 페이지, 정책, 체인지로그를 정해진 일정에 Markdown으로 읽고, 텍스트를 diff하여 알림을 받습니다. US$0.07/1K 페이지부터. - URL: https://webreaderapi.com/ko/use-cases/monitoring/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 원시 HTML을 비교하면 광고나 토큰이 바뀔 때마다 알림이 발생합니다. 본문을 Markdown으로 비교하면 독자가 알아차릴 것만 표시됩니다: 새 가격, 수정된 조항, 새로운 체인지로그 항목. **빠른 답변 — 웹페이지의 콘텐츠 변경을 어떻게 모니터링할 수 있나요?** 각 페이지를 정해진 일정에 본문의 Markdown으로 읽고, 텍스트를 저장하여 이전 버전과 비교하세요; 텍스트가 변경될 때만 알림을 보냅니다. **WebReaderAPI**는 배치 작업당 최대 100개의 URL을 읽고, 광고와 메뉴를 제거하여 거짓 경보를 일으키지 않으며, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1 크레딧을 청구합니다. KYC 없이; 암호화폐로 결제. ## WebReaderAPI으로 모니터링 | 속성 | 값 | | --- | --- | | 엔드포인트 | `POST https://webreaderapi.com/api/v1/batch`, 그다음 `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | 배치 크기 | 배치 작업당 최대 100개의 URL | | 비교 대상 | 광고, 메뉴, 배너를 제외한 본문의 Markdown | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 예시 분량 | 매일 200페이지 확인 = 한 달에 약 6,000페이지 | | 가격 | 10,000페이지당 US$3.75; 크레딧은 만료되지 않습니다 | ## 무엇을 모니터링할 가치가 있나요? 비즈니스에 중요한 문구가 들어 있고 예고 없이 바뀌는 페이지입니다: - **가격 페이지**: 공급업체와 경쟁사가 새 요금제와 가격 변동을 내놓는지 확인할 수 있습니다. - **이용약관, 개인정보 처리방침, 환불 정책**: 의존하고 있는 조항이 바뀌는지 잡아낼 수 있습니다. - **변경 로그와 릴리스 노트**: 의존하는 도구의 호환성 깨지는 변경(breaking change)에 대응할 수 있습니다. - **문서 페이지**: 제품이 연결해 둔 안내가 끊기면 빠르게 고칠 수 있습니다. - **공지 사항**: 해당 분야 규제 기관이나 표준 기구의 공지를 확인할 수 있습니다. 목록은 공개 페이지로 한정하세요. 개인 프로필과 로그인 뒤에 있는 페이지는 범위 밖입니다. ## HTML 대신 Markdown을 비교하는 이유는 무엇인가요? HTML은 콘텐츠가 그대로여도 항상 바뀌기 때문입니다. 돌아가며 노출되는 광고, 세션 토큰, 푸터의 타임스탬프, A/B 테스트 마크업 때문에 같은 페이지를 두 번 불러와도 달라집니다. HTML로 diff를 뜨면 이런 노이즈가 전부 알림이 되고, 사람들은 결국 알림을 읽지 않게 됩니다. 본문 추출을 거친 Markdown은 비교하기 전에 노이즈를 대부분 걷어냅니다. 남는 것은 사람이 읽는 텍스트, 곧 제목, 문단, 목록, 표입니다. 이 텍스트의 diff는 짧고 읽기 쉬워서 알림으로 보낼 가치가 있습니다. *Python: 페이지 목록을 확인하고 바뀐 내용을 출력하기* ```python import difflib import json import os import pathlib import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} STORE = pathlib.Path("snapshots.json") URLS = [ "https://example.com/pricing", "https://example.com/legal/terms", "https://example.com/changelog", ] old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {} job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json() results, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() results += page.get("results", []) cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) new = dict(old) for item in results: if "markdown" not in item: print("not read:", item["url"], item.get("error", {}).get("code")) continue before = old.get(item["url"], "") if before and before != item["markdown"]: diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0) print("CHANGED:", item["url"]) print("\n".join(list(diff)[:40])) new[item["url"]] = item["markdown"] STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8") ``` ## 얼마나 자주, 얼마나 예의 있게 확인해야 하나요? 페이지가 실제로 바뀌는 만큼만 확인하고, 그보다 자주 하지 마세요. 가격 페이지와 변경 로그에는 매일이 맞고, 정책과 문서에는 매주가 맞습니다. 한 시간마다 읽는 페이지는 하루에 한 번 읽는 것보다 더 알려주는 게 거의 없으면서 비용은 24배가 듭니다. WebReaderAPI은 모든 페이지에 대해 robots.txt를 따르고, 크롤링 작업에서는 사이트의 `Crawl-delay`을 존중합니다. 사이트가 허용하지 않는 페이지는 건너뛰고 요금도 부과하지 않으므로, 엄격한 사이트는 그냥 리포트에서 빠집니다. robots를 거부하는 페이지에 접근해야 한다면 사이트 소유자에게 문의하세요. ## 모니터링 비용은 얼마인가요? 확인 1회당 페이지 1크레딧입니다. 2026년 10월 가격 기준 예시는 다음과 같습니다: - **50페이지, 매일:** 한 달에 약 1,500페이지. 10,000페이지(US$3.75)이면 6개월 넘게 쓸 수 있습니다. - **200페이지, 매일:** 한 달에 약 6,000페이지. 50,000페이지(US$14.25)이면 약 8개월 쓸 수 있습니다. - **1,000페이지, 매주:** 한 달에 약 4,300페이지로, 앞의 경우와 비슷합니다. 브라우저가 필요한 페이지는 2크레딧을 씁니다. 일반 HTML인 게 확실한 페이지에는 `render=false`를 설정해서 1크레딧으로 유지하세요. ## 모니터링에는 어떤 팩이 맞나요? 페이지 수에 월별 확인 횟수를 곱한 다음, 몇 달은 버티는 팩을 고르세요. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 변경 모니터링: 자주 묻는 질문 ### WebReaderAPI가 알림을 보내나요? 아니요. 페이지를 읽어 Markdown으로 반환할 뿐이고, 스크립트가 버전을 비교해 이메일, 채팅, 티켓으로 알림을 보냅니다. 위 코드는 바뀐 줄을 출력하는 출발점입니다. ### 날짜와 카운터 때문에 생기는 오탐은 어떻게 피하나요? diff를 뜨기 전에 HTML이 아니라 본문 추출 Markdown을 비교하고, "5분 전 업데이트"처럼 매번 로드마다 바뀌는 걸 아는 줄은 미리 걷어내세요. 대부분의 회전 요소는 본문 추출 단계에서 이미 제거됩니다. ### JavaScript가 필요한 페이지도 모니터링할 수 있나요? 네. `render=auto`을 쓰면 JavaScript 없이는 비어 있는 페이지를 브라우저에서 렌더링하며 2크레딧을 씁니다. JavaScript 없이도 동작하는 페이지는 1크레딧 그대로입니다. ### 페이지 목록이 아니라 사이트 전체를 모니터링할 수 있나요? 네. batch 대신 크롤링 작업을 실행한 뒤 페이지별로 비교하세요. 규모가 큰 사이트라면 먼저 sitemap의 `lastmod` 날짜를 비교하고, 바뀐 페이지만 다시 읽으세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # RAG용 웹페이지: 사이트를 깔끔하고 청크로 나누기 쉬운 Markdown으로 바꾸기 > 웹페이지로 RAG 파이프라인을 채우세요: 문서와 블로그를 크롤링해 깔끔한 Markdown으로 만들고, 제목 기준으로 청크를 나누고, 출처 URL을 유지합니다. US$0.07/1K 페이지부터, KYC 없이, 암호화폐 결제. - URL: https://webreaderapi.com/ko/use-cases/rag/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 검색은 색인에 넣은 것에 따라 결과가 달라집니다. 제목, 메타데이터, 출처 URL이 붙은 깔끔한 Markdown은 더 좋은 청크를 만들고, 토큰 낭비를 줄이며, 출처 페이지를 인용할 수 있는 답변을 줍니다. **빠른 답변 — 웹페이지를 RAG 파이프라인에 어떻게 넣나요?** 각 페이지를 본문 Markdown으로 읽고, 제목 기준으로 나누고, 모든 청크에 출처 URL과 제목을 붙인 뒤 임베딩해서 저장하세요. **WebReaderAPI**이 읽기 작업을 처리합니다. 페이지마다 요청 하나, 또는 최대 10,000페이지짜리 사이트 전체를 크롤링 작업 하나로 처리하며, 2026년 10월 기준 US$0.07/1K 페이지부터 페이지당 1크레딧입니다. robots.txt를 준수합니다. KYC 없이, 암호화폐로 결제하세요. ## WebReaderAPI으로 RAG 인제스트 | 속성 | 값 | | --- | --- | | 사이트 전체 | `POST https://webreaderapi.com/api/v1/crawl`: 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다 | | URL 목록 | `POST https://webreaderapi.com/api/v1/batch`: 배치 작업당 최대 100개의 URL | | 페이지당 | 본문 Markdown, 제목, 작성자, 날짜, 언어, 단어 수 | | PDF | 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다 | | 과금 | 1 크레딧 = 브라우저 없이 페이지 1회 읽기, 페이지가 JavaScript를 렌더링하는 데 브라우저가 필요하면 2 크레딧. 실패한 요청이나 사이트의 robots.txt가 거부한 요청은 과금되지 않습니다 | | 가격 | 50,000페이지에 US$14.25; 크레딧은 만료되지 않습니다 | ## 깔끔한 Markdown이 검색 품질을 높이는 이유는 무엇인가요? 보일러플레이트로 만든 청크는 검색이 잘 안 됩니다. 페이지를 나눌 때 메뉴, 쿠키 문구, 푸터가 그대로 남아 있으면 많은 청크가 똑같은 내비게이션 단어를 담게 되고, 벡터 검색은 관련 없는 질문에도 이런 청크를 돌려줍니다. 본문 추출은 임베딩하기 전에 그 노이즈를 걷어냅니다. 제목도 똑같이 중요합니다. `## Refund policy`으로 시작하는 청크는 주제를 함께 지니고 있어서, 임베딩할 때와 나중에 읽는 모델 모두 이 청크가 무엇에 관한 것인지 알 수 있습니다. 순수 텍스트는 이 신호를 잃고, 원본 HTML은 마크업에 가려 숨깁니다. ## 인제스트 파이프라인은 어떻게 구성하나요? 어떤 벡터 스토어를 쓰든 다섯 단계입니다: 1. **URL 수집.** 사이트를 크롤링하거나, 이미 가지고 있는 목록을 배치로 보냅니다. 2. **Markdown으로 변환.** 아티클과 문서에는 `main_content=true`을 유지하고, 목록 페이지에는 `false`을 사용합니다. 3. **헤딩 기준으로 청킹.** `#`, `##`, `###`를 기준으로 나누고, 긴 섹션은 크기 제한에 맞게 약간의 오버랩을 두고 자릅니다. 4. **메타데이터 첨부.** 각 청크에 `url`, `title`, `published_at`과 헤딩 경로를 저장해, 답변이 출처를 인용할 수 있게 합니다. 5. **새로고침.** sitemap의 `lastmod`이 바뀐 페이지만 다시 읽고, 이제 에러를 반환하는 페이지의 청크는 삭제합니다. *Python: 페이지를 읽고 출처와 함께 청크로 분할하기* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} URLS = [ "https://docs.example.com/getting-started", "https://docs.example.com/billing", ] def chunks_for(url, max_len=2000): page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json() if "markdown" not in page: return [] out = [] for section in re.split(r"\n(?=#{1,3} )", page["markdown"]): section = section.strip() heading = section.splitlines()[0] if section else "" for start in range(0, len(section), max_len): out.append({ "text": section[start:start + max_len], "url": page.get("final_url", url), "title": page.get("title"), "heading": heading, }) return out all_chunks = [c for u in URLS for c in chunks_for(u)] print(len(all_chunks), "chunks ready to embed") ``` ## 인덱스를 구축하고 새로고침하는 데 비용이 얼마나 드나요? 구축은 페이지당 1크레딧, 브라우저가 필요한 페이지는 2크레딧입니다. 새로고침은 다시 읽는 페이지만 과금됩니다. 2026년 10월 가격 기준 세 가지 예시입니다: - **제품의 헬프 센터** 800페이지, 변경된 페이지(약 10%)만 월 1회 새로고침: 처음 800크레딧, 이후 월 약 80크레딧. 10,000페이지(US$3.75)이면 몇 년간 충분합니다. - **문서 사이트 10개**, 각 2,000페이지, 5%만 주 1회 새로고침: 20,000크레딧, 이후 월 약 4,000크레딧. 50,000페이지(US$14.25)이면 구축과 7개월치 새로고침을 커버합니다. - **변하지 않는 뉴스 아카이브** 300,000개 아티클: 처음 300,000크레딧, 500,000페이지(US$50)에 들어갑니다. 임베딩과 스토리지는 사용하시는 자체 제공업체에서 과금되며 포함되지 않습니다. ## 인덱싱을 원하지 않는 사이트도 인덱싱할 수 있나요? WebReaderAPI으로는 불가능합니다. robots.txt에서 우리 크롤러 또는 모든 로봇에 대해 금지된 페이지는 건너뛰며 과금되지 않습니다. `Content-Signal: ai-input=no`을 선언한 사이트는 읽어드리지 않습니다. 로봇을 차단하는 자체 사이트나 파트너 사이트의 경우, 소유자에게 robots.txt에서 `WebReaderAPI`을 허용해 달라고 요청하세요. [크롤러 페이지](https://webreaderapi.com/ko/bot/)에 추가할 줄이 나와 있습니다. 이 점은 사용자에게도 중요합니다. 출처를 인용하는 RAG 어시스턴트는 그 출처가 읽히는 데 동의했을 때 더 유용합니다. ## RAG 프로젝트에는 어떤 팩이 맞나요? 인덱스 구축에 필요한 페이지 수를 세고, 월별 새로고침을 더한 뒤, 몇 달치를 커버하는 팩을 고르세요. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | | 확장 | 500,000페이지 | US$50 | US$0.10/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## RAG 인제스션: 자주 묻는 질문 ### 청크 크기는 얼마로 해야 하나요? 먼저 헤딩 기준으로 나누고, 약 500~1,000 토큰보다 긴 섹션은 약간의 오버랩을 두고 자르세요. 헤딩 기반 청크는 주제 하나씩을 담아서, 보통 페이지 전체를 고정 크기로 나눈 것보다 검색 품질이 좋습니다. ### WebReaderAPI이 임베딩을 만들거나 벡터를 저장하나요? 아니요. WebReaderAPI은 페이지를 읽고 메타데이터가 포함된 Markdown을 반환합니다. 임베딩은 원하는 모델로 직접 하고, 자체 벡터 데이터베이스에 저장하세요. [LangChain 및 LlamaIndex 페이지](https://webreaderapi.com/ko/docs/langchain/)에서 두 가지 방법을 모두 보여줍니다. ### 인덱스를 최신 상태로 유지하려면 어떻게 하나요? 변경된 페이지만 다시 읽으세요. 대부분의 sitemap은 URL마다 `lastmod` 날짜를 담고 있으니, 마지막으로 읽은 날짜와 비교해서 변경된 URL을 배치로 보내세요. 이제 실패하는 페이지는 인덱스에서 제거해야 합니다. ### 같은 사이트의 PDF도 포함할 수 있나요? 네. 크롤링은 같은 도메인의 PDF 링크를 동일한 robots.txt 검사와 함께 읽습니다. 최대 20 MB, 100페이지까지의 PDF 파일이 Markdown으로 변환되며, 시작된 10페이지 블록당 1 크레딧입니다. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요. --- # 웹사이트를 Markdown으로 변환: 크롤링하고 모든 페이지 내보내기 > 웹사이트를 Markdown 파일로 변환하세요: 자체 사이트를 크롤링해서 각 페이지를 front matter와 함께 내보냅니다. 마이그레이션, 백업, 또는 자체 어시스턴트용. KYC 없이. - URL: https://webreaderapi.com/ko/use-cases/website-to-markdown/ - 마지막 업데이트: 2026-10-22 - 발행자: WebReaderAPI (https://webreaderapi.com) 정적 사이트 생성기, 문서 플랫폼, 지식 베이스로 옮길 때 흔히 한 가지 질문부터 시작합니다. 내 페이지를 어떻게 깔끔한 Markdown으로 꺼낼 수 있을까? 크롤링 한 번이면 제목, 날짜, URL을 front matter에 담아 해결됩니다. **빠른 답변 — 웹사이트 전체를 Markdown으로 변환하려면 어떻게 하나요?** 사이트를 크롤링하고, 각 페이지의 본문을 Markdown으로 읽고, 페이지마다 제목, URL, 날짜를 front matter에 담아 `.md` 파일 하나씩 작성합니다. **WebReaderAPI**은 작업당 최대 10,000페이지를 크롤링하고, sitemap과 robots.txt를 따르며, 2026년 10월 기준 US$0.07/1K 페이지에서 페이지당 1크레딧을 과금합니다. 아래 Python 스크립트가 파일을 작성합니다. KYC 없이 암호화폐로 결제하세요. ## WebReaderAPI으로 웹사이트 내보내기 | 속성 | 값 | | --- | --- | | 엔드포인트 | `POST https://webreaderapi.com/api/v1/crawl`, 출처 `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | 범위 | 작업당 웹사이트 하나를 크롤링하며, 최대 10,000페이지까지 사이트맵, robots.txt 및 Crawl-delay를 따릅니다 | | 페이지당 | 본문의 Markdown, 그리고 제목, 설명, 작성자, 날짜, 언어 | | 페이지 전체 | `main_content=false`은 필요할 때 내비게이션과 푸터를 유지합니다 | | 사용하시는 robots.txt | 내보내는 페이지에 `WebReaderAPI`을 허용해야 합니다 | | 가격 | 10,000페이지당 US$3.75; 크레딧은 만료되지 않습니다 | ## Markdown 내보내기는 언제 유용한가요? 콘텐츠를 렌더링하는 시스템에서 꺼내야 할 때마다 유용합니다. 흔한 경우: - **마이그레이션.** CMS에서 페이지를 Markdown으로 저장하는 정적 사이트 생성기나 문서 플랫폼으로 옮길 때. - **백업.** 어떤 데이터베이스나 테마에도 의존하지 않는, 게시된 페이지의 읽기 가능한 아카이브. - **자체 어시스턴트.** 사이트의 텍스트를 헬프 봇이나 내부 검색에 넣을 때, 각 청크를 해당 페이지에 연결. - **감사.** 모든 페이지를 평문으로 읽어 오래된 주장, 깨진 문구, 중복 콘텐츠를 찾을 때. 어느 경우든 필요한 건 주변 테마가 아니라 단어와 구조입니다. *Python: front matter와 함께 사이트를 Markdown 파일로 크롤링하기* ```python import os import pathlib import time from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://www.example.com/" OUT = pathlib.Path("export") def target_path(url): path = urlparse(url).path.strip("/") or "index" return OUT / (path + ".md") def front_matter(page): fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""} lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""] return "\n".join(lines) job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json() cursor, delay, written = None, 5, 0 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for page in batch.get("results", []): if "markdown" not in page: continue dest = target_path(page["final_url"]) dest.parent.mkdir(parents=True, exist_ok=True) dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8") written += 1 cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print(written, "files in", OUT) ``` ## 폴더 구조와 URL은 어떻게 유지하나요? 스크립트처럼 파일 경로에 URL 경로를 그대로 반영하세요: `/guides/setup/`은 `export/guides/setup.md`이 됩니다. 원래 URL을 front matter에 `source`로 저장하면 마이그레이션 후 리다이렉트를 설정하고 아무것도 빠지지 않았는지 확인할 수 있습니다. Markdown 안의 링크는 여전히 현재 URL을 가리킵니다. 이전한 뒤 도메인이나 경로 접두사를 한 번에 바꾸고, 샘플 페이지를 테스트하세요. 표와 코드 블록은 Markdown 그대로 유지되므로 대부분의 정적 생성기가 수정 없이 렌더링합니다. ## 자체 robots.txt가 크롤러를 차단하면 어떻게 하나요? 내보내기 하는 동안 우리 토큰을 허용하세요. WebReaderAPI은 자체 사이트를 포함해 `WebReaderAPI` 또는 모든 로봇에 대해 robots.txt가 허용하는 것만 읽습니다. `Allow: /`과 함께 `User-agent: WebReaderAPI` 같은 그룹을 추가하고, 크롤링을 실행한 뒤 원하면 제거하세요. [크롤러 페이지](https://webreaderapi.com/ko/bot/)에 정확한 줄과 서버 로그에 찍힐 User-Agent가 나와 있습니다. 계속 금지된 페이지는 건너뛰며 과금되지 않습니다. ## 내보내기 비용은 얼마인가요? 페이지당 1크레딧, 텍스트를 표시하려면 브라우저가 필요한 페이지는 2크레딧입니다. 서버에서 렌더링되는 2,000페이지 사이트는 2,000크레딧 한 번이고, 같은 사이트를 JavaScript 앱으로 만들면 최대 4,000크레딧이 들 수 있습니다. 2026년 10월 기준 둘 다 US$3.75의 10,000페이지에 들어갑니다. 50,000페이지 사이트는 `include_paths`로 섹션별로 나눠 여러 작업이 필요하며, 100,000페이지(US$21.75)에 들어갑니다. 내보내기 후 남은 크레딧은 이후 새로고침을 위해 계정에 그대로 남습니다. ## 어떤 팩으로 제 내보내기를 커버하나요? 페이지 수를 세고, 사이트가 렌더링에 JavaScript를 필요로 하면 그 수를 두 배로 잡은 뒤, 그보다 한 단계 위 팩을 선택하세요. 크레딧은 만료되지 않습니다. | 플랜 | 수량 | 가격 | 단가 | | --- | --- | --- | --- | | 테스트 | 10,000페이지 | US$3.75 | US$0.38/1K 페이지 | | 스타터 | 50,000페이지 | US$14.25 | US$0.28/1K 페이지 | | 구축 | 100,000페이지 | US$21.75 | US$0.22/1K 페이지 | 모든 플랜에 포함: 본문 추출 · 필요 시 JavaScript 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음 **결제 전 확인 사항** - 최소 충전 US$25. 암호화폐로 한 번 충전한 뒤 잔액으로 모든 플랜을 구매하세요. - 잔액에는 만료 기한이 없으며 언제든지 페이지 크레딧을 구매할 수 있습니다. 팩 가격이 최소 충전 금액보다 낮은 경우, 최소 금액을 채우기 위해 추가로 충전한 금액에 한해 결제일로부터 30일 이내에 요청 시 USDT 또는 USDC로 돌려받을 수 있으며, 해당 금액을 사용하지 않은 경우에만 가능합니다. 그 외의 잔액은 법령에서 달리 정하지 않는 한 환불되지 않습니다. - 블록체인에서 결제가 확인되면 잔액에 반영됩니다. 일반적인 네트워크 확인 시간: BTC ≈ 20분 · USDT TRC-20 ≈ 1분 · USDT ERC-20 ≈ 5분 · USDC ERC-20 ≈ 5분 · ETH ≈ 5분 · SOL ≈ 1분 · LTC ≈ 15분 ## 웹사이트를 Markdown으로 변환: 자주 묻는 질문 ### 메뉴와 푸터를 포함해 페이지 전체를 내보낼 수 있나요? 네. 크롤링 옵션에서 `main_content=false`을 설정하면 각 파일이 Markdown으로 변환된 전체 페이지를 담습니다. 대부분의 마이그레이션은 새 테마가 자체 내비게이션을 제공하기 때문에 본문만 선호합니다. ### 이미지도 다운로드되나요? 아니요. `include_images=true`을 사용하면 이미지 링크가 alt 텍스트와 함께 Markdown에 남습니다. 마이그레이션에 파일 자체가 필요하면 직접 스크립트로 다운로드하세요. ### 제가 소유하지 않은 사이트도 내보낼 수 있나요? 해당 robots.txt가 허용하는 공개 페이지만, 그리고 해당 약관과 법이 허용하는 용도로만 가능합니다. 마이그레이션이나 백업의 경우 본인 소유 사이트나 소유자가 동의한 사이트만 내보내세요. ### 한 작업으로 얼마나 큰 사이트를 처리할 수 있나요? 하나의 도메인 내에서 크롤링 작업당 최대 10,000페이지까지 가능합니다. 더 큰 사이트는 `include_paths`으로 섹션별로 나누어 여러 작업으로 실행하세요. --- WebReaderAPI: WebReaderAPI는 AI 에이전트를 위한 웹 리더 API로, 모든 공개 웹페이지를 깔끔한 Markdown으로 변환하며 신분증 업로드 없이 암호화폐로 결제합니다. US$0.07/1K 페이지부터 시작하는 선불 크레딧은 만료되지 않으며, robots.txt를 준수합니다. KYC 없음 — 신분증도, 셀피도, 서류도 없습니다. 암호화폐로 결제하세요.