Firecrawl Scrape API — URL에서 콘텐츠 추출

Firecrawl Scrape API

POST /v2/scrape 엔드포인트는 단일 URL에서 콘텐츠를 markdown, HTML 등 원하는 포맷으로 추출해요. 스크래핑 기능의 핵심이라 할 수 있어요.

Python SDK 예시

from firecrawl import Firecrawl

firecrawl = Firecrawl(
  # No API key needed to get started — add one for higher rate limits:
  # api_key="fc-YOUR-API-KEY",
)

# Scrape a website:
doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])
print(doc)

cURL 예시

curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://firecrawl.dev",
    "formats": ["markdown", "html"]
  }'

주요 파라미터

ScrapeOptions 스키마에서 자주 쓰는 것들을 정리하면 이래요.

  • formats — 반환할 포맷 (markdown, html 등)
  • onlyMainContent — 헤더·네비게이션을 제외한 메인 콘텐츠만 반환
  • waitFor — 콘텐츠를 가져오기 전 지연(밀리초). Firecrawl의 smart wait에 추가되는 대기 시간. 기본값 0
  • mobile — 모바일 뷰포트로 렌더링 여부
  • fullPage — 전체 페이지 스크린샷 여부 (viewport.height 무시)
  • storeToCache — 페이지를 Firecrawl 인덱스·캐시에 저장할지
  • redactPII — 개인정보 마스킹 여부

브라우저 상호작용

페이지를 더 조작하고 싶다면 먼저 Scrape 한 뒤 POST /v2/scrape/{scrapeId}/interact를 호출해요. 자연어 프롬프트나 Playwright 코드로 클릭·타이핑·탐색·동적 콘텐츠 추출을 할 수 있어요. 복잡한 상호작용에는 actions 파라미터보다 이 방식이 권장돼요.

응답 상태

성공 시 ScrapeResponse 스키마를, 리소스가 필요하면 402, 요청이 너무 많으면 429를 반환해요. 프롬프트 인젝션 탐지를 켜면, 추출 전에 페이지 콘텐츠를 검사해 인젝션 시도가 감지되면 403으로 실패시켜요.

더 알아보기