Firecrawl Skill for Hermes: Transform Any Website into Clean Markdown
The Problem
Web data is everywhere, but getting it into a clean, usable format for AI agents is a pain. Raw HTML is noisy, JavaScript-rendered pages can't be scraped with simple HTTP requests, and building reliable web extraction pipelines from scratch takes significant engineering effort.
That's exactly why we built the Firecrawl skill for Hermes — a plug-and-play integration that gives your AI agent instant access to clean web content, search results, and browser interactions.
What the Firecrawl Skill Does
With a single skill install, your Hermes AI agent can:
- Scrape any URL and get back clean Markdown — no HTML noise
- Search the web and retrieve full page content from results
- Crawl entire websites systematically
- Interact with dynamic pages — fill forms, click buttons, handle JavaScript
- Extract structured data as JSON from any page
How It Works
The skill wraps Firecrawl's v2 API with a simple Python helper:
import os, urllib.request, json
BASE = "https://api.firecrawl.dev/v2"
KEY = os.environ["FIRECRAWL_API_KEY"]
def firecrawl(endpoint, payload):
data = json.dumps(payload).encode()
req = urllib.request.Request(
f"{BASE}/{endpoint}",
data=data,
headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
)
return json.loads(urllib.request.urlopen(req).read())
Scraping a page is then one line:
result = firecrawl("scrape", {"url": "https://example.com", "formats": ["markdown"]})
print(result["data"]["markdown"])
Real-World Examples
Web search with full content:
results = firecrawl("search", {"query": "best Python frameworks 2026", "limit": 5})
for r in results["data"]:
print(f"{r['title']} — {r['url']}")
Extract structured data:
result = firecrawl("scrape", {
"url": "https://shop.example.com/product/123",
"formats": ["extract"],
"extract": {"prompt": "Extract product name, price, and availability"}
})
print(result["data"]["extract"])
# → {"name": "...", "price": 29.99, "availability": "In Stock"}
Interact with dynamic pages:
result = firecrawl("interact", {
"url": "https://example.com/login",
"actions": [
{"type": "fill", "selector": "#email", "value": "user@example.com"},
{"type": "click", "selector": "#submit"},
{"type": "scrape", "formats": ["markdown"]}
]
})
Using It with Hermes
- Add your API key to
~/.hermes/.env:
FIRECRAWL_API_KEY=your_key_here
- Get your key at firecrawl.dev
- Ask your Hermes agent naturally:
- "Scrape https://news.ycombinator.com and summarize the top stories"
- "Search for Python best practices and give me a summary"
- "Extract all product prices from this e-commerce page"
Hermes routes these requests to the Firecrawl skill automatically.
Get Started
The Firecrawl skill is now live in the hermes-skills repository. ⭐ Star it to follow future skill releases — we're building the toolkit for production AI agents, one skill at a time.
Top comments (0)