Firecrawl Scraper
secondsky/claude-skills
Firecrawl v2.5 API for web scraping/crawling to LLM-ready markdown.
Complete knowledge domain for Firecrawl v2 API - web scraping and crawling that converts websites into LLM-ready markdown or structured data.
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .claude/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .claude/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .agents/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .agents/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .agents/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .cursor/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .cursor/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ynulihao/AgentSkillOS.git --path data/skill_seeds/firecrawl-scraper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .gemini/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .gemini/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .github/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .github/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .github/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ynulihao/AgentSkillOS firecrawl-scraper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ynulihao/AgentSkillOS.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/data/skill_seeds/firecrawl-scraper .opencode/skills/firecrawl-scraper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "firecrawl-scraper" agent skill from https://github.com/ynulihao/AgentSkillOS/tree/main/data/skill_seeds/firecrawl-scraper into .opencode/skills/firecrawl-scraper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "firecrawl-scraper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
firecrawl-scraperComplete knowledge domain for Firecrawl v2 API - web scraping and crawling that converts websites into LLM-ready markdown or structured data.
Firecrawl Scraper is an agent skill from ynulihao/AgentSkillOS. Complete knowledge domain for Firecrawl v2 API - web scraping and crawling that converts websites into LLM-ready markdown or structured data. Use when: scraping websites, crawling entire sites, extracting web content, converting HTML to markdown, building web scrapers, handling dynamic JavaScript content, bypassing anti-bot protection, extracting structured data from web pages, or when encountering "content not loading", "JavaScript rendering issues", or "blocked by bot detection". Keywords: firecrawl, firecrawl…
Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering Web scraping. It works with Firecrawl and JavaScript. The repository describes itself as: Build your agent from 200,000+ skills via skill RETRIEVAL & ORCHESTRATION. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c3cfae1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmpippnpmnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
news.comapi.firecrawl.devAlso links to:
docs.firecrawl.devfirecrawl.devgithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
FIRECRAWL_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Firecrawl Scraper loads about 4.1k tokens when it runs. Until then it costs about 211 tokens; SKILL.md has 838 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
# .env file# .env.local (for local development)Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ynulihao/AgentSkillOS at commit c3cfae1, republished under its MIT licence (© ynulihao). 838 words, ~4,108 tokens.
.claude/skills/firecrawl-scraper/SKILL.md (or your agent's skills folder).Status: Production Ready ✅ Last Updated: 2025-10-24 Official Docs: https://docs.firecrawl.dev API Version: v2
Firecrawl is a Web Data API for AI that turns entire websites into LLM-ready markdown or structured data. It handles:
/v2/scrape - Single Page ScrapingScrapes a single webpage and returns clean, structured content.
Use Cases:
Key Options:
formats: ["markdown", "html", "screenshot"]onlyMainContent: true/false (removes nav, footer, ads)waitFor: milliseconds to wait before scrapingactions: browser automation actions (click, scroll, etc.)/v2/crawl - Full Site CrawlingCrawls all accessible pages from a starting URL.
Use Cases:
Key Options:
limit: max pages to crawlmaxDepth: how many links deep to followallowedDomains: restrict to specific domainsexcludePaths: skip certain URL patterns/v2/map - URL DiscoveryMaps all URLs on a website without scraping content.
Use Cases:
/v2/extract - Structured Data ExtractionUses AI to extract specific data fields from pages.
Use Cases:
Key Options:
schema: Zod or JSON schema defining desired structuresystemPrompt: guide AI extraction behaviorFirecrawl requires an API key for all requests.
fc-)NEVER hardcode API keys in code!
# .env file
FIRECRAWL_API_KEY=fc-your-api-key-here# .env.local (for local development)
FIRECRAWL_API_KEY=fc-your-api-key-herepip install firecrawl-pyLatest Version: firecrawl-py v4.5.0+
import os
from firecrawl import FirecrawlApp
# Initialize client
app = FirecrawlApp(api_key=os.environ.get("FIRECRAWL_API_KEY"))
# Scrape a single page
result = app.scrape_url(
url="https://example.com/article",
params={
"formats": ["markdown", "html"],
"onlyMainContent": True
}
)
# Access markdown content
markdown = result.get("markdown")
print(markdown)import os
from firecrawl import FirecrawlApp
app = FirecrawlApp(api_key=os.environ.get("FIRECRAWL_API_KEY"))
# Start crawl
crawl_result = app.crawl_url(
url="https://docs.example.com",
params={
"limit": 100,
"scrapeOptions": {
"formats": ["markdown"]
}
},
poll_interval=5 # Check status every 5 seconds
)
# Process results
for page in crawl_result.get("data", []):
url = page.get("url")
markdown = page.get("markdown")
print(f"Scraped: {url}")import os
from firecrawl import FirecrawlApp
app = FirecrawlApp(api_key=os.environ.get("FIRECRAWL_API_KEY"))
# Define schema
schema = {
"type": "object",
"properties": {
"company_name": {"type": "string"},
"product_price": {"type": "number"},
"availability": {"type": "string"}
},
"required": ["company_name", "product_price"]
}
# Extract data
result = app.extract(
urls=["https://example.com/product"],
params={
"schema": schema,
"systemPrompt": "Extract product information from the page"
}
)
print(result)npm install @mendable/firecrawl-js
# or
pnpm add @mendable/firecrawl-js
# or use the unscoped package:
npm install firecrawlLatest Version: @mendable/firecrawl-js v4.4.1+ (or firecrawl v4.4.1+)
import FirecrawlApp from '@mendable/firecrawl-js';
// Initialize client
const app = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY
});
// Scrape a single page
const result = await app.scrapeUrl('https://example.com/article', {
formats: ['markdown', 'html'],
onlyMainContent: true
});
// Access markdown content
const markdown = result.markdown;
console.log(markdown);import FirecrawlApp from '@mendable/firecrawl-js';
const app = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY
});
// Start crawl
const crawlResult = await app.crawlUrl('https://docs.example.com', {
limit: 100,
scrapeOptions: {
formats: ['markdown']
}
});
// Process results
for (const page of crawlResult.data) {
console.log(`Scraped: ${page.url}`);
console.log(page.markdown);
}import FirecrawlApp from '@mendable/firecrawl-js';
import { z } from 'zod';
const app = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY
});
// Define schema with Zod
const schema = z.object({
company_name: z.string(),
product_price: z.number(),
availability: z.string()
});
// Extract data
const result = await app.extract({
urls: ['https://example.com/product'],
schema: schema,
systemPrompt: 'Extract product information from the page'
});
console.log(result);Scenario: Convert entire documentation site to markdown for RAG/chatbot
app = FirecrawlApp(api_key=os.environ.get("FIRECRAWL_API_KEY"))
docs = app.crawl_url(
url="https://docs.myapi.com",
params={
"limit": 500,
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": True
},
"allowedDomains": ["docs.myapi.com"]
}
)
# Save to files
for page in docs.get("data", []):
filename = page["url"].replace("https://", "").replace("/", "_") + ".md"
with open(f"docs/{filename}", "w") as f:
f.write(page["markdown"])Scenario: Extract structured product data for e-commerce
const schema = z.object({
title: z.string(),
price: z.number(),
description: z.string(),
images: z.array(z.string()),
in_stock: z.boolean()
});
const products = await app.extract({
urls: productUrls,
schema: schema,
systemPrompt: 'Extract all product details including price and availability'
});Scenario: Extract clean article content without ads/navigation
article = app.scrape_url(
url="https://news.com/article",
params={
"formats": ["markdown"],
"onlyMainContent": True,
"removeBase64Images": True
}
)
# Get clean markdown
content = article.get("markdown")from firecrawl import FirecrawlApp
from firecrawl.exceptions import FirecrawlException
app = FirecrawlApp(api_key=os.environ.get("FIRECRAWL_API_KEY"))
try:
result = app.scrape_url("https://example.com")
except FirecrawlException as e:
print(f"Firecrawl error: {e}")
except Exception as e:
print(f"Unexpected error: {e}")import FirecrawlApp from '@mendable/firecrawl-js';
const app = new FirecrawlApp({
apiKey: process.env.FIRECRAWL_API_KEY
});
try {
const result = await app.scrapeUrl('https://example.com');
} catch (error) {
if (error.response) {
// API error
console.error('API Error:', error.response.data);
} else {
// Network or other error
console.error('Error:', error.message);
}
}onlyMainContent: true to reduce credits and get cleaner datamap endpoint first to plan crawling strategyThe Firecrawl SDK cannot run in Cloudflare Workers due to Node.js dependencies (specifically axios which uses Node.js http module). Workers require Web Standard APIs.
✅ Use the direct REST API with fetch instead (see example below).
Alternative: Self-host with workers-firecrawl - a Workers-native implementation (requires Workers Paid Plan, only implements /search endpoint).
This example uses the fetch API to call Firecrawl directly - works perfectly in Cloudflare Workers:
interface Env {
FIRECRAWL_API_KEY: string;
SCRAPED_CACHE?: KVNamespace; // Optional: for caching results
}
interface FirecrawlScrapeResponse {
success: boolean;
data: {
markdown?: string;
html?: string;
metadata: {
title?: string;
description?: string;
language?: string;
sourceURL: string;
};
};
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
if (request.method !== 'POST') {
return Response.json({ error: 'Method not allowed' }, { status: 405 });
}
try {
const { url } = await request.json<{ url: string }>();
if (!url) {
return Response.json({ error: 'URL is required' }, { status: 400 });
}
// Check cache (optional)
if (env.SCRAPED_CACHE) {
const cached = await env.SCRAPED_CACHE.get(url, 'json');
if (cached) {
return Response.json({ cached: true, data: cached });
}
}
// Call Firecrawl API directly using fetch
const response = await fetch('https://api.firecrawl.dev/v2/scrape', {
method: 'POST',
headers: {
'Authorization': `Bearer ${env.FIRECRAWL_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: url,
formats: ['markdown'],
onlyMainContent: true,
removeBase64Images: true
})
});
if (!response.ok) {
const errorText = await response.text();
throw new Error(`Firecrawl API error (${response.status}): ${errorText}`);
}
const result = await response.json<FirecrawlScrapeResponse>();
// Cache for 1 hour (optional)
if (env.SCRAPED_CACHE && result.success) {
await env.SCRAPED_CACHE.put(
url,
JSON.stringify(result.data),
{ expirationTtl: 3600 }
);
}
return Response.json({
cached: false,
data: result.data
});
} catch (error) {
console.error('Scraping error:', error);
return Response.json(
{ error: error instanceof Error ? error.message : 'Unknown error' },
{ status: 500 }
);
}
}
};Environment Setup: Add FIRECRAWL_API_KEY in Wrangler secrets:
npx wrangler secret put FIRECRAWL_API_KEYOptional KV Binding (for caching - add to wrangler.jsonc):
{
"kv_namespaces": [
{
"binding": "SCRAPED_CACHE",
"id": "your-kv-namespace-id"
}
]
}See templates/firecrawl-worker-fetch.ts for a complete production-ready example.
✅ Use Firecrawl when:
❌ Don't use Firecrawl when:
Cause: API key not set or incorrect Fix:
# Check env variable is set
echo $FIRECRAWL_API_KEY
# Verify key format (should start with fc-)Cause: Exceeded monthly credits Fix:
onlyMainContent: true to reduce creditsCause: Page takes too long to load Fix:
result = app.scrape_url(url, params={"waitFor": 10000}) # Wait 10sCause: Content loaded via JavaScript after initial render Fix:
result = app.scrape_url(url, params={
"waitFor": 5000,
"actions": [{"type": "wait", "milliseconds": 3000}]
})Perform interactions before scraping:
result = app.scrape_url(
url="https://example.com",
params={
"actions": [
{"type": "click", "selector": "button.load-more"},
{"type": "wait", "milliseconds": 2000},
{"type": "scroll", "direction": "down"}
]
}
)result = app.scrape_url(
url="https://example.com",
params={
"headers": {
"User-Agent": "Custom Bot 1.0",
"Accept-Language": "en-US"
}
}
)Instead of polling, receive results via webhook:
crawl = app.crawl_url(
url="https://docs.example.com",
params={
"limit": 1000,
"webhook": "https://your-domain.com/webhook"
}
)| Package | Version | Last Checked |
|---|---|---|
| firecrawl-py | 4.5.0+ | 2025-10-20 |
| @mendable/firecrawl-js (or firecrawl) | 4.4.1+ | 2025-10-24 |
| API Version | v2 | Current |
Note: The Node.js SDK requires Node.js >=22.0.0 and cannot run in Cloudflare Workers. Use direct REST API calls in Workers (see Cloudflare Workers Integration section).
Token Savings: ~60% vs manual integration Error Prevention: API authentication, rate limiting, format handling Production Ready: ✅
© ynulihao, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in data/skill_seeds/firecrawl-scraper of ynulihao/AgentSkillOS.
Open the folder on GitHubat commit c3cfae1
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in ynulihao/AgentSkillOS, which our catalogue first saw on October 7, 2026.
Firecrawl Scraper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Firecrawl Scraper this skillynulihao/AgentSkillOS | 617 | 1 repos | ~4.1k | Automated safety check: Notes | MIT | |
| Firecrawl Scrapersecondsky/claude-skills | 227 | 1 repos | ~1.9k | Automated safety check: Notes | MIT | |
| Firecrawlaiskillstore/marketplace | 430 | 1 repos | ~2.6k | Automated safety check: Pass | None | |
| Firecrawl Scraperlamm-mit/scienceclaw | 244 | — | ~425 | Automated safety check: Pass | Apache-2.0 | |
| Web Scrapingplatonai/Browser4 | 1.2k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Selenium Opinion Crawler123321kk/opinion-agent-ultimate | 107 | — | ~631 | Automated safety check: Pass | None |
secondsky/claude-skills
Firecrawl v2.5 API for web scraping/crawling to LLM-ready markdown.
aiskillstore/marketplace
Firecrawl handles all web operations with superior accuracy, speed, and LLM-optimized output.
lamm-mit/scienceclaw
Web scraping of JavaScript-rendered scientific websites using Firecrawl API
platonai/Browser4
Extracts data from web pages using browser automation and CSS/JavaScript selectors.
123321kk/opinion-agent-ultimate
browser-based page capture and text extraction for public-opinion research.
einverne/dotfiles
Browser automation, debugging, and performance analysis using Puppeteer CLI scripts.
ynulihao/AgentSkillOS
Generate or edit images using AI models (FLUX, Gemini). An agent skill from ynulihao/AgentSkillOS.
ynulihao/AgentSkillOS
Transform data into compelling narratives using visualization, context, and persuasive structure.
ynulihao/AgentSkillOS
Master advanced prompt engineering techniques to maximize LLM performance, reliability, and controllability in production.
ynulihao/AgentSkillOS
Create employment contracts, offer letters, and HR policy documents following legal best practices.
ynulihao/AgentSkillOS
Master SQL query optimization, indexing strategies, and EXPLAIN analysis to dramatically improve database performance and eliminate slow queries.
ynulihao/AgentSkillOS
Process multimedia files with FFmpeg (video/audio encoding, conversion, streaming, filtering, hardware acceleration), ImageMagick (image manipulation, format conversion, batch processing, effects…
Works with
Categories
Complete knowledge domain for Firecrawl v2 API - web scraping and crawling that converts websites into LLM-ready markdown or structured data. Firecrawl Scraper is an agent skill from ynulihao/AgentSkillOS. Complete knowledge domain for Firecrawl v2 API - web scraping and crawling that converts websites into LLM-ready markdown or structured data.
Firecrawl Scraper fits situations like: : scraping websites; crawling entire sites; extracting web content; converting HTML to markdown.
Run `npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a claude-code`. Or copy the skill folder (data/skill_seeds/firecrawl-scraper in ynulihao/AgentSkillOS) into .claude/skills/firecrawl-scraper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a codex`. Or copy the skill folder (data/skill_seeds/firecrawl-scraper in ynulihao/AgentSkillOS) into .agents/skills/firecrawl-scraper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ynulihao/AgentSkillOS --skill firecrawl-scraper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/firecrawl-scraper, .gemini/skills/firecrawl-scraper, .github/skills/firecrawl-scraper and .opencode/skills/firecrawl-scraper in your project.
Going by SKILL.md and its folder, Firecrawl Scraper needs the command-line tools its instructions call (npm, pip, pnpm and npx) and credentials named FIRECRAWL_API_KEY. Our summary lists: Python 3; Node.js; A credential in FIRECRAWL_API_KEY.
SKILL.md names 5 domains. In commands or code: news.com and api.firecrawl.dev; the agent is likely to contact these when it follows the instructions. As links in the text: docs.firecrawl.dev, firecrawl.dev and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Firecrawl Scraper is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Firecrawl Scraper: Firecrawl Scraper (secondsky/claude-skills, 227 stars), Firecrawl (aiskillstore/marketplace, 430 stars), Firecrawl Scraper (lamm-mit/scienceclaw, 244 stars) and Web Scraping (platonai/Browser4, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ynulihao (a GitHub user) maintains it in ynulihao/AgentSkillOS, which has 617 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on March 7, 2026.
Source: ynulihao/AgentSkillOS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.