
Web Research
- 2k installs
- 16 repo stars
- Updated July 14, 2026
- merit-systems/agentcash-skills
web-research uses Exa and Firecrawl x402 APIs for neural search, scraping, and multi-page crawls via agentcash.
About
The web-research skill from agentcash-skills accesses Exa neural search and Firecrawl scraping through x402-protected stableenrich.dev endpoints paid via agentcash wallet. Prefer Exa for semantic search, find-similar, contents extraction, and direct answers; Firecrawl for scrape, search-with-scrape, and Cloudflare crawl on JS-heavy or blocked sites. Quick reference prices: Exa search $0.01, find-similar $0.01, contents $0.002, answer $0.01; Firecrawl scrape $0.0126, search $0.0252, crawl $0.10. Triggers include research, investigate, similar pages, scrape blocked sites, paywall bypass, and crawl entire sites. Setup follows rules/getting-started.md for npx agentcash@latest fetch wallet installation. Better than free WebSearch for deep multi-source research and better than WebFetch on bot-blocked pages. Use when users need paid neural research, site crawling, or x402 API extraction.
- Exa neural search, find-similar, contents, and answer endpoints via x402.
- Firecrawl scrape and search for JS-heavy or blocked page extraction.
- Cloudflare multi-page crawl with job polling endpoint.
- agentcash wallet setup via npx agentcash@latest fetch.
- Scenario matrix choosing Exa vs Firecrawl vs free WebSearch.
Web Research by the numbers
- 1,977 all-time installs (skills.sh)
- +142 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #623 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Aug 4, 2026 (Skillselion catalog sync)
web-research capabilities & compatibility
- Capabilities
- exa neural search · find similar page discovery · firecrawl scrape and search · multi page site crawl · x402 wallet payment flow
- Use cases
- research · web search · web scraping
What web-research says it does
Neural web search and content extraction using x402-protected APIs.
npx skills add https://github.com/merit-systems/agentcash-skills --skill web-researchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2k |
|---|---|
| repo stars | ★ 16 |
| Security audit | 1 / 3 scanners passed |
| Last updated | July 14, 2026 |
| Repository | merit-systems/agentcash-skills ↗ |
How do agents do deep web research or extract content from blocked sites reliably?
Run neural web search and content extraction via x402-protected Exa and Firecrawl APIs for deep research and blocked sites.
Who is it for?
Agents needing semantic search or scraping beyond free WebSearch and WebFetch limits.
Skip if: Simple single-query lookups answerable with free WebSearch only.
When should I use this skill?
User mentions deep research, Exa, Firecrawl, blocked site scrape, or x402 web APIs.
What you get
Structured search results, extracted markdown, or crawl output from paid stableenrich.dev endpoints.
- Web research findings
- CLI command log
- Method routing decision
By the numbers
- Requires agentcash CLI install via npm install -g agentcash
- Supports USDC funding on Base and Solana deposit links
Files
Web Research with x402 APIs
Access Exa (neural search) and Firecrawl (web scraping) through x402-protected endpoints.
Setup
See rules/getting-started.md for installation and wallet setup.
Quick Reference
| Task | Endpoint | Price | Best For |
|---|---|---|---|
| Neural search | https://stableenrich.dev/api/exa/search | $0.01 | Semantic web search |
| Find similar | https://stableenrich.dev/api/exa/find-similar | $0.01 | Pages similar to a URL |
| Extract text | https://stableenrich.dev/api/exa/contents | $0.002 | Clean text from URLs |
| Direct answers | https://stableenrich.dev/api/exa/answer | $0.01 | Factual Q&A |
| Scrape page | https://stableenrich.dev/api/firecrawl/scrape | $0.0126 | Single page to markdown |
| Web search | https://stableenrich.dev/api/firecrawl/search | $0.0252 | Search with scraping |
| Crawl website | https://stableenrich.dev/api/cloudflare/crawl | $0.10 | Multi-page site crawl |
| Poll crawl | GET https://stableenrich.dev/api/cloudflare/jobs?token=... | Free | Poll crawl results |
When to Use What
| Scenario | Tool |
|---|---|
| General web search | WebSearch (free) or Exa ($0.01) |
| Semantic/conceptual search | Exa search |
| Find pages like X | Exa find-similar |
| Get clean text from URL | Exa contents |
| Scrape blocked/JS-heavy site | Firecrawl scrape |
| Search + scrape results | Firecrawl search |
| Quick fact lookup | Exa answer |
| Crawl entire site/section | Cloudflare crawl |
See rules/when-to-use.md for detailed guidance.
Exa Neural Search
Semantic search that understands meaning, not just keywords:
npx agentcash@latest fetch https://stableenrich.dev/api/exa/search -m POST -b '{
"query": "startups building AI agents for customer support",
"numResults": 10,
"type": "neural"
}'Options:
query- Search query (required)numResults- Number of results (default: 10, max: 25)type- "neural" (semantic) or "keyword" (traditional)includeDomains- Only search these domainsexcludeDomains- Skip these domainsstartPublishedDate/endPublishedDate- Date range filtercategory- Filter by content type: "company", "research paper", "news", "pdf", "github", "tweet", "personal site", "linkedin profile", "financial report"- Tip: Use
category: "linkedin profile"for people/profile discovery
Returns: List of URLs with titles, snippets, and relevance scores.
Find Similar Pages
Find pages semantically similar to a reference URL:
npx agentcash@latest fetch https://stableenrich.dev/api/exa/find-similar -m POST -b '{
"url": "https://example.com/article-i-like",
"numResults": 10
}'Great for:
- Finding competitor products
- Discovering related content
- Expanding research sources
Extract Text Content
Get clean, structured text from URLs:
npx agentcash@latest fetch https://stableenrich.dev/api/exa/contents -m POST -b '{
"urls": [
"https://example.com/article1",
"https://example.com/article2"
]
}'Options:
urls- Array of URLs to extracttext- Include full text (default: true)highlights- Include key highlights
Cheapest option ($0.002) when you already have URLs and just need the content.
Direct Answers
Get factual answers to questions:
npx agentcash@latest fetch https://stableenrich.dev/api/exa/answer -m POST -b '{"query": "What is the population of Tokyo?"}'Returns a direct answer with source citations. Best for:
- Factual questions
- Quick lookups
- Verification of claims
Firecrawl Scrape
Scrape a single page to clean markdown:
npx agentcash@latest fetch https://stableenrich.dev/api/firecrawl/scrape -m POST -b '{"url": "https://example.com/page-to-scrape"}'Options:
url- Page to scrape (required)formats- Output formats: ["markdown", "html", "links"]onlyMainContent- Skip nav/footer/ads (default: true)waitFor- Wait ms for JS to render
Advantages over WebFetch:
- Handles JavaScript-rendered content
- Bypasses common blocking
- Extracts main content only
- LLM-optimized markdown output
Firecrawl Search
Web search with automatic scraping of results:
npx agentcash@latest fetch https://stableenrich.dev/api/firecrawl/search -m POST -b '{
"query": "best practices for react server components",
"limit": 5
}'Options:
query- Search query (required)limit- Number of results (default: 5)scrapeOptions- Options passed to scraper
Returns search results with full scraped content for each.
Cloudflare Website Crawl
Crawl multiple pages from a website with browser rendering. Async two-step pattern.
Step 1: Start the crawl (paid, $0.10)
npx agentcash@latest fetch https://stableenrich.dev/api/cloudflare/crawl -m POST -b '{
"url": "https://example.com",
"limit": 10,
"depth": 1,
"formats": ["markdown"]
}'Returns 202 with {"token": "jwt..."}.
Step 2: Poll for results (SIWX, free)
npx agentcash@latest fetch "https://stableenrich.dev/api/cloudflare/jobs?token=JWT_TOKEN"Poll every 3-5 seconds until complete.
Parameters:
url(required) — starting URLlimit(default 10, max 25) — max pagesdepth(default 1, max 3) — max link depthformats—["markdown", "html", "json"]render(default false) — execute JavaScriptoptions.includePatterns/excludePatterns— URL wildcards
Good for: crawling docs sites, scraping multiple pages, building sitemaps.
Workflows
Deep Research
- [ ] (Optional) Check balance:
npx agentcash@latest balance - [ ] Search broadly with Exa
- [ ] Find related sources with find-similar
- [ ] Extract content from top sources
- [ ] Synthesize findings
npx agentcash@latest fetch https://stableenrich.dev/api/exa/search -m POST -b '{"query": "AI agents in healthcare 2024", "numResults": 15}'npx agentcash@latest fetch https://stableenrich.dev/api/exa/find-similar -m POST -b '{"url": "https://best-article-found.com"}'npx agentcash@latest fetch https://stableenrich.dev/api/exa/contents -m POST -b '{"urls": ["url1", "url2", "url3"]}'Blocked Site Scraping
- [ ] Try WebFetch first (free)
- [ ] If blocked/empty, use Firecrawl with
waitForfor JS-heavy sites
npx agentcash@latest fetch https://stableenrich.dev/api/firecrawl/scrape -m POST -b '{"url": "https://blocked-site.com/article", "waitFor": 3000}'Cost Optimization
- Use Exa contents ($0.002) when you already have URLs
- Use WebSearch/WebFetch first (free) and fall back to x402 endpoints
- Batch URL extraction - pass multiple URLs to Exa contents
- Limit results - request only as many as needed
Getting Started
Setup
1. Install the agentcash CLI:
npm install -g agentcash2. Check wallet:
npx agentcash@latest balance3. Fund wallet (if needed):
- Redeem invite:
npx agentcash@latest redeem YOUR_CODE - Or run
npx agentcash@latest accountsto get Base or Solana deposit links and wallet addresses
Troubleshooting
| Issue | Solution |
|---|---|
| "Command not found" | Run npm install -g agentcash |
| "Insufficient balance" | Fund wallet with USDC |
| "Payment failed" | Check balance, retry (transient errors) |
When to Use x402 Web Research
Decision Tree
Need web info?
|
+-- Simple keyword search? --> Use WebSearch (free)
|
+-- Semantic/conceptual search? --> Use Exa search ($0.01)
|
+-- Need to scrape a specific URL?
| |
| +-- WebFetch works? --> Use WebFetch (free)
| |
| +-- Blocked/JS-heavy? --> Use Firecrawl scrape ($0.0126)
|
+-- Find similar pages? --> Use Exa find-similar ($0.01)
|
+-- Already have URLs, need text? --> Use Exa contents ($0.002)
|
+-- Quick factual answer? --> Use Exa answer ($0.01)Exa vs WebSearch
| Aspect | WebSearch | Exa Search |
|---|---|---|
| Price | Free | $0.01 |
| Search type | Keyword | Neural/semantic |
| Best for | Quick lookups | Deep research |
| Results | Web snippets | Ranked with meaning |
| Use when | Simple queries | Complex concepts |
Use Exa when:
- Query is conceptual ("companies solving X problem")
- Need semantic similarity
- Researching a topic in depth
- Standard search isn't finding what you need
Use WebSearch when:
- Query is straightforward keywords
- Quick fact check
- Don't need deep results
- Budget is a concern
Firecrawl vs WebFetch
| Aspect | WebFetch | Firecrawl |
|---|---|---|
| Price | Free | $0.0126 |
| JS rendering | No | Yes |
| Blocked sites | Often blocked | Bypasses many |
| Output | Raw HTML | Clean markdown |
| Main content | No filtering | Extracts main content |
Use Firecrawl when:
- WebFetch returns blocked/403/empty
- Site uses heavy JavaScript
- Need clean markdown, not HTML
- Content is behind soft paywall
Use WebFetch when:
- Site works with simple fetch
- HTML format is fine
- Cost is a concern
- Testing before x402 call
Exa Search vs Firecrawl Search
| Aspect | Exa Search | Firecrawl Search |
|---|---|---|
| Price | $0.01 | $0.0252 |
| Output | URLs + snippets | URLs + full content |
| Best for | Finding sources | Search + immediate read |
Use Exa search to find relevant URLs, then selectively extract content.
Use Firecrawl search when you want search results AND their full content in one call.
Cost Comparison
For a typical research task (find 10 sources, read 3):
| Approach | Cost |
|---|---|
| WebSearch + WebFetch | $0 (if sites allow) |
| Exa search + contents | $0.01 + $0.006 = $0.016 |
| Firecrawl search (5) | $0.0252 |
| Exa search + Firecrawl scrape (3) | $0.01 + $0.0378 = $0.0478 |
Recommendation
1. Start free: Try WebSearch + WebFetch first 2. Fall back to x402: Use Exa/Firecrawl when free tools fail 3. Exa for discovery: Use Exa search to find URLs 4. Cheapest extraction: Use Exa contents ($0.002/call) for known URLs 5. Firecrawl for tough sites: Use when JS rendering or bypass needed
Related skills
How it compares
Use web-research when agents need paid, fresh web results via agentcash; use free search MCPs when wallet setup is unavailable.
FAQ
When should I use Exa vs Firecrawl?
Exa for semantic search and clean text extraction; Firecrawl for blocked or JS-heavy page scraping.
How are API calls paid?
Through x402-protected stableenrich.dev endpoints using the agentcash wallet per getting-started.md.
Can it crawl an entire site section?
Yes via Cloudflare crawl endpoint with free job polling for results.
Is Web Research safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.