Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Optimize Firecrawl scraping performance with caching, batch scraping, and format selection. Use when experiencing slow scrapes, optimizing credit usage per page, or building high-throughput scraping pipelines. Trigger with phrases like "firecrawl performance", "optimize firecrawl", "firecrawl latency", "firecrawl caching", "firecrawl slow", "firecrawl batch".
.claude/skills/jeremylongshore-firecrawl-performance-tuning/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 53% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 122% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 89% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 64% | 0% |
Tune the whole path from submission to accepted downstream record. Preserve freshness, completeness, target policy, and cost while changing one control at a time.
Firecrawl v2 cache behavior is controlled by maxAge/minAge and related options; current defaults and effects belong to the scrape documentation. Crawl and batch provide waiter and asynchronous paths, pagination can dominate retrieval time, and queue wait consumes request timeout. maxConcurrency affects page processing but remains bounded by team capacity.
For authenticated Cloud operations, inject FIRECRAWL_API_KEY from an approved secret manager. REST requests use Authorization: Bearer with the key. Never print, commit, transmit, or place a key in a URL. Keyless access is suitable only where the current documentation explicitly allows it and the workload accepts its limits; production workflows should make identity and team ownership explicit.
Use Read, Glob, and Grep to inspect code, configuration, tests, and evidence. Use Write/Edit only for approved implementation or documentation changes. Do not call Firecrawl, rotate keys, change account settings, scrape a target, or deploy merely because this skill was invoked.
Require approval before reducing freshness, enabling storage/cache on sensitive sources, increasing concurrency or scope, changing formats, or accepting lower completeness.
Return the baseline, bottleneck attribution, controlled experiment, configuration delta, latency/throughput/quality/cost results, queue effects, chosen setting, and rollback threshold.
Read official Firecrawl evidence before relying on an endpoint, SDK method, plan limit, price, retention option, or self-hosted release.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 23,033 | 20,035 | -13% | 1 | 1 | 0% | 4,709 | 4,730 | +0% | 0 | 0 | — |
case-02 | pass→pass | 12,586 | 11,558 | -8% | 1 | 1 | 0% | 2,245 | 3,972 | +77% | 0 | 0 | — |
case-03 | pass→pass | 13,156 | 10,422 | -21% | 1 | 1 | 0% | 2,036 | 3,599 | +77% | 0 | 0 | — |
case-04 | pass→pass | 7,910 | 3,731 | -53% | 1 | 1 | 0% | 1,219 | 2,387 | +96% | 0 | 0 | — |
case-05 | pass→pass | 15,653 | 7,798 | -50% | 1 | 1 | 0% | 2,439 | 3,257 | +34% | 0 | 0 | — |
case-06 | pass→pass | 736,680 | 908,155 | +23% | 1 | 1 | 0% | 2,011 | 2,673 | +33% | 0 | 0 | — |
case-07 | fail→pass | 29,996 | 4,874 | -84% | 1 | 1 | 0% | 4,434 | 2,560 | -42% | 0 | 0 | — |
case-08 | pass→pass | 11,651 | 8,553 | -27% | 1 | 1 | 0% | 1,994 | 3,162 | +59% | 0 | 0 | — |
case-09 | fail→pass | 13,863 | 11,239 | -19% | 1 | 1 | 0% | 2,438 | 3,729 | +53% | 0 | 0 | — |
case-10 | fail→fail | 17,629 | 13,122 | -26% | 1 | 1 | 0% | 3,004 | 4,294 | +43% | 0 | 0 | — |
case-11 | fail→pass | 24,734 | 8,607 | -65% | 1 | 1 | 0% | 1,437 | 3,190 | +122% | 0 | 0 | — |
case-12 | fail→fail | 15,059 | 11,763 | -22% | 1 | 1 | 0% | 2,320 | 3,826 | +65% | 0 | 0 | — |
case-13 | pass→pass | 32,559 | 10,571 | -68% | 1 | 1 | 0% | 2,823 | 3,724 | +32% | 0 | 0 | — |
case-14 | pass→pass | 3,787 | 2,695 | -29% | 1 | 1 | 0% | 653 | 2,158 | +230% | 0 | 0 | — |
case-15 | pass→pass | 11,843 | 7,286 | -38% | 1 | 1 | 0% | 1,679 | 2,935 | +75% | 0 | 0 | — |
case-16 | fail→pass | 10,141 | 7,731 | -24% | 1 | 1 | 0% | 1,619 | 3,059 | +89% | 0 | 0 | — |
case-17 | fail→pass | 8,374 | 2,897 | -65% | 1 | 1 | 0% | 1,332 | 2,188 | +64% | 0 | 0 | — |
case-18 | pass→pass | 8,397 | 5,346 | -36% | 1 | 1 | 0% | 1,634 | 2,706 | +66% | 0 | 0 | — |
case-19 | pass→pass | 20,239 | 9,169 | -55% | 1 | 1 | 0% | 3,538 | 3,350 | -5% | 0 | 0 | — |
case-20 | pass→pass | 9,627 | 7,153 | -26% | 1 | 1 | 0% | 1,816 | 3,089 | +70% | 0 | 0 | — |
case-21 | pass→pass | 9,128 | 8,675 | -5% | 1 | 1 | 0% | 1,877 | 3,415 | +82% | 0 | 0 | — |
case-22 | pass→pass | 19,400 | 8,248 | -57% | 1 | 1 | 0% | 3,819 | 3,371 | -12% | 0 | 0 | — |
case-23 | pass→pass | 21,379 | 17,256 | -19% | 1 | 1 | 0% | 4,039 | 4,918 | +22% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 22 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +22 percentage points is the difference between those two pass rates over the 22 comparable cases.
The publisher has shipped newer versions since this run, so these numbers describe v1, not the version currently listed.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.