테스트
10,000페이지
US$3.75
US$0.38/1K 페이지
- 실제 URL로 사용해 보기
- 가장 큰 팩과 동일한 API
- 크레딧은 만료되지 않음
활용 사례 · 마이그레이션과 내보내기 · /crawl
정적 사이트 생성기, 문서 플랫폼, 지식 베이스로 옮길 때 흔히 한 가지 질문부터 시작합니다. 내 페이지를 어떻게 깔끔한 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 없이 암호화폐로 결제하세요.
| 엔드포인트 | 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; 크레딧은 만료되지 않습니다 |
콘텐츠를 렌더링하는 시스템에서 꺼내야 할 때마다 유용합니다. 흔한 경우:
어느 경우든 필요한 건 주변 테마가 아니라 단어와 구조입니다.
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 경로를 그대로 반영하세요: /guides/setup/은 export/guides/setup.md이 됩니다. 원래 URL을 front matter에 source로 저장하면 마이그레이션 후 리다이렉트를 설정하고 아무것도 빠지지 않았는지 확인할 수 있습니다.
Markdown 안의 링크는 여전히 현재 URL을 가리킵니다. 이전한 뒤 도메인이나 경로 접두사를 한 번에 바꾸고, 샘플 페이지를 테스트하세요. 표와 코드 블록은 Markdown 그대로 유지되므로 대부분의 정적 생성기가 수정 없이 렌더링합니다.
내보내기 하는 동안 우리 토큰을 허용하세요. WebReaderAPI은 자체 사이트를 포함해 WebReaderAPI 또는 모든 로봇에 대해 robots.txt가 허용하는 것만 읽습니다. Allow: /과 함께 User-agent: WebReaderAPI 같은 그룹을 추가하고, 크롤링을 실행한 뒤 원하면 제거하세요.
크롤러 페이지에 정확한 줄과 서버 로그에 찍힐 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 렌더링 · 실패 및 거부된 페이지는 과금되지 않음 · 크레딧은 만료되지 않음
네. 크롤링 옵션에서 main_content=false을 설정하면 각 파일이 Markdown으로 변환된 전체 페이지를 담습니다. 대부분의 마이그레이션은 새 테마가 자체 내비게이션을 제공하기 때문에 본문만 선호합니다.
아니요. include_images=true을 사용하면 이미지 링크가 alt 텍스트와 함께 Markdown에 남습니다. 마이그레이션에 파일 자체가 필요하면 직접 스크립트로 다운로드하세요.
해당 robots.txt가 허용하는 공개 페이지만, 그리고 해당 약관과 법이 허용하는 용도로만 가능합니다. 마이그레이션이나 백업의 경우 본인 소유 사이트나 소유자가 동의한 사이트만 내보내세요.
하나의 도메인 내에서 크롤링 작업당 최대 10,000페이지까지 가능합니다. 더 큰 사이트는 include_paths으로 섹션별로 나누어 여러 작업으로 실행하세요.
US$0.07/1K 페이지부터 · KYC 없이
API 키 발급받기