Skip to content
On this page

Environment variables

Set in your Laravel .env. These configure the default transport, the command prefix, and the addresses of the optional anti-bot services.

VariableDefaultDescription
CRAWLER_TRANSPORTguzzleGlobal default transport: guzzle, browser, flaresolverr, scraping_api, auto. A robot's own --transport overrides this
CRAWLER_COMMAND_PREFIXdatahelmArtisan command prefix (datahelm:scrap:generate, …)
BROWSERLESS_URLhttp://browserless:3000Address of the local browserless (headless Chrome) container — used by the browser transport
BROWSERLESS_TOKEN(empty)Auth token, only if you password-protect your own browserless instance
FLARESOLVERR_URLhttp://flaresolverr:8191Address of the local FlareSolverr container — used by the flaresolverr transport
FLARESOLVERR_MAX_TIMEOUT60000Max milliseconds FlareSolverr may spend solving one Cloudflare challenge before giving up
CRAWLER_PROXY_URL(empty)Upstream proxy for the browser / flaresolverr transports
SCRAPING_API_URL(empty)Managed scraping API base URL
SCRAPING_API_KEY(empty)API key for the scraping_api transport
SCRAPING_API_KEY_PARAMQuery-param name the provider expects for the key (e.g. apikey)
SCRAPING_API_PARAMSExtra provider flags, e.g. js_render=true&antibot=true&premium_proxy=true

Local vs. external services

browserless and flaresolverr are local Docker containers, not external paid services — everything runs on your own machine and nothing is billed. The only paid option is scraping_api, which stays off until you add a key.

Docker vs. host hostnames

When Laravel runs inside Docker on the same network as the services, use the service hostnames:

ini
BROWSERLESS_URL=http://browserless:3000
FLARESOLVERR_URL=http://flaresolverr:8191

When Laravel runs on the host machine, point at the published host ports instead:

ini
BROWSERLESS_URL=http://localhost:3010
FLARESOLVERR_URL=http://localhost:8191

Managed scraping API example

ini
CRAWLER_TRANSPORT=scraping_api
SCRAPING_API_URL=https://api.zenrows.com/v1/
SCRAPING_API_KEY=your_key
SCRAPING_API_KEY_PARAM=apikey
SCRAPING_API_PARAMS=js_render=true&antibot=true&premium_proxy=true&proxy_country=br

See config/crawler.php for ready-made examples (ZenRows, ScraperAPI, ScrapingBee) and the Transports guide for when each transport is needed.

Released under the MIT License.