Files
hermes-skills/skills/devops/infrastructure-automation/references/web-research-tools.md
T

3.1 KiB

Web Research & Scraping Stack

Configured Jul 7, 2026. Three-tier search/scraping capability for Hermes and Anita's profile.

Current Stack

Firecrawl (native web tools)

  • API Key: fc-4f9...63c1 (in ~/.hermes/.env)
  • Plan: Starter (1,000 credits/mo free)
  • Endpoint: api.firecrawl.dev
  • Purpose: Native web_search and web_extract tools in Hermes. Quick content extraction from URLs.
  • Auth: Bearer token in Authorization header
  • Credits used per call: 1 (cache hit) to 1+ (fresh scrape)
  • Credit tracking: ~/.hermes/scripts/firecrawl-usage.json
  • Upgrade option: ~$50-100/mo for 5,000 credits (not cost-effective vs ScrapingAnt — 20x less volume at higher cost)

ScrapingAnt (JS-heavy sites)

  • API Key: 8ab7...4af6 (in ~/.hermes/.env)
  • Plan: Free tier (10,000 credits) → $19/mo for 100K+
  • Purpose: JS-rendered pages, government sites (Texas Legislature), LinkedIn, Indeed, CBDriver
  • Endpoint: api.scrapingant.com/v2/general?url=...&x-api-key=... (with optional &browser=true for JS render)
  • Features: Headless Chrome, browser=true param for JS rendering
  • Cost per request: varies by JS render usage

SearXNG (self-hosted, unlimited)

  • URL: http://127.0.0.1:8888
  • Purpose: Private web search, unlimited queries, multi-engine aggregation
  • Format: JSON API: http://127.0.0.1:8888/search?q=<query>&format=json
  • Deployment: Docker container on Core (port 8888, localhost only)
  • Limits: 120 req/min

Anita's Profile Access

Anita's profile at ~/.hermes/profiles/anita/ was configured with:

  • .env file with FIRECRAWL_API_KEY, SCRAPINGANT_API_KEY, SEARXNG_BASE_URL
  • web.backend: firecrawl in config.yaml
  • web toolset enabled
  • Gateway restart required to pick up new config

Use Cases

Site Tool Method
Government (TX Leg., court records) ScrapingAnt browser=true for JS rendering
CBDriver, Indeed ScrapingAnt Headless Chrome handles JS
LinkedIn (public profiles) ScrapingAnt Can pull public pages
LinkedIn (deep search) Apify LinkedIn actor (~$30-50/mo) Handles auth, rate limits, structured data
General web search SearXNG (self-hosted) Unlimited, private
Quick URL extract Firecrawl (native tool) Free credits
Debtor skip tracing Sherlock + theHarvester Username search / domain recon

OSINT Tools (installed on Core)

  • Sherlock (/opt/sherlock/) — search 400+ sites by username. cd /opt/sherlock && ./venv/bin/python sherlock <username>
  • theHarvester (/opt/theharvester/) — email/domain recon. cd /opt/theharvester && ./venv/bin/python theHarvester -d <domain> -b google

Usage Tracking

~/.hermes/scripts/track-firecrawl.py tracks monthly usage across both services. Cron: firecrawl-usage-check at 9 AM daily (no_agent).

Cost Recommendation

Keep Firecrawl free tier for quick lookups (1K/mo free). Add ScrapingAnt $19/mo for JS-heavy sites (100K credits). Skip Firecrawl upgrade entirely. Add Apify LinkedIn actor (~$30-50/mo) only when deep LinkedIn people search is needed for DRE skip tracing.