mendableai/firecrawlView GitHub Homepage for Latest Official Releases
전체 웹사이트를 LLM에 적합한 Markdown 또는 구조화된 데이터로 변환합니다. 단일 API를 통해 스크랩, 크롤링 및 추출을 수행합니다.
AGPL-3.0TypeScriptfirecrawlmendableai 45.5k Last Updated: August 07, 2025
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에서 제공
- 클라우드 솔루션은 추가 기능 및 엔터프라이즈급 지원 제공
자체 호스팅
- 로컬 배포 지원
- 현재 개발 중이며, 사용자 정의 모듈을 모놀리식 저장소에 통합 중
- 로컬에서 실행할 수 있지만, 자체 호스팅 배포에는 아직 완전히 준비되지 않음
활용 시나리오
- AI 데이터 준비: LLM에 깨끗한 훈련 데이터 제공
- 콘텐츠 집계: 여러 웹사이트에서 콘텐츠 수집 및 정리
- 경쟁 분석: 경쟁사 웹사이트 변경 사항 모니터링
- SEO 연구: 웹사이트 구조 및 콘텐츠 분석
- 데이터 마이닝: 웹사이트에서 구조화된 정보 추출
- 문서 생성: 웹사이트 콘텐츠를 문서 형식으로 변환
사용 시 주의사항
Firecrawl을 사용하여 스크래핑, 검색 및 크롤링을 수행할 때 웹사이트 정책을 준수할 책임은 사용자에게 있습니다. 스크래핑 활동을 시작하기 전에 해당 웹사이트의 개인 정보 보호 정책 및 이용 약관을 준수하는 것이 좋습니다. 기본적으로 Firecrawl은 크롤링 시 웹사이트의 robots.txt 파일에 지정된 지침을 준수합니다.
프로젝트 상태
이 프로젝트는 현재 활발히 개발 중이며, 팀은 사용자 정의 모듈을 모놀리식 저장소에 통합하고 있습니다. 자체 호스팅 배포에는 아직 완전히 준비되지 않았지만, 개발 및 테스트를 위해 로컬에서 실행할 수 있습니다. 이 프로젝트는 활발한 커뮤니티와 지속적인 업데이트를 통해 웹 데이터 추출 분야의 선도적인 솔루션입니다.