어떤 URL에서도 깨끗한 Markdown 추출: PageBolt /extract 엔드포인트

발행: (2026년 3월 19일 오후 03:02 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

번역을 진행하려면 번역하고자 하는 본문 텍스트를 제공해 주시겠어요?
코드 블록이나 URL은 그대로 유지하고, 본문만 한국어로 번역해 드리겠습니다.

원시 HTML의 문제

AI 에이전트가 웹 페이지를 읽을 때, 원시 HTML을 LLM에 제공하면 스크립트, 광고, 네비게이션 메뉴, 푸터 및 기타 보일러플레이트를 통과해야 합니다.
일반적인 분류:

  • 스크립트 및 스타일시트 – 모델에 의해 무시됨
  • 네비게이션 메뉴 – 무시됨
  • 광고 및 트래킹 픽셀 – 무시됨
  • ≈10 KB의 보일러플레이트 – 토큰 낭비
  • ≈2 KB의 실제 콘텐츠 – 필요한 내용

에이전트가 50 KB의 HTML을 처리해 2 KB의 유용한 텍스트를 추출한다면, 토큰의 약 **96 %**가 낭비되어 비용과 지연 시간이 증가합니다.

PageBolt의 /extract 엔드포인트 소개

PageBolt은 단일 목적 API를 제공합니다:

  1. URL을 입력받습니다.
  2. 주요 기사/콘텐츠를 추출합니다.
  3. 결과를 깔끔한 Markdown(옵션 메타데이터 포함)으로 반환합니다.

응답은 어떤 LLM에도 바로 전달할 수 있도록 준비되어 있습니다.

간단한 JavaScript 예제

// fetch clean Markdown from a URL
const response = await fetch('https://api.pagebolt.com/v1/extract', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer YOUR_API_KEY`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://example.com/blog/article'
  })
});

const data = await response.json();
console.log(data.markdown);
// => "# Article Title\n\nArticle content in clean Markdown..."

LLM (Anthropic Claude)와 /extract 사용하기

const Anthropic = require('@anthropic-ai/sdk');
const client = new Anthropic();

async function summarizeResearchPaper(paperUrl) {
  // 1️⃣ Extract the paper as Markdown
  const extractResponse = await fetch('https://api.pagebolt.com/v1/extract', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.PAGEBOLT_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      url: paperUrl,
      format: 'markdown'
    })
  });

  const { markdown, title, author } = await extractResponse.json();

  // 2️⃣ Pass clean Markdown to Claude
  const message = await client.messages.create({
    model: 'claude-opus-4-5',
    max_tokens: 1024,
    messages: [
      {
        role: 'user',
        content: `Summarize this research paper in 3 bullet points:

Title: ${title}
Author: ${author}

Content:
${markdown}`
      }
    ]
  });

  return message.content[0].text;
}

// Example usage
const summary = await summarizeResearchPaper('https://arxiv.org/pdf/2406.12345');
console.log(summary);

토큰 효율성 향상

시나리오입력 토큰출력 토큰대략적인 비용*
원시 HTML (추출 없음)50,000500~$1.50
정리된 마크다운 (/extract 사용)2,000500~$0.06

*비용은 일반적인 LLM 가격을 기준으로 한 것이며, 실제 요금은 다를 수 있습니다.
정리된 마크다운을 사용하면 토큰 사용량이 ≈25× 감소하여 비용을 절감하고 응답 속도가 빨라집니다. 또한 마크다운은 텍스트 구조에 더 자연스러운 형식이므로 LLM 이해도가 향상됩니다.

일반적인 사용 사례

  • Research aggregator – 수십 개의 논문을 추출하고 요약합니다.
  • Competitive intelligence – 경쟁사 웹 페이지를 가져와 분석합니다.
  • Documentation agent – API 문서를 수집하고 개발자 질문에 답변합니다.
  • News digest – 일일 기사들을 수집하고 브리핑을 생성합니다.
  • Content curator – 블로그 게시물을 가져와 분류합니다.
  • Customer support – 헬프센터 기사들을 가져와 지원 봇을 교육합니다.

샘플 API 응답

{
  "markdown": "# Article Title\n\nArticle content...",
  "title": "Article Title",
  "author": "Author Name",
  "published_date": "2026-03-18",
  "word_count": 1200,
  "estimated_reading_time_minutes": 5
}

JSON에는 Markdown 본문과 표시하거나 저장할 수 있는 유용한 메타데이터가 포함되어 있습니다.

가격

플랜월 가격포함된 추출 수
Starter$29500
Growth$795,000
Scale$19950,000

시작하기

  1. API 키를 얻으세요pagebolt.dev/pricing에서.
  2. POST 요청을 보냅니다/extract에 대상 URL(및 선택적 매개변수)을 포함하여.
  3. 반환된 Markdown을 AI 에이전트에서 사용하세요—HTML 파싱이 필요 없습니다.

월 100회 추출을 무료로 시작하세요(신용카드 필요 없음).

이제 AI 에이전트는 URL에서 깨끗하고 LLM‑친화적인 콘텐츠로 직접 연결되는 파이프라인을 갖게 됩니다. 잡음 없이 필요한 데이터만 제공합니다.

0 조회
Back to Blog

관련 글

더 보기 »

파일 시스템이 디버깅하기 어려운 이유

동기 부여 나는 파일 시스템을 처음부터 구축하고 있다—필요해서가 아니라, 보이지 않는 것을 디버깅하는 것이 추측에 불과하기 때문이다. 파일 시스템을 이해하는 l...

블루 틱이 표시된 메시지, 그러나 도착하지 않음

소개 WhatsApp에서 메시지가 전달 및 읽음으로 표시되지만 AI 에이전트가 해당 메시지를 전혀 확인하지 못한다면, 이는 무음 메시지 손실 문제입니다. 이 기사에서는 이러한 문제에 대한 전문적인 해결책을 제시합니다.