Faça scraping de páginas individuais, rastreie sites inteiros e mapeie URLs na sua aplicação Elixir. O SDK valida todos os parâmetros em tempo de execução com NimbleOptions e usa Req para HTTP, para que você receba mensagens de erro claras para erros de digitação e opções inválidas antes que qualquer requisição seja feita.
Toda função tem uma variante com bang (!) que gera uma exceção em caso de erro, em vez de retornar tuplas {:error, ...}.
Instalação#
Adicione firecrawl à sua lista de dependências no mix.exs e configure sua chave de API:
Ou passe a chave de API em cada requisição:
Uso#
- Obtenha uma chave de API em firecrawl.dev
- Defina a chave de API na configuração do seu aplicativo ou passe-a como opção para qualquer função.
Fazendo scraping de uma URL#
Faça o scraping de uma única URL com scrape_and_extract_from_url. Ela retorna o conteúdo da página como dados estruturados, incluindo markdown, metadados e quaisquer outros formatos que você solicitar.
Rastrear um site#
Para rastrear um site, use crawl_urls. Ele aceita a URL inicial e parâmetros opcionais, como limite de páginas, domínios permitidos e formato de resultado.
Iniciar um rastreamento#
Inicie um job de rastreamento e receba o ID do job sem bloqueio:
Verificando o status do rastreamento#
Consulte o status de um job de rastreamento com get_crawl_status:
Cancelar um rastreamento#
Cancele um job de rastreamento com cancel_crawl:
Mapeie um site#
Use map_urls para gerar uma lista de URLs a partir de um site:
Busca#
Faça uma busca na web e, opcionalmente, faça scraping dos resultados:
Extração em lote#
Realize o scraping de várias URLs em um único job em lote:
agente#
Inicie uma tarefa de extração de dados com agente:
Navegador#
Inicie sessões de navegador na nuvem e execute código remotamente.
Criar uma sessão#
Executar código#
Perfis#
Salve e reutilize o estado do navegador (cookies, localStorage etc.) entre sessões:
Listar & encerrar sessões#
Instâncias auto-hospedadas#
Para usar uma instância auto-hospedada do Firecrawl, passe a opção base_url:
Tratamento de erros#
Funções sem bang retornam {:ok, response} ou {:error, exception}. As variantes com bang levantam uma exceção em caso de erro. O NimbleOptions valida todos os parâmetros antes de a requisição ser enviada, detectando imediatamente erros de digitação, campos obrigatórios ausentes e erros de tipo.
Todas as funções disponíveis#
| Função | Descrição |
|---|---|
scrape_and_extract_from_url | Faz scraping de uma única URL |
scrape_and_extract_from_urls | Faz extração em lote de várias URLs |
crawl_urls | Faz o rastreamento de um site |
get_crawl_status | Verifica o status do job de rastreamento |
get_crawl_errors | Obtém os erros do job de rastreamento |
get_active_crawls | Lista os rastreamentos ativos |
cancel_crawl | Cancela um job de rastreamento |
map_urls | Mapeia URLs em um site |
search_and_scrape | Busca e faz scraping dos resultados |
start_agent | Inicia uma tarefa de extração com agente |
get_agent_status | Verifica o status do job do agente |
cancel_agent | Cancela um job do agente |
create_browser_session | Cria uma sessão de navegador |
execute_browser_code | Executa código em uma sessão de navegador |
list_browser_sessions | Lista as sessões de navegador |
delete_browser_session | Exclui uma sessão de navegador |
get_batch_scrape_status | Verifica o status da extração em lote |
get_batch_scrape_errors | Obtém os erros da extração em lote |
cancel_batch_scrape | Cancela uma extração em lote |
get_credit_usage | Obtém os créditos restantes |
Todas as funções acima têm uma variante com bang (!) (por exemplo, scrape_and_extract_from_url!) que gera uma exceção em vez de retornar tuplas de erro.
Para ver a documentação completa da API, consulte hexdocs.pm/firecrawl.

