Loading...
Loading...
Neural web search and content extraction using x402-protected APIs. Better than WebSearch for deep research and WebFetch for blocked sites. USE FOR: - Deep web research and investigation - Finding similar pages to a reference URL - Extracting clean text from web pages - Scraping sites that block standard fetchers - Getting direct answers to factual questions - Research requiring multiple sources TRIGGERS: - "research", "investigate", "deep dive", "find sources" - "similar to", "pages like", "more like this" - "scrape", "extract content from", "get the text from" - "blocked site", "can't access", "paywall" - "what is", "explain", "answer this" Prefer Exa for semantic/neural search, Firecrawl for direct scraping. IMPORTANT: Never guess endpoint paths. All paths follow the pattern https://enrichx402.com/api/{provider}/{action}. Use exact URLs from the Quick Reference table below or call x402.discover_api_endpoints first.
npx skill4agent add merit-systems/x402scan-skills web-researchSTOP — Read before making any API call. enrichx402.com endpoints are not the same as each provider's native API. All paths use the format. You MUST either:https://enrichx402.com/api/{provider}/{action}
- Copy exact URLs from the Quick Reference table below, OR
- Run
to get the correct pathsx402.discover_api_endpoints(url="https://enrichx402.com")Guessing paths will fail with 405 errors (wrong path) or 404 errors (missingprefix)./api/
| Task | Endpoint | Price | Best For |
|---|---|---|---|
| Neural search | | $0.01 | Semantic web search |
| Find similar | | $0.01 | Pages similar to a URL |
| Extract text | | $0.002 | Clean text from URLs |
| Direct answers | | $0.01 | Factual Q&A |
| Scrape page | | $0.0126 | Single page to markdown |
| Web search | | $0.0252 | Search with scraping |
| 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 |
x402.fetch(
url="https://enrichx402.com/api/exa/search",
method="POST",
body={
"query": "startups building AI agents for customer support",
"numResults": 10,
"type": "neural"
}
)querynumResultstypeincludeDomainsexcludeDomainsstartPublishedDateendPublishedDatex402.fetch(
url="https://enrichx402.com/api/exa/find-similar",
method="POST",
body={
"url": "https://example.com/article-i-like",
"numResults": 10
}
)x402.fetch(
url="https://enrichx402.com/api/exa/contents",
method="POST",
body={
"urls": [
"https://example.com/article1",
"https://example.com/article2"
]
}
)urlstexthighlightsx402.fetch(
url="https://enrichx402.com/api/exa/answer",
method="POST",
body={
"query": "What is the population of Tokyo?"
}
)x402.fetch(
url="https://enrichx402.com/api/firecrawl/scrape",
method="POST",
body={
"url": "https://example.com/page-to-scrape"
}
)urlformatsonlyMainContentwaitForx402.fetch(
url="https://enrichx402.com/api/firecrawl/search",
method="POST",
body={
"query": "best practices for react server components",
"limit": 5
}
)querylimitscrapeOptionsx402.get_wallet_infox402.discover_api_endpoints(url="https://enrichx402.com")x402.fetch(
url="https://enrichx402.com/api/exa/search",
method="POST",
body={"query": "AI agents in healthcare 2024", "numResults": 15}
)x402.fetch(
url="https://enrichx402.com/api/exa/find-similar",
method="POST",
body={"url": "https://best-article-found.com"}
)x402.fetch(
url="https://enrichx402.com/api/exa/contents",
method="POST",
body={"urls": ["url1", "url2", "url3"]}
)waitForx402.fetch(
url="https://enrichx402.com/api/firecrawl/scrape",
method="POST",
body={"url": "https://blocked-site.com/article", "waitFor": 3000}
)# These don't depend on each other
x402.fetch(url=".../exa/search", body={"query": "topic A"})
x402.fetch(url=".../exa/search", body={"query": "topic B"})