๐Ÿ’ก

๐Ÿ”ฅ The API to search, scrape, and interact with the web for AI. SearchยทScrapeยทInteract ์„ธ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ํ•œ API ๋กœ ํ†ตํ•ฉ ์ œ๊ณตํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์›น ๋ฐ์ดํ„ฐ ์ธํ”„๋ผ. firecrawl.dev ํด๋ผ์šฐ๋“œ SaaS ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์—”์ง„์œผ๋กœ, AGPL-3.0 ์œผ๋กœ ๊ณต๊ฐœ๋˜์–ด docker-compose ๋กœ self-host ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”“
์˜คํ”ˆ์†Œ์Šค ์›น ๋ฐ์ดํ„ฐ API ์ƒˆ๋กœ์šด ๋Šฅ๋ ฅ
์„ค์น˜ ๋ฐฉ๋ฒ• ยท manual
Self-host (docker-compose) $ git clone https://github.com/firecrawl/firecrawl && cd firecrawl && docker compose up
Python SDK $ pip install firecrawl-py
Node.js SDK $ npm install @mendable/firecrawl-js

์™œ ํ•„์š”ํ•œ๊ฐ€?

AI ์—์ด์ „ํŠธ์™€ RAG ํŒŒ์ดํ”„๋ผ์ธ์ด ๋Š˜๋ฉด์„œ โ€œ์‹ค์ œ ์›น์˜ ์ •์ œ๋œ ๋ฐ์ดํ„ฐโ€ ๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์ธํ”„๋ผ ์ˆ˜์š”๊ฐ€ ์ปค์กŒ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์Šคํฌ๋ž˜ํ•‘ ๋„๊ตฌ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ Œ๋”๋งยท๋ณต์žกํ•œ ๋งˆํฌ์—…ยทrobots.txtยท์ธํ„ฐ๋ž™์…˜ ๋‹จ๊ณ„๋ฅผ ๊ฐ์ž ํ•ด๊ฒฐํ•ด์•ผ ํ•ด ์šด์˜ ๋ถ€๋‹ด์ด ํฌ๊ณ , ๊ฒฐ๊ณผ๊ฐ€ LLM ์ปจํ…์ŠคํŠธ์— ๋ฐ”๋กœ ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•ด ํ›„์ฒ˜๋ฆฌ๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Firecrawl ์€ ๊ทธ ์ธํ”„๋ผ ๊ณ„์ธต์„ ํ•œ API ๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค โ€” โ€œinfrastructure layer that helps AI find, read, and act on the live webโ€ ๋ฅผ ํ‘œ๋ฐฉํ•˜๋ฉฐ, ๊ฒฐ๊ณผ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ LLM ์ค€๋น„๋œ markdown / ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ ๋กœ ๋Œ๋ ค์ค๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ธฐ๋Šฅ โ€” ์„ธ ๊ฐ€์ง€ ํ†ตํ•ฉ ๋Šฅ๋ ฅ

  • Search โ€” ์›น ๊ฒ€์ƒ‰

    ์ฟผ๋ฆฌ๋ฅผ ๋˜์ ธ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์ปจํ…์ธ  ์ถ”์ถœ๊นŒ์ง€ ํ•œ ํ˜ธ์ถœ์—์„œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ.

  • Scrape โ€” ํŽ˜์ด์ง€ โ†’ ์ •์ œ ๋ฐ์ดํ„ฐ

    ๋‹จ์ผ URL ์„ JSONยทmarkdown ๋“ฑ LLM ์นœํ™” ํฌ๋งท์œผ๋กœ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ Œ๋”๋ง๊ณผ ๋ณต์žกํ•œ ๋งˆํฌ์—…์„ ์ž๋™ ์ฒ˜๋ฆฌ.

  • Interact โ€” ํŽ˜์ด์ง€ ์ž๋™ํ™”

    ํด๋ฆญยท์ž…๋ ฅยท๋‚ด๋น„๊ฒŒ์ด์…˜ ๊ฐ™์€ ์ธํ„ฐ๋ž™์…˜์„ ์ž๋™ํ™”ํ•ด ์ •์  ์Šคํฌ๋ž˜ํ•‘์œผ๋กœ ๋‹ฟ์ง€ ๋ชปํ•˜๋Š” ํ๋ฆ„๊นŒ์ง€ ์ ‘๊ทผ.

๋ถ€๊ฐ€ ์—”๋“œํฌ์ธํŠธ๋กœ Agent(์ž์œจ ๋ฉ€ํ‹ฐ์†Œ์Šค ๋ฆฌ์„œ์น˜), Crawl(๊นŠ์ดยทํŽ˜์ด์ง€ ์ œํ•œ ํ•˜์˜ ๋‹ค์ค‘ ํŽ˜์ด์ง€ ์ˆ˜์ง‘), Map(์‚ฌ์ดํŠธ URL ๋ฐœ๊ฒฌ), Batch Scrape(์—ฌ๋Ÿฌ URL ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ) ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

Cloud vs Open Source

์ถ•Open Source (์ด repo)Cloud (firecrawl.dev)
์šด์˜ ์ฃผ์ฒด์‚ฌ์šฉ์ž ๋ณธ์ธFirecrawl ํŒ€
๋ผ์ด์„ ์ŠคAGPL-3.0 (SDKยท์ผ๋ถ€ UI ๋Š” MIT)SaaS ์•ฝ๊ด€
์ถ”๊ฐ€ ๊ธฐ๋Šฅ์—”์ง„ ํ•ต์‹ฌํด๋ผ์šฐ๋“œ ์ „์šฉ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (README ๋น„๊ต ํ‘œ ์ฐธ์กฐ)
๋น„์šฉ์ธํ”„๋ผ ์šด์˜ ๋น„์šฉ๋ฌด๋ฃŒ 1,000 ํฌ๋ ˆ๋”ง/์›” + ์œ ๋ฃŒ ํ”Œ๋žœ
๋ฐ์ดํ„ฐ ํ†ต์ œ์™„์ „ ์ž์ฒด ํ†ต์ œFirecrawl ์ธํ”„๋ผ ๊ฒฝ์œ 
์ ํ•ฉํ•œ ์กฐ์ง๋ฐ์ดํ„ฐ ์ž”๋ฅ˜ยท๋น„์šฉยท์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ๊ฐ€ ์ค‘์š”ํ•œ ๊ณณ๋น ๋ฅธ ์‹œ์ž‘ยท์ธํ”„๋ผ ๋ถ€๋‹ด ํšŒํ”ผ๊ฐ€ ์šฐ์„ ์ธ ๊ณณ

SDK

์–ธ์–ดํŒจํ‚ค์ง€
Pythonpip install firecrawl-py
Node.jsnpm install @mendable/firecrawl-js
JavaJitPack ์œผ๋กœ Gradle / Maven (com.github.firecrawl:firecrawl-java-sdk:2.0)
Elixir{:firecrawl, "~> 1.0"}
Rustfirecrawl = "2"

์ปค๋ฎค๋‹ˆํ‹ฐ Go SDK ๋„ README ์— ๋ณ„๋„ ๋งํฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•

ํด๋ผ์šฐ๋“œ (๊ฐ€์žฅ ๋น ๋ฅธ ์‹œ์ž‘) โ€” firecrawl.dev ์—์„œ API ํ‚ค ๋ฐœ๊ธ‰ ํ›„ ์ง์ ‘ ํ˜ธ์ถœ.

curl -X POST 'https://api.firecrawl.dev/v2/search' \
  -H 'Authorization: Bearer fc-YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"query": "firecrawl", "limit": 5}'

Self-Host โ€” ๋ฆฌํฌ ๋ฃจํŠธ์˜ docker-compose ์Šคํƒ์„ ์‚ฌ์šฉ.

git clone https://github.com/firecrawl/firecrawl
cd firecrawl
docker compose up

์ž์„ธํ•œ ํ™˜๊ฒฝ ์„ค์ •ยท์˜์กด์„ฑ์€ ๋ฆฌํฌ์˜ SELF_HOST.md ๊ฐ€์ด๋“œ ์ฐธ์กฐ.

Claude Code ์—์„œ ์‚ฌ์šฉ โ€” Firecrawl MCP ๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœ. FIRECRAWL_API_URL ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ self-host ์ธ์Šคํ„ด์Šค๋ฅผ ์ง€์ •ํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ์˜์กด ์—†์ด๋„ Claude ์•ˆ์—์„œ ๋„๊ตฌ๋กœ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ์•„๋‘๋ฉด ์ข‹์€ ์ 

  • AGPL-3.0 ๋ผ์ด์„ ์Šค ์ฃผ์˜ โ€” ์˜๋ฆฌ ์ œํ’ˆ์— ์—”์ง„ ๋ณธ์ฒด๋ฅผ ํ†ตํ•ฉยท์ˆ˜์ •ํ•ด ๋ฐฐํฌํ•  ๊ณ„ํš์ด๋ผ๋ฉด AGPL ์˜ ์นดํ”ผ๋ ˆํ”„ํŠธ ์กฐํ•ญ์„ ์‚ฌ์ „ ๊ฒ€ํ† ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ํด๋ผ์ด์–ธํŠธ์—์„œ API ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ(MCPยทSDK ์‚ฌ์šฉ)๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์˜ํ–ฅ ์—†์Œ.
  • SDK ์™€ ์ผ๋ถ€ UI ๋Š” MIT โ€” README ๋ช…์‹œ: ํด๋ผ์ด์–ธํŠธ ์ธก ํ†ตํ•ฉ์—๋Š” MIT ๋ผ์ด์„ ์Šค ๋ถ€๋ถ„๋งŒ ๋“ค์–ด๊ฐ€๋ฏ€๋กœ ์ผ๋ฐ˜ ์‚ฌ์šฉ์—๋Š” ๋ถ€๋‹ด ์—†์Œ.
  • robots.txt ๊ธฐ๋ณธ ์ค€์ˆ˜ โ€” README ๋ช…์‹œ: โ€œFirecrawl respects robots.txt by defaultโ€ ๊ทธ๋ฆฌ๊ณ  โ€œIt is the sole responsibility of end users to respect websitesโ€™ policies when scrapingโ€ โ€” ์Šคํฌ๋ž˜ํ•‘ ๋Œ€์ƒ ์‚ฌ์ดํŠธ ์ •์ฑ… ์ค€์ˆ˜๋Š” ์‚ฌ์šฉ์ž ์ฑ…์ž„.
  • ๋Œ€๊ทœ๋ชจ ์ฑ„ํƒ โ€” 100๋งŒ ๋ช… ์ด์ƒ์˜ ๋“ฑ๋ก ์‚ฌ์šฉ์ž, AppleยทCanvaยทLovable ๋“ฑ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  firecrawl.dev ๊ฐ€ ๋ช…์‹œ.
  • ํ™œ๋ฐœํ•œ ์œ ์ง€๋ณด์ˆ˜ โ€” 2024๋…„ 4์›” ์ฒซ ์ปค๋ฐ‹ ์ดํ›„ ๊ฑฐ์˜ ๋งค์ผ ์—…๋ฐ์ดํŠธ.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Firecrawl ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

AI ๋ฅผ ์œ„ํ•œ ์›น ๊ฒ€์ƒ‰ยท์Šคํฌ๋ž˜ํ•‘ยท์ธํ„ฐ๋ž™์…˜ API ์—”์ง„์ž…๋‹ˆ๋‹ค. README ํ‘œ๊ธฐ ๊ทธ๋Œ€๋กœ "The API to search, scrape, and interact with the web for AI". TypeScriptยทPythonยทRustยทJava ๋กœ ์ž‘์„ฑ๋œ ํ’€์Šคํƒ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋กœ, [firecrawl.dev](https://firecrawl.dev) ํด๋ผ์šฐ๋“œ SaaS ์˜ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋™์‹œ์— AGPL-3.0 ์œผ๋กœ ๋ˆ„๊ตฌ๋‚˜ self-host ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜คํ”ˆ์†Œ์Šค์ธ๊ฐ€์š”? ๋ผ์ด์„ ์Šค๋Š”?

์˜ˆ, GitHub ์— AGPL-3.0 ์œผ๋กœ ๊ณต๊ฐœ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. README ์ธ์šฉ: "This project is primarily licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). The SDKs and some UI components are licensed under the MIT License." ์ฆ‰ ์—”์ง„ ๋ณธ์ฒด๋Š” AGPL, SDKยท์ผ๋ถ€ UI ์ปดํฌ๋„ŒํŠธ๋Š” MIT ์ž…๋‹ˆ๋‹ค.

firecrawl.dev ์™€ ์–ด๋–ค ๊ด€๊ณ„์ธ๊ฐ€์š”?

๊ฐ™์€ Firecrawl ํŒ€์ด ์šด์˜ํ•˜๋Š” ํด๋ผ์šฐ๋“œ SaaS ์ž…๋‹ˆ๋‹ค. ์ด GitHub ์˜ ์—”์ง„์„ ํ˜ธ์ŠคํŒ…ํ•œ ๋ฒ„์ „์ด๋ฉฐ, ํด๋ผ์šฐ๋“œ ์ „์šฉ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(README ์˜ "Open Source vs Cloud" ๋น„๊ต ํ‘œ ์ฐธ์กฐ). ๋ฌด๋ฃŒ 1,000 ํฌ๋ ˆ๋”ง/์›” ํ”Œ๋žœ์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ self-host ํ•˜๋‚˜์š”?

๋ฆฌํฌ ๋ฃจํŠธ์˜ `docker-compose.yaml` ๊ณผ `SELF_HOST.md` ๊ฐ€์ด๋“œ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ docker compose ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ๋ฐฉ์‹์œผ๋กœ, redis ๊ฐ™์€ ์˜์กด ์„œ๋น„์Šค์™€ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ ์Šคํƒ์œผ๋กœ ์šด์˜๋ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ `docker run` ์œผ๋กœ ๋๋‚˜๋Š” ์…‹์—…์€ ์•„๋‹ˆ์ง€๋งŒ, ๋ฒ ์–ด๋ฉ”ํƒˆ ์ธํ”„๋ผ ๋ฐฐํฌ๋ณด๋‹ค๋Š” ๊ฐ€๋ฒผ์šด ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.

์–ด๋–ค SDK ๊ฐ€ ์žˆ๋‚˜์š”?

๊ณต์‹ ์ง€์› SDK ๋Š” Python(`firecrawl-py`), Node.js(`@mendable/firecrawl-js`), Java(JitPack ์œผ๋กœ Gradle/Maven), Elixir(`firecrawl`), Rust(`firecrawl`) ๋‹ค์„ฏ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ Go SDK ๋„ ๋ณ„๋„ ์กด์žฌ.

Claude Code ์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜์š”?

[Firecrawl MCP](/ko/tools/firecrawl-mcp/) ๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„๋Š” ํด๋ผ์šฐ๋“œ(`FIRECRAWL_API_KEY`) ๋˜๋Š” self-host ์ธ์Šคํ„ด์Šค(`FIRECRAWL_API_URL`) ์–ด๋А ์ชฝ์ด๋“  ๊ฐ€๋ฆฌํ‚ฌ ์ˆ˜ ์žˆ์–ด, ์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ๋„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.