Home
Login

전체 웹사이트를 LLM에 적합한 Markdown 또는 구조화된 데이터로 변환합니다. 단일 API를 통해 스크랩, 크롤링 및 추출을 수행합니다.

AGPL-3.0TypeScript 40.4kmendableaifirecrawl Last Updated: 2025-06-22

Firecrawl 프로젝트 상세 소개

프로젝트 개요

Firecrawl은 URL을 받아 크롤링하고, 깨끗한 마크다운 또는 구조화된 데이터로 변환하는 API 서비스입니다. 접근 가능한 모든 하위 페이지를 크롤링하여 각 페이지에 대한 깨끗한 데이터를 제공합니다. 사이트맵이 필요 없습니다.

핵심 기능

1. 웹 스크래핑 (Scraping)

  • 단일 URL을 스크래핑하여 LLM 준비 형식의 콘텐츠를 획득
  • 다양한 출력 형식 지원: 마크다운, 구조화된 데이터, 스크린샷, HTML
  • LLM 추출을 통해 구조화된 데이터 획득

2. 웹사이트 크롤링 (Crawling)

  • 웹페이지의 모든 URL을 크롤링하여 LLM 준비 형식의 콘텐츠를 반환
  • 사이트맵 없이 접근 가능한 모든 하위 페이지 발견
  • 사용자 정의 크롤링 깊이 및 제외 규칙 지원

3. 웹사이트 맵핑 (Map)

  • 웹사이트를 입력하여 모든 웹사이트 URL 획득 - 매우 빠른 속도
  • 특정 URL 패턴 검색 지원

4. 웹 검색 (Search)

  • 웹을 검색하고 결과에서 전체 콘텐츠 획득
  • 사용자 정의 검색 파라미터 (언어, 국가 등) 지원
  • 검색 결과에서 다양한 형식의 콘텐츠 검색 가능

5. 데이터 추출 (Extract)

  • AI를 사용하여 단일 페이지, 다중 페이지 또는 전체 웹사이트에서 구조화된 데이터 획득
  • 프롬프트 및 JSON 스키마를 통해 추출 규칙 정의 지원
  • 와일드카드 URL 패턴 지원

6. 배치 처리 (Batching)

  • 수천 개의 URL을 동시에 스크래핑하는 새로운 비동기 엔드포인트
  • 배치 스크래핑 작업을 제출하고 작업 ID를 반환하여 상태 확인

기술 특성

LLM 준비 형식

  • 마크다운: 깨끗한 문서 형식
  • 구조화된 데이터: JSON 형식의 추출 데이터
  • 스크린샷: 페이지 시각적 캡처
  • HTML: 원시 HTML 콘텐츠
  • 링크 및 메타데이터: 페이지 정보 추출

복잡한 상황 처리

  • 프록시 및 봇 방지 메커니즘: 접근 제한 우회
  • 동적 콘텐츠: JavaScript 렌더링 콘텐츠 처리
  • 출력 파싱: 지능형 콘텐츠 파싱
  • 오케스트레이션: 복잡한 프로세스 관리

사용자 정의 능력

  • 제외 태그: 불필요한 콘텐츠 필터링
  • 인증 크롤링: 사용자 정의 헤더를 사용하여 인증이 필요한 콘텐츠 크롤링
  • 최대 크롤링 깊이: 크롤링 범위 제어
  • 미디어 파싱: PDF, DOCX, 이미지 지원

상호 작용 기능 (Actions)

콘텐츠를 스크래핑하기 전에 다양한 작업 수행 가능:

  • 클릭: 페이지 요소 클릭
  • 스크롤: 페이지 스크롤 작업
  • 입력: 텍스트 입력
  • 대기: 페이지 로딩 대기
  • 키 누르기: 키보드 조작

API 사용 예시

웹사이트 크롤링

curl -X POST https://api.firecrawl.dev/v1/crawl \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer fc-YOUR_API_KEY' \
-d '{
  "url": "https://docs.firecrawl.dev",
  "limit": 10,
  "scrapeOptions": {
    "formats": ["markdown", "html"]
  }
}'

단일 페이지 스크래핑

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

구조화된 데이터 추출

curl -X POST https://api.firecrawl.dev/v1/scrape \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
  "url": "https://www.mendable.ai/",
  "formats": ["json"],
  "jsonOptions": {
    "schema": {
      "type": "object",
      "properties": {
        "company_mission": {"type": "string"},
        "supports_sso": {"type": "boolean"},
        "is_open_source": {"type": "boolean"},
        "is_in_yc": {"type": "boolean"}
      },
      "required": ["company_mission", "supports_sso", "is_open_source", "is_in_yc"]
    }
  }
}'

SDK 지원

Python SDK

pip install firecrawl-py
from firecrawl.firecrawl import FirecrawlApp
from firecrawl.firecrawl import ScrapeOptions

app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# 웹사이트 스크래핑
scrape_status = app.scrape_url(
    'https://firecrawl.dev',
    formats=["markdown", "html"]
)
print(scrape_status)

# 웹사이트 크롤링
crawl_status = app.crawl_url(
    'https://firecrawl.dev',
    limit=100,
    scrape_options=ScrapeOptions(formats=["markdown", "html"]),
    poll_interval=30
)
print(crawl_status)

Node.js SDK

npm install @mendable/firecrawl-js
import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';

const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"});

// 웹사이트 스크래핑
const scrapeResponse = await app.scrapeUrl('https://firecrawl.dev', {
  formats: ['markdown', 'html'],
});

if (scrapeResponse) {
  console.log(scrapeResponse)
}

// 웹사이트 크롤링
const crawlResponse = await app.crawlUrl('https://firecrawl.dev', {
  limit: 100,
  scrapeOptions: {
    formats: ['markdown', 'html'],
  }
} satisfies CrawlParams, true, 30) satisfies CrawlStatusResponse;

통합 지원

LLM 프레임워크 통합

  • Langchain: Python 및 JavaScript 버전
  • Llama Index: 데이터 커넥터
  • Crew.ai: AI 에이전트 프레임워크
  • Composio: 도구 통합
  • PraisonAI: AI 오케스트레이션
  • Superinterface: 어시스턴트 기능
  • Vectorize: 벡터화 통합

로우 코드 프레임워크

  • Dify: AI 애플리케이션 구축 플랫폼
  • Langflow: 시각적 AI 프로세스
  • Flowise AI: 노코드 AI 구축
  • Cargo: 데이터 통합
  • Pipedream: 워크플로우 자동화

기타 통합

  • Zapier: 자동화 워크플로우
  • Pabbly Connect: 애플리케이션 통합

라이선스 및 배포

오픈 소스 라이선스

  • 주요 라이선스는 GNU Affero General Public License v3.0 (AGPL-3.0) 채택
  • SDK 및 일부 UI 컴포넌트는 MIT 라이선스 채택

호스팅 서비스

  • 호스팅 버전은 firecrawl.dev에서 제공
  • 클라우드 솔루션은 추가 기능 및 엔터프라이즈급 지원 제공

자체 호스팅

  • 로컬 배포 지원
  • 현재 개발 중이며, 사용자 정의 모듈을 모놀리식 저장소에 통합 중
  • 로컬에서 실행할 수 있지만, 자체 호스팅 배포에는 아직 완전히 준비되지 않음

활용 시나리오

  1. AI 데이터 준비: LLM에 깨끗한 훈련 데이터 제공
  2. 콘텐츠 집계: 여러 웹사이트에서 콘텐츠 수집 및 정리
  3. 경쟁 분석: 경쟁사 웹사이트 변경 사항 모니터링
  4. SEO 연구: 웹사이트 구조 및 콘텐츠 분석
  5. 데이터 마이닝: 웹사이트에서 구조화된 정보 추출
  6. 문서 생성: 웹사이트 콘텐츠를 문서 형식으로 변환

사용 시 주의사항

Firecrawl을 사용하여 스크래핑, 검색 및 크롤링을 수행할 때 웹사이트 정책을 준수할 책임은 사용자에게 있습니다. 스크래핑 활동을 시작하기 전에 해당 웹사이트의 개인 정보 보호 정책 및 이용 약관을 준수하는 것이 좋습니다. 기본적으로 Firecrawl은 크롤링 시 웹사이트의 robots.txt 파일에 지정된 지침을 준수합니다.

프로젝트 상태

이 프로젝트는 현재 활발히 개발 중이며, 팀은 사용자 정의 모듈을 모놀리식 저장소에 통합하고 있습니다. 자체 호스팅 배포에는 아직 완전히 준비되지 않았지만, 개발 및 테스트를 위해 로컬에서 실행할 수 있습니다. 이 프로젝트는 활발한 커뮤니티와 지속적인 업데이트를 통해 웹 데이터 추출 분야의 선도적인 솔루션입니다.

Star History Chart