Instalação
Requer PHP 8.1 ou superior.
Integração com Laravel
.env:
Uso
- Obtenha uma chave de API em firecrawl.dev
- Defina a chave de API como uma variável de ambiente chamada
FIRECRAWL_API_KEYou passe-a emFirecrawlClient::create(apiKey: ...)
Usando a facade do Laravel
Firecrawl ou a injeção de dependência:
Scraping de uma URL
scrape.
Extração JSON
JsonFormat usando o endpoint scrape:
Fazer o rastreamento de um site
crawl.
Iniciar um rastreamento
startCrawl.
Verificando o status do rastreamento
getCrawlStatus.
Cancelar um rastreamento
cancelCrawl.
Erros de rastreamento
getCrawlErrors.
Mapear um site
map.
Buscando na web
search.
Scraping em lote
batchScrape.
startBatchScrape, getBatchScrapeStatus e cancelBatchScrape:
Agente
agent.
startAgent, getAgentStatus e cancelAgent:
Uso & Métricas
Ferramentas do Laravel AI SDK
laravel/ai), para que agentes possam fazer scraping, buscar, mapear e rastrear a web sem precisar de um MCP Server nem de chamadas HTTP manuais.
Requer
firecrawl/firecrawl-sdk 1.9.0 ou superior, além de laravel/ai 0.9 ou superior (PHP 8.3+, Laravel 12+). As classes das ferramentas só são carregadas quando laravel/ai está instalado.FirecrawlClient no contêiner, então a configuração existente de config/firecrawl.php e FIRECRAWL_API_KEY é reutilizada como está:
Ferramentas disponíveis
Os nomes das ferramentas correspondem ao Firecrawl MCP server, para que os agentes vejam o mesmo vocabulário em todas as interfaces. Registre as quatro de uma vez usando o helper de spread:
FirecrawlTools::all() repassa um para as quatro ferramentas:
Parâmetros da ferramenta
Valores de
limit fora do intervalo são ajustados para o limite válido mais próximo, em vez de serem rejeitados. Assim, um modelo que solicitar 99 resultados de busca receberá 20 em vez de um erro.
Comportamento da Ferramenta
firecrawl_search e firecrawl_map retornam arrays JSON de resultados. firecrawl_scrape retorna a página em markdown.
Resultados do rastreamento
firecrawl_crawl aguarda até 55 segundos pela conclusão do rastreamento e então retorna um objeto JSON que deixa o resultado explícito. Rastreamentos com falha, cancelados ou parciais continuam visíveis para o modelo por meio do campo status, em vez de serem truncados sem aviso:
omittedPages conta as páginas descartadas para manter o resultado dentro do orçamento de saída, e note informa ao modelo que há mais páginas no servidor e que ele deve usar um limite menor ou fazer scraping de páginas específicas com firecrawl_scrape. A ferramenta informa a paginação em vez de segui-la, então agentes que precisam de todas as páginas de um rastreamento grande devem usar FirecrawlClient diretamente.
Se o rastreamento ainda estiver em execução quando o tempo de espera expirar, a ferramenta informa isso e lembra ao modelo que o rastreamento ainda pode ser concluído no servidor. Os inícios de rastreamento usam uma chave de idempotência UUID, então uma nova tentativa no nível HTTP nunca cria um rastreamento duplicado.
Se o seu agente estiver sendo executado em um job enfileirado, mantenha o limite de rastreamento baixo ou aumente o tempo limite do job do worker. O tempo de espera, a cadência de consulta e o limite por página são propriedades protegidas, então estenda a classe para ajustá-los:
Browser
Criar uma sessão
Executar código
Sessão interativa vinculada ao scraping
interact(...)executa código na sessão do navegador vinculada ao scraping (e a inicializa no primeiro uso).stopInteractiveBrowser(...)interrompe explicitamente a sessão interativa quando você terminar.
Listar & encerrar sessões
Configuração
FirecrawlClient::create() oferece suporte às seguintes options:
Cliente HTTP personalizado
GuzzleHttp\ClientInterface pré-configurada para controlar o pooling de conexões, middleware, configurações de proxy e outros recursos HTTP. Quando esse cliente é fornecido, a configuração timeoutSeconds é ignorada em favor da configuração do próprio cliente.
Tratamento de erros
Firecrawl\Exceptions.
Você é um agente de IA que precisa de uma chave de API do Firecrawl? Consulte firecrawl.dev/agent-onboarding/SKILL.md para ver as instruções de onboarding automatizado.

