Installation
The official PHP SDK is maintained in the Firecrawl monorepo at apps/php-sdk. To install the Firecrawl PHP SDK, add the dependency via Composer:Requires PHP 8.1 or later.
Laravel Integration
The SDK includes first-class Laravel support with auto-discovery. After installing the package, publish the configuration file:.env file:
Usage
- Get an API key from firecrawl.dev
- Set the API key as an environment variable named
FIRECRAWL_API_KEY, or pass it withFirecrawlClient::create(apiKey: ...)
Using the Laravel Facade
In a Laravel application you can use theFirecrawl facade or dependency injection:
Scraping a URL
To scrape a single URL, use thescrape method.
JSON Extraction
Extract structured JSON withJsonFormat via the scrape endpoint:
Crawling a Website
To crawl a website and wait for completion, usecrawl.
Start a Crawl
Start a job without waiting usingstartCrawl.
Checking Crawl Status
Check crawl progress withgetCrawlStatus.
Cancelling a Crawl
Cancel a running crawl withcancelCrawl.
Crawl Errors
Fetch crawl-level errors (if any) withgetCrawlErrors.
Mapping a Website
Discover links on a site usingmap.
Searching the Web
Search with optional search settings usingsearch.
Batch Scraping
Scrape multiple URLs in parallel usingbatchScrape.
startBatchScrape, getBatchScrapeStatus, and cancelBatchScrape:
Agent
Run an AI-powered agent withagent.
startAgent, getAgentStatus, and cancelAgent:
Usage & Metrics
Check concurrency and remaining credits:Browser
The PHP SDK includes Browser Sandbox helpers.Create a Session
Execute Code
Scrape-Bound Interactive Session
Use a scrape job ID to run follow-up browser code in the same replayed context:interact(...)runs code in the scrape-bound browser session (and initializes it on first use).stopInteractiveBrowser(...)explicitly stops the interactive session when you are done.
List & Close Sessions
Configuration
FirecrawlClient::create() supports the following options:
Custom HTTP Client
You can pass a pre-configuredGuzzleHttp\ClientInterface implementation to control connection pooling, middleware, proxy settings, and other HTTP features. When provided, the timeoutSeconds setting is ignored in favor of the client’s own configuration.
Error Handling
The SDK throws runtime exceptions underFirecrawl\Exceptions.
Are you an AI agent that needs a Firecrawl API key? See firecrawl.dev/agent-onboarding/SKILL.md for automated onboarding instructions.

