Firecrawl 검색

웹 검색과 강력한 스크래핑 기능을 결합한 Firecrawl을 LiteLLM /search 엔드포인트에서 사용하는 방법을 안내할게요.

출처: 문서

본문

API 키 받기: https://firecrawl.dev

LiteLLM Python SDK

Firecrawl Search

import os
from litellm import search

os.environ["FIRECRAWL_API_KEY"] = "fc-..."

response = search(
    query="latest AI developments",
    search_provider="firecrawl",
    max_results=5
)

LiteLLM AI Gateway

1. config.yaml 설정

config.yaml

model_list:
  - model_name: gpt-5.6-terra
    litellm_params:
      model: gpt-5.6-terra
      api_key: os.environ/OPENAI_API_KEY

search_tools:
  - search_tool_name: firecrawl-search
    litellm_params:
      search_provider: firecrawl
      api_key: os.environ/FIRECRAWL_API_KEY

2. 프록시 시작

litellm --config /path/to/config.yaml

# RUNNING on http://0.0.0.0:4000

3. 검색 엔드포인트 테스트

Test Request

curl http://0.0.0.0:4000/v1/search/firecrawl-search \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "latest AI developments",
    "max_results": 5
  }'

제공자별 파라미터

Firecrawl Search with Provider-specific Parameters

import os
from litellm import search

os.environ["FIRECRAWL_API_KEY"] = "fc-..."

response = search(
    query="machine learning research",
    search_provider="firecrawl",
    max_results=10,
    country="US",
    # Firecrawl-specific parameters
    sources=["web", "news"],         # Search multiple sources
    categories=[{"type": "github"}, {"type": "research"}],  # Filter by categories
    tbs="qdr:m",                     # Time-based search (past month)
    location="San Francisco,California,United States",  # Geo-targeting
    ignoreInvalidURLs=True,          # Exclude invalid URLs
    scrapeOptions={                  # Scraping options for results
        "formats": ["markdown"],
        "onlyMainContent": True,
        "removeBase64Images": True
    }
)

기능

Firecrawl은 웹 검색과 강력한 스크래핑 기능을 결합해요:

여러 소스

서로 다른 소스를 동시에 검색해요:

  • web - 웹 검색 결과 (기본)
  • images - 이미지 검색 결과
  • news - 날짜가 포함된 뉴스 검색 결과

카테고리 필터링

특정 카테고리로 결과를 필터링해요:

  • github - GitHub 저장소, 코드, 이슈, 문서 내 검색
  • research - 학술 및 연구 웹사이트 검색 (arXiv, Nature, IEEE, PubMed 등)
  • pdf - PDF 검색

시간 기반 검색

tbs 파라미터로 기간별 필터링:

  • qdr:h - 지난 1시간
  • qdr:d - 지난 1일
  • qdr:w - 지난 1주
  • qdr:m - 지난 1개월
  • qdr:y - 지난 1년

콘텐츠 스크래핑

scrapeOptions를 지정하면 Firecrawl이 검색 결과의 전체 페이지 콘텐츠를 자동으로 스크래핑해요. 기본적으로 LiteLLM은 마크다운 형식과 메인 콘텐츠만 요청해요.

지리 타기팅

locationcountry 파라미터를 결합해 지리적 결과를 얻어요:

response = search(
    query="restaurants",
    search_provider="firecrawl",
    country="DE",
    location="Berlin,Germany"
)

지원 쿼리 연산자

Firecrawl은 고급 검색 연산자를 지원해요:

연산자 기능 예시
"" 문자열을 정확히 일치하는 단어로 "Firecrawl"
- 특정 키워드 제외 -bad, -site:example.com
site: 지정된 웹사이트의 결과만 반환 site:firecrawl.dev
inurl: URL에 단어가 포함된 결과만 반환 inurl:firecrawl
allinurl: URL에 여러 단어가 포함된 결과만 반환 allinurl:git firecrawl
intitle: 제목에 단어가 있는 결과만 반환 intitle:Firecrawl
allintitle: 제목에 여러 단어가 있는 결과만 반환 allintitle:firecrawl playground
related: 특정 도메인과 관련된 결과만 반환 related:firecrawl.dev

더 알아보기 (Learn more)