Skip to main content

Instalação

Para instalar o SDK do Firecrawl para Python, você pode usar o pip:
Python

Uso

  1. Obtenha uma chave de API em firecrawl.dev
  2. Configure a chave de API como uma variável de ambiente chamada FIRECRAWL_API_KEY ou passe-a como parâmetro para a classe Firecrawl.
Veja um exemplo de uso do SDK:
Python

Extraindo dados de uma URL

Para extrair dados de uma única URL, use o método scrape. Ele recebe a URL como parâmetro e retorna o documento raspado.
Python

Rastrear um site

Para rastrear um site, use o método crawl. Ele recebe a URL inicial e, opcionalmente, um objeto de opções. Essas opções permitem definir configurações adicionais para a tarefa de rastreamento, como o número máximo de páginas, os domínios permitidos e o formato de saída. Consulte Paginação para detalhes sobre paginação automática/manual e limites.
Python

Rastreamento Apenas do Sitemap

Use sitemap="only" para rastrear apenas as URLs do sitemap (a URL inicial é sempre incluída e a descoberta de links em HTML é ignorada).
Python

Iniciar um crawl

Prefere não bloquear? Veja a seção Classe assíncrona abaixo.
Inicie uma tarefa sem esperar usando start_crawl. Ela retorna um ID de tarefa que você pode usar para verificar o status. Use crawl quando quiser um aguardador que bloqueia até a conclusão. Consulte Paginação para o comportamento e os limites de paginação.
Python

Verificando o status do crawl

Para verificar o status de uma tarefa de crawl, use o método get_crawl_status. Ele recebe o ID da tarefa como parâmetro e retorna o status atual do crawl.
Python

Cancelando um Crawl

Para cancelar um job de crawl, use o método cancel_crawl. Ele recebe o ID do job do start_crawl como parâmetro e retorna o status do cancelamento.
Python

Mapear um site

Use map para gerar uma lista de URLs de um site. As opções permitem personalizar o processo de mapeamento, incluindo excluir subdomínios ou usar o sitemap.
Python

Rastreamento de um site com WebSockets

Para rastrear um site com WebSockets, inicie a tarefa com start_crawl e faça a inscrição usando o helper watcher. Crie um watcher com o ID da tarefa e vincule handlers (por exemplo, para page, completed, failed) antes de chamar start().
Python
Os endpoints do Firecrawl para crawl e batch scrape retornam uma URL next quando há mais dados disponíveis. O SDK Python pagina automaticamente por padrão e agrega todos os documentos; nesse caso, next será None. Você pode desativar a paginação automática ou definir limites para controlar o comportamento da paginação.

PaginationConfig

Use PaginationConfig para controlar o comportamento da paginação ao chamar get_crawl_status ou get_batch_scrape_status:
Python

Auxiliares para Paginação Manual

Quando auto_paginate=False, a resposta inclui uma URL next se houver mais dados disponíveis. Use estes métodos auxiliares para obter as páginas subsequentes:
  • get_crawl_status_page(next_url) - Obtém a próxima página de resultados de crawl usando a URL next opaca de uma resposta anterior.
  • get_batch_scrape_status_page(next_url) - Obtém a próxima página de resultados de batch scrape usando a URL next opaca de uma resposta anterior.
Esses métodos retornam o mesmo tipo de resposta da chamada de status original, incluindo uma nova URL next se restarem mais páginas.

Crawl

Use o método de espera crawl para a experiência mais simples ou inicie um job e faça a paginação manualmente.
Rastreamento simples (paginação automática, padrão)
Rastreamento manual com controle de paginação
Inicie um job e, em seguida, recupere uma página por vez com auto_paginate=False. Use get_crawl_status_page para recuperar as páginas subsequentes:
Python
Rastreamento manual com limites (paginação automática + interrupção antecipada)
Mantenha a paginação automática ativada, mas interrompa antecipadamente com max_pages, max_results ou max_wait_time:
Python

Coleta em lote

Use o método waiter batch_scrape ou inicie um job e faça a paginação manualmente.
Coleta em lote simples (paginação automática, padrão)
Raspagem em lote manual com controle de paginação
Inicie um job e, em seguida, recupere uma página por vez com auto_paginate=False. Use get_batch_scrape_status_page para obter as páginas subsequentes:
Python
Coleta manual em lote com limites (paginação automática + parada antecipada)
Deixe a paginação automática ativada, mas interrompa antes usando max_pages, max_results ou max_wait_time:
Python

Tratamento de erros

O SDK trata os erros retornados pela API do Firecrawl e lança exceções apropriadas. Se ocorrer um erro durante uma requisição, uma exceção será lançada com uma mensagem descritiva.

Classe assíncrona

Para operações assíncronas, use a classe AsyncFirecrawl. Seus métodos espelham os de Firecrawl, mas não bloqueiam a thread principal.
Python

Browser

Inicie sessões de navegador na nuvem e execute código remotamente.

Criar sessão

Python

Executar código

Python
Execute JavaScript em vez de Python:
Python

Perfis

Salve e reutilize o estado do navegador (cookies, localStorage, etc.) em várias sessões:
Python

Conectar via CDP

Para ter controle total do Playwright, conecte-se diretamente usando a URL do CDP:
Python

Listar & encerrar sessões

Python