Pular para o conteúdo principal
Hero Claro

Bem-vindo ao Firecrawl

Firecrawl é um serviço de API que recebe uma URL, a rastreia e a converte em Markdown limpo. Rastreamos todas as subpáginas acessíveis e entregamos Markdown limpo para cada uma. Não é necessário sitemap.

Como usar?

Oferecemos uma API fácil de usar na nossa versão hospedada. Você encontra o playground e a documentação aqui. Você também pode auto-hospedar o backend, se preferir. Confira os recursos a seguir para começar: Quer um SDK ou integração? Fale com a gente abrindo uma issue.

Chave de API

Para usar a API, você precisa criar uma conta no Firecrawl e obter uma chave de API.

Recursos

  • Scrape: extrai o conteúdo de uma URL em formato pronto para LLM (markdown, resumo, dados estruturados via modo JSON, captura de tela, HTML)
  • Crawl: extrai todas as URLs de uma página da web e retorna o conteúdo em formato pronto para LLM
  • Map: informe um site e obtenha todas as suas URLs — extremamente rápido
  • Search: pesquise na web e obtenha o conteúdo completo dos resultados
  • Extract: obtenha dados estruturados de uma única página, de várias páginas ou de sites inteiros com IA.

Capacidades poderosas

  • Formatos prontos para LLM: markdown, resumo, dados estruturados, captura de tela, HTML, links, metadados
  • O que é difícil: proxies, mecanismos antibot, conteúdo dinâmico (renderizado em JS), parsing de saída, orquestração
  • Velocidade relâmpago: obtenha resultados em segundos — feito para velocidade e casos de uso de alto throughput.
  • Personalização: excluir tags, navegar atrás de autenticação com headers personalizados, profundidade máxima de rastreamento, etc.
  • Parsing de mídia: PDFs, DOCX, imagens.
  • Confiabilidade em primeiro lugar: projetado para obter os dados de que você precisa — não importa quão difícil seja.
  • Ações: clicar, rolar, inserir, aguardar e mais, antes de extrair dados
Você encontra todas as capacidades do Firecrawl e como usá-las na nossa documentação

Instalação do Firecrawl

# pip install firecrawl-py

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

Scraping

Para extrair dados de uma única URL, use o método scrape. Ele recebe a URL como parâmetro e retorna os dados extraídos como um dicionário.
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

# Raspar um site:
doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])
print(doc)

Resposta

Os SDKs retornarão o objeto de dados diretamente. O cURL retornará o payload exatamente como mostrado abaixo.
{
  "success": true,
  "data" : {
    "markdown": "A Launch Week I chegou! [Confira nosso lançamento do Dia 2 🚀](https://www.firecrawl.dev/blog/launch-week-i-day-2-doubled-rate-limits)[💥 Ganhe 2 meses grátis...",
    "html": "<!DOCTYPE html><html lang=\"en\" class=\"light\" style=\"color-scheme: light;\"><body class=\"__variable_36bd41 __variable_d7dc5d font-inter ...",
    "metadata": {
      "title": "Home - Firecrawl",
      "description": "O Firecrawl rastreia e converte qualquer site em markdown limpo.",
      "language": "en",
      "keywords": "Firecrawl,Markdown,Dados,Mendable,Langchain",
      "robots": "follow, index",
      "ogTitle": "Firecrawl",
      "ogDescription": "Transforme qualquer site em dados prontos para LLM.",
      "ogUrl": "https://www.firecrawl.dev/",
      "ogImage": "https://www.firecrawl.dev/og.png?123",
      "ogLocaleAlternate": [],
      "ogSiteName": "Firecrawl",
      "sourceURL": "https://firecrawl.dev",
      "statusCode": 200
    }
  }
}

Rastreamento

O recurso de rastreamento permite descobrir e extrair automaticamente o conteúdo de uma URL e todas as suas subpáginas acessíveis. Com nossos SDKs, basta chamar o método de rastreamento — isso enviará uma tarefa de rastreamento, aguardará sua conclusão e retornará os resultados completos de todo o site.

Uso

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-SUA-API-KEY")

docs = firecrawl.crawl(url="https://docs.firecrawl.dev", limit=10)
print(docs)
Se você estiver usando nossa API diretamente, o cURL ou as funções start crawl nos SDKs, será retornado um ID que você pode usar para verificar o status do crawl.
{
  "success": true,
  "id": "123-456-789",
  "url": "https://api.firecrawl.dev/v2/crawl/123-456-789"
}

Verificar status do crawl

Usado para checar o status de um job de crawl e obter seu resultado.
status = firecrawl.get_crawl_status("<crawl-id>")
print(status)

Resposta

A resposta varia conforme o status do crawl. Para respostas não concluídas ou maiores que 10 MB, é fornecido um parâmetro de URL next. Você deve requisitar essa URL para obter os próximos 10 MB de dados. Se o parâmetro next não estiver presente, isso indica o fim dos dados do crawl.
{
  "status": "em andamento",
  "total": 36,
  "completed": 10,
  "creditsUsed": 10,
  "expiresAt": "2024-00-00T00:00:00.000Z",
  "next": "https://api.firecrawl.dev/v2/crawl/123-456-789?skip=10",
  "data": [
    {
      "markdown": "[Página inicial da documentação do Firecrawl![logotipo claro](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...",
      "html": "<!DOCTYPE html><html lang=\"en\" class=\"js-focus-visible lg:[--scroll-mt:9.5rem]\" data-js-focus-visible=\"\">...",
      "metadata": {
        "title": "Crie um 'Chat com o site' usando Groq Llama 3 | Firecrawl",
        "language": "en",
        "sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3",
        "description": "Aprenda a usar o Firecrawl, o Groq Llama 3 e o LangChain para criar um bot de 'chat com seu site'."
        "ogLocaleAlternate": [],
        "statusCode": 200
      }
    },
    ...
  ]
}

modo JSON

Com o modo JSON, você pode extrair dados estruturados de qualquer URL com facilidade. Damos suporte a esquemas Pydantic para tornar isso ainda mais simples. Veja como usá-lo:
from firecrawl import Firecrawl
from pydantic import BaseModel
app = Firecrawl(api_key="fc-YOUR-API-KEY")

class JsonSchema(BaseModel):
    company_mission: str
    supports_sso: bool
    is_open_source: bool
    is_in_yc: bool

result = app.scrape(
    'https://firecrawl.dev',
    formats=[{
      "type": "json",
      "schema": JsonSchema
    }],
    apenas_conteúdo_principal=False,
    timeout=120000
)

print(result)
Saída:
JSON
{
    "success": true,
    "data": {
      "json": {
        "company_mission": "Rastreamento e extração de dados na web com IA",
        "supports_sso": true,
        "is_open_source": true,
        "is_in_yc": true
      },
      "metadata": {
        "title": "Firecrawl",
        "description": "Rastreamento e extração de dados na web com IA",
        "robots": "follow, index",
        "ogTitle": "Firecrawl",
        "ogDescription": "Rastreamento e extração de dados na web com IA",
        "ogUrl": "https://firecrawl.dev/",
        "ogImage": "https://firecrawl.dev/og.png",
        "ogLocaleAlternate": [],
        "ogSiteName": "Firecrawl"
        "sourceURL": "https://firecrawl.dev/"
      },
    }
}
A API de busca do Firecrawl permite realizar pesquisas na web e, opcionalmente, extrair (scrape) os resultados em uma única operação.
  • Escolha formatos de saída específicos (Markdown, HTML, links, capturas de tela)
  • Escolha fontes específicas (web, notícias, imagens)
  • Pesquise na web com parâmetros personalizáveis (localização, etc.)
Para mais detalhes, consulte a referência da API do endpoint /search.
from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-SUA-API-KEY")

results = firecrawl.search(
    query="firecrawl",
    limit=3,
)
print(results)

Resposta

Os SDKs retornarão o objeto de dados diretamente. O cURL retornará o payload completo.
JSON
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://www.firecrawl.dev/",
        "title": "Firecrawl - A API de dados da web para IA",
        "description": "A API de rastreamento, scraping e busca na web para IA. Feita para escala. A Firecrawl entrega toda a internet para agentes de IA e desenvolvedores.",
        "position": 1
      },
      {
        "url": "https://github.com/mendableai/firecrawl",
        "title": "mendableai/firecrawl: Transforme sites inteiros em conteúdo pronto para LLM ... - GitHub",
        "description": "A Firecrawl é um serviço de API que recebe uma URL, a rastreia e a converte em Markdown limpo ou dados estruturados.",
        "position": 2
      },
      ...
    ],
    "images": [
      {
        "title": "Início Rápido | Firecrawl",
        "imageUrl": "https://mintlify.s3.us-west-1.amazonaws.com/firecrawl/logo/logo.png",
        "imageWidth": 5814,
        "imageHeight": 1200,
        "url": "https://docs.firecrawl.dev/",
        "position": 1
      },
      ...
    ],
    "news": [
      {
        "title": "Startup da Y Combinator, a Firecrawl, está pronta para pagar US$ 1 milhão para contratar três agentes de IA como funcionários",
        "url": "https://techcrunch.com/2025/05/17/y-combinator-startup-firecrawl-is-ready-to-pay-1m-to-hire-three-ai-agents-as-employees/",
        "snippet": "Agora publicou três novos anúncios no quadro de vagas da YC voltados “exclusivamente a agentes de IA” e reservou um orçamento total de US$ 1 milhão para viabilizar isso.",
        "date": "há 3 meses"
        "position": 1
      },
      ...
    ]
  }
}

Extraindo sem schema

Agora você pode extrair sem um schema apenas passando um prompt para o endpoint. O LLM escolhe a estrutura dos dados.
from firecrawl import Firecrawl

app = Firecrawl(api_key="fc-YOUR-API-KEY")

result = app.scrape(
    'https://firecrawl.dev',
    formats=[{
      "type": "json",
      "prompt": "Extraia a missão da empresa presente na página."
    }],
    only_main_content=False,
    timeout=120000
)

print(result)
Resultado:
JSON
{
    "success": true,
    "data": {
      "json": {
        "company_mission": "Raspagem e extração de dados na web com IA",
      },
      "metadata": {
        "title": "Firecrawl",
        "description": "Raspagem e extração de dados na web com IA",
        "robots": "seguir, indexar",
        "ogTitle": "Firecrawl",
        "ogDescription": "Raspagem e extração de dados na web com IA",
        "ogUrl": "https://firecrawl.dev/",
        "ogImage": "https://firecrawl.dev/og.png",
        "ogLocaleAlternate": [],
        "ogSiteName": "Firecrawl",
        "sourceURL": "https://firecrawl.dev/"
      },
    }
}

Interagindo com a página usando ações

O Firecrawl permite executar várias ações em uma página da web antes de extrair seu conteúdo. Isso é especialmente útil para interagir com conteúdo dinâmico, navegar entre páginas ou acessar conteúdo que exige interação do usuário. Veja um exemplo de como usar ações para acessar google.com, pesquisar por Firecrawl, clicar no primeiro resultado e tirar uma captura de tela. É importante quase sempre usar a ação wait antes/depois de outras ações para dar tempo suficiente para a página carregar.

Exemplo

from firecrawl import Firecrawl

firecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")

doc = firecrawl.scrape('https://example.com/login', {
  formats=['markdown'],
  actions=[
    { type: 'write', text: 'john@example.com' },
    { type: 'press', key: 'Tab' },
    { type: 'write', text: 'secret' },
    { type: 'click', selector: 'button[type="submit"]' },
    { type: 'wait', milliseconds: 1500 },
    { type: 'screenshot', fullPage: true },
  ],
});

print(doc.markdown, doc.screenshot);

Resultado

{
  "success": true,
  "data": {
    "markdown": "Nossa primeira Launch Week chegou ao fim! [Confira o recap 🚀](blog/firecrawl-launch-week-1-recap)...",
    "actions": {
      "screenshots": [
        "https://alttmdsdujxrfnakrkyi.supabase.co/storage/v1/object/public/media/screenshot-75ef2d87-31e0-4349-a478-fb432a29e241.png"
      ],
      "scrapes": [
        {
          "url": "https://www.firecrawl.dev/",
          "html": "<html><body><h1>Firecrawl</h1></body></html>"
        }
      ]
    },
    "metadata": {
      "title": "Home - Firecrawl",
      "description": "O Firecrawl rastreia e converte qualquer site em Markdown limpo.",
      "language": "en",
      "keywords": "Firecrawl,Markdown,Dados,Mendable,LangChain",
      "robots": "index, follow",
      "ogTitle": "Firecrawl",
      "ogDescription": "Transforme qualquer site em dados prontos para LLMs.",
      "ogUrl": "https://www.firecrawl.dev/",
      "ogImage": "https://www.firecrawl.dev/og.png?123",
      "ogLocaleAlternate": [],
      "ogSiteName": "Firecrawl"
      "sourceURL": "http://google.com",
      "statusCode": 200
    }
  }
}

Open Source vs Cloud

O Firecrawl é open source e está disponível sob a licença AGPL-3.0. Para oferecer o melhor produto possível, disponibilizamos uma versão hospedada do Firecrawl junto com nossa oferta open source. A solução em nuvem nos permite inovar continuamente e manter um serviço sustentável e de alta qualidade para todos os usuários. O Firecrawl Cloud está disponível em firecrawl.dev e oferece uma variedade de recursos que não estão disponíveis na versão open source:
Firecrawl Cloud vs Open Source

Contribuição

Adoramos contribuições! Leia nosso guia de contribuição antes de enviar um pull request.