x402-scraper-api
Server Details
Programmatic web-scraping MCP server powered by x402 micro-transactions on Base.
- Status
- Healthy
- Uptime
- 44.2% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- Repository
- ihen404/x402-scraper-api
- GitHub Stars
- 0
TDQS
Scored across 2 tools
The two tools are mostly distinct: static vs JS-rendered pages, with pricing differences reinforcing the choice. However, advanced likely also handles static content, so an agent may wonder whether basic is ever preferable beyond cost.
Both names follow the same scrape_<modifier> pattern with clear adjectives. There is no mixing of conventions.
Two tools is borderline thin for a scraper API, though the narrow tiered-scraping purpose makes it understandable. Additional operations would likely be expected in a fuller API surface.
The core scrape action is covered for both static and dynamic pages, but there are notable gaps such as batch scraping, structured extraction options, or job/status handling. Agents can work around this for simple cases, but the surface feels minimal.
Available Tools
2 toolsscrape_advancedBInspect
Scrapes JS-rendered SPAs, React apps, and dynamic pages ($0.03 USDC micro-transaction).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full behavioral burden. It usefully discloses a $0.03 USDC micro-transaction cost, which is real value the schema cannot convey, but it says nothing about return format, timeout/rendering limits, failure behavior, or whether a wallet balance is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The differentiating capability comes first and the cost caveat is appended compactly — every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should say more about what comes back and how it differs from scrape_basic. It covers the capability and the cost, but an agent still lacks return-shape and alternative-selection information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
One parameter at 0% schema description coverage, and the description adds nothing about the 'url' parameter (format, whether redirects/relative URLs are accepted, page-level options). With low coverage the description is expected to compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Scrapes') and a concrete resource class ('JS-rendered SPAs, React apps, and dynamic pages'), which tells an agent this is the heavyweight rendering path. It does not explicitly name scrape_basic as the counterpart, so the sibling differentiation is left to inference from the 'advanced' naming.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of JS-rendered/dynamic pages implies when this tool is appropriate versus a static scraper, but there is no explicit 'use this instead of scrape_basic when...' routing or any exclusion. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_basicBInspect
Scrapes static web page content ($0.01 USDC micro-transaction).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the $0.01 USDC micro-transaction cost and the static-content limitation, which are useful traits. However, it omits payment/auth mechanics, rate limits, and output or rendering behavior, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and scope, with no wasted words. Appropriately sized for a simple one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple scraper, the description covers the core action and cost. Yet the sibling relationship with scrape_advanced remains implicit, and return format or payment flow is not clarified, which an agent may need when selecting between the two tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage for the single required url parameter is 0%, so the description must compensate and does not. It adds no format, constraints, or examples for the URL, leaving the parameter largely self-explanatory but undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the specific verb 'Scrapes' and resource 'static web page content'. The word 'static' implicitly distinguishes it from the sibling scrape_advanced, but the description never names or directly contrasts with that sibling, so full sibling differentiation is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not guidance. The phrase 'static web page content' hints that dynamic pages are out of scope, but there is no instruction on choosing this tool over scrape_advanced, nor any mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- Removed
purchase_pass - Added
scrape_advanced - Removed
scrape_batch - Removed
scrape_cached - Removed
scrape_dynamic - Removed
scrape_proof - Removed
scrape_stealth - Removed
scrape_structured - Removed
scrape_token_minified - Removed
webhook_relay
11 tool updates
- Added
purchase_pass - Removed
scrape - Added
scrape_basic - Added
scrape_batch - Added
scrape_cached - Added
scrape_dynamic - Added
scrape_proof - Added
scrape_stealth - Added
scrape_structured - Added
scrape_token_minified - Added
webhook_relay
1 tool update
- Changed
scrape1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "properties": { + "content": { + "description": "Extracted clean markdown content", + "type": "string" + }, + "success": { + "type": "boolean" + }, + "url": { + "type": "string" + } + }, + "type": "object" +}
3 tool updates
- Removed
batch_scrape - Removed
extract_metadata - Changed
scrape1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"URL to scrape"New value: +"Target web URL to scrape"
3 tool updates
- Changed
batch_scrape1 field changed- changed
Input schema / properties / urls / descriptionPrevious value: -"Array of fully qualified URLs to scrape concurrently"New value: +"Array of URLs to scrape"
- Changed
extract_metadata1 field changed- changed
Input schema / properties / selector / descriptionPrevious value: -"CSS selector string to target specific elements (optional)"New value: +"CSS selector to target (optional)"
- Changed
scrape1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"Fully qualified URL to scrape"New value: +"URL to scrape"
3 tool updates
- Changed
batch_scrape1 field changed- changed
Input schema / properties / urls / descriptionPrevious value: -"Array of URLs to scrape"New value: +"Array of fully qualified URLs to scrape concurrently"
- Changed
extract_metadata1 field changed- changed
Input schema / properties / selector / descriptionPrevious value: -"CSS selector to target (optional)"New value: +"CSS selector string to target specific elements (optional)"
- Changed
scrape1 field changed- changed
Input schema / properties / url / descriptionPrevious value: -"URL to scrape"New value: +"Fully qualified URL to scrape"
2 tool updates
- Added
batch_scrape - Added
extract_metadata
9 tool updates
- Removed
automate - Removed
crawl - Removed
extract - Removed
get_analytics - Removed
pdf - Removed
render - Added
scrape - Removed
screenshot - Removed
search_rag
8 tool updates
- Added
automate - Changed
crawl1 field changed- added
Input schema / properties / maxPagesAdded value: +{ + "description": "Maximum total pages to crawl", + "type": "number" +}
- Changed
extract2 fields changed- added
Input schema / properties / selectorAdded value: +{ + "description": "Optional CSS selector to target a specific container element", + "type": "string" +} - added
Input schema / properties / timeoutAdded value: +{ + "description": "Page load timeout in milliseconds", + "type": "number" +}
- Added
get_analytics - Added
pdf - Changed
render1 field changed- added
Input schema / properties / waitForSelectorAdded value: +{ + "description": "Optional CSS selector to wait for", + "type": "string" +}
- Added
screenshot - Added
search_rag
4 tool updates
- Added
crawl - Added
extract - Added
render - Removed
scrape
1 tool update
- First observed
scrape
Related MCP Connectors
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
SqueezeOS MCP for live machine discovery and x402-paid USDC APIs on Base.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Production-grade MCP gateway delivering 8 real-time AI tools with instant x402 micropayments settled in USDC on Base Mainnet or SPL-USDC on Solana. Features Basescan contract auditing, wallet analytics, headless browser scraping, and pre-scraped oracle data feeds.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server that lets AI agents scrape web pages as clean markdown for a micro-payment in USDC, using the x402 protocol on Base network. No API keys or signup required.MIT

nanoparse-mcpofficial
AlicenseAqualityBmaintenanceMCP server that enables AI agents to fetch web content as clean, structured Markdown via NanoParse's hosted API, using x402 micropayments in USDC on Base.116 npmMIT- AlicenseAqualityCmaintenanceA Model Context Protocol server that executes headless web scraping and ephemeral secret vaults, settling micro-transactions natively on Base Mainnet via the x402 protocol.455 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP server providing 50+ crypto, market intelligence, and AI inference endpoints with x402 pay-per-request micropayments on Base.2Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.