Anybrowse
Anybrowse is a web scraping and search server that converts URLs to LLM-ready Markdown, extracts structured data, and performs web searches using real Chrome browsers with JavaScript rendering.
Scrape a single URL (
scrape): Convert any webpage to clean Markdown, handling JavaScript-heavy sites, Cloudflare-protected pages, dynamic content, and CAPTCHAs with an 84% success rate.Batch scrape multiple URLs (
batch_scrape): Scrape up to 10 URLs simultaneously in a single call, returning all results as Markdown.Extract structured data (
extract): Pull specific fields (strings, numbers, booleans, arrays, objects) from any URL as JSON using a custom schema — ideal for prices, product details, and contact info.Crawl search results (
crawl): Search Google for a query and scrape the top results (1–20), returning full page content as Markdown with titles and URLs.Search the web (
search): Perform fast web searches via Brave Search API and get structured JSON results (titles, URLs, descriptions) without scraping full page content.
Access includes 10 free calls/day (50 with a free account), with unlimited usage available via pay-per-use USDC payments on the Base network.
Utilizes the Brave Search API to provide real-time web search capabilities, enabling the retrieval and conversion of search results into LLM-ready Markdown.
Enables content extraction from Cloudflare-protected websites by automatically solving Cloudflare Turnstile challenges and bypassing security measures.
anybrowse
Convert any URL to clean, LLM-ready Markdown.
Real Chrome browsers with full JavaScript rendering. 84% success rate including JavaScript-heavy sites, Cloudflare-protected pages, and government sites.
🆓 10 free MCP calls/day — no signup required. Get 50/day free with email signup.
MCP Server (Free)
Connect any MCP-compatible client to https://anybrowse.dev/mcp (Streamable HTTP transport).
Quick config for Claude Desktop / Cline / Cursor:
{
"mcpServers": {
"anybrowse": {
"url": "https://anybrowse.dev/mcp"
}
}
}No API key needed. Works out of the box. 10 free calls/day per IP, 50/day with a free account.
Tools
Tool | Description |
| Convert any URL to clean, LLM-optimized Markdown. Handles SPAs, dynamic content, and PDFs. |
| Search Google for a query and scrape the top results to Markdown. |
| Google search results as structured JSON (titles, URLs, snippets). |
Related MCP server: webpeel
HTTP API (x402 Pay-Per-Use)
Endpoint | Price | Description |
| $0.003 USDC | URL → Markdown |
| $0.005 USDC | Search + scrape top results |
| $0.002 USDC | Google SERP as JSON |
Example
curl -X POST https://anybrowse.dev/scrape \
-H "Content-Type: application/json" \
-H "X-PAYMENT: <x402_payment_proof>" \
-d '{"url": "https://example.com"}'Response:
{
"url": "https://example.com",
"title": "Example Domain",
"markdown": "# Example Domain\n\nThis domain is for use in illustrative examples...",
"status": "ok"
}Free Tier
Tier | Limit | How to get it |
Anonymous | 10 MCP calls/day | Just use it — no config needed |
Free account | 50 calls/day | Sign up — 10 seconds, no credit card |
Credits | 3,000+ calls | Buy credits from $5 |
x402 | Unlimited | Pay per call with USDC on Base |
Payment
Payments use the x402 protocol with USDC on Base. Any x402-compatible client or agent wallet can pay automatically. The facilitator is Coinbase CDP (https://api.cdp.coinbase.com/platform/v2/x402).
Discovery
Agent card: https://anybrowse.dev/.well-known/agent-card.json
OpenAPI spec: https://anybrowse.dev/openapi.json
x402 discovery: https://anybrowse.dev/.well-known/x402
Health: https://anybrowse.dev/health
Links
Website: https://anybrowse.dev
MCP endpoint:
https://anybrowse.dev/mcpProtocols: A2A, x402, MCP
Network: Base (USDC)
Wallet:
0x8D76E8FB38541d70dF74b14660c39b4c5d737088
Available Tools
5 toolsbatch_scrapeAInspect
Scrape multiple URLs at once (up to 10) and get all results as markdown. More efficient than calling scrape() in a loop.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | List of URLs to scrape (max 10) | |
| context | No | Optional: what you're trying to accomplish |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It mentions the max of 10 URLs and markdown output, but lacks details on error handling, partial failures, or speed characteristics. Adequate but not thorough.
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?
Two concise sentences with no extraneous text. Front-loaded with the core action and resource, efficiently conveying key points.
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 tool with 2 parameters and no output schema, the description is fairly complete. It covers purpose, limits, and output format. However, it omits error handling and partial result behavior, which are relevant for batch operations.
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 description coverage is 100%, so baseline is 3. The description adds 'up to 10' constraint and efficiency note, but does not clarify the 'context' parameter's effect or provide example values.
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?
The description clearly states it scrapes multiple URLs at once (up to 10) and returns markdown. It distinguishes itself from the sibling 'scrape' by noting efficiency improvements over looping.
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?
It explicitly recommends using this tool when you have multiple URLs, contrasting with calling scrape() in a loop. However, it does not specify when to use alternatives like crawl or search, or provide exclusions for single URLs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crawlAInspect
Search Google for a query and scrape the top results to Markdown. Returns structured results with title, URL, and full page content.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query | |
| count | No | Number of results to scrape (1-20, default 3) | |
| context | No | Optional: what you're trying to accomplish (e.g., 'finding competitors pricing', 'researching market trends'). Helps return more targeted results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description effectively discloses the tool's behavior: it performs a Google search, scrapes the top results, and returns structured Markdown. It does not cover potential rate limits or ethical considerations, but for a simple tool the coverage is good.
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?
The description is extremely concise at two sentences, with the purpose stated first. Every word adds value; no redundancy or fluff.
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?
Given the tool's simplicity and lack of annotations or output schema, the description covers the main functionality and return structure. It lacks an explicit link between the 'count' parameter and 'top results,' and could mention default count, but overall it is fairly complete.
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?
The input schema already describes all three parameters (q, count, context) with 100% coverage. The description adds no additional parameter-level context beyond the schema. Baseline 3 is appropriate.
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?
The description clearly states the specific action: 'Search Google for a query and scrape the top results to Markdown.' It distinguishes from siblings like 'search' (which likely returns only search results) and 'scrape' (which likely scrapes a given URL), by combining search and content extraction.
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 description implies usage for obtaining full-page content from search results, but it does not explicitly differentiate from siblings 'search' or 'scrape', nor does it provide when-not-to-use guidance. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extractAInspect
Extract structured data from any URL as JSON. Provide a schema describing what fields you want. Schema format: {"fieldName": "type"} where type is one of: string, number, boolean, array, object. Example: {"title": "string", "price": "number", "inStock": "boolean"}. Great for prices, availability, product details, contact info.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to extract data from | |
| schema | Yes | Field names mapped to type strings. Format: {"fieldName": "string|number|boolean|array|object"}. Example: {"title": "string", "price": "number", "inStock": "boolean", "tags": "array"} | |
| context | No | Optional: what you're trying to accomplish (helps LLM extraction accuracy) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that output is JSON and input requires a schema, but does not mention error handling, authentication, rate limits, or behavior on invalid URLs. This is a basic but incomplete disclosure.
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?
The description is three sentences, front-loading the core purpose. It efficiently conveys usage and format. Minor room for improvement: integrating the example more concisely could reduce redundancy with the schema.
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?
Given the three parameters (two required) and no output schema, the description adequately covers the main use case and schema format. However, it lacks mention of the optional 'context' parameter and does not specify output structure beyond 'as JSON'. Constraints like size limits or supported URL types are absent, making it barely adequate for a complete picture.
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?
The input schema provides descriptions for all three parameters (100% coverage). The description adds value by explaining the schema format with an example and clarifying the data types. However, it does not mention the optional 'context' parameter, which is covered in the schema but not in the description.
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?
The description clearly states the tool extracts structured data from any URL as JSON, using a user-provided schema. This distinguishes it from sibling tools like 'scrape' (general HTML extraction) and 'search' (querying). The verb 'extract' and resource 'structured data' are specific and unambiguous.
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 description explains when to use the tool by providing examples of suitable use cases (prices, availability, product details). However, it does not explicitly exclude alternative scenarios or compare with sibling tools like 'crawl' or 'batch_scrape', leaving some room for interpretation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrapeAInspect
Convert any URL to clean, LLM-ready Markdown. 84% success rate including JavaScript-heavy sites, Cloudflare-protected pages, and government sites. Renders JavaScript, handles dynamic content, bypasses common bot detection with stealth mode and CAPTCHA solving. Returns structured markdown with title and metadata. Tip: provide 'context' to get more relevant results. Free tier: 10 scrapes per day. Get 50 per day at anybrowse.dev/upgrade-free
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The URL to scrape (must start with http:// or https://) | |
| context | No | Optional: what you're trying to accomplish (e.g., 'comparing job salaries', 'researching competitors', 'extracting product prices'). Helps anybrowse return more relevant content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses success rate, handling of JavaScript/Cloudflare sites, stealth mode, and CAPTCHA solving. This goes beyond minimal expectations, though it could mention handling of robots.txt or daily limits more explicitly.
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?
Four sentences, each earning its place: main action, success metrics, feature list, practical tip and limits. Front-loaded with the core purpose. No wasted words.
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?
Despite lacking annotations and output schema, the description covers the tool's capabilities, success rate, and rate limits. It could include error handling details, but overall provides sufficient context for an agent.
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 is 100% with descriptions already provided. The description adds value by explaining how to use 'context' for relevance, and confirms the URL format requirement. This justifies a score above baseline 3.
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?
Clearly states 'Convert any URL to clean, LLM-ready Markdown.' Verb and resource are specific. While it doesn't explicitly differentiate from siblings like batch_scrape or crawl, the purpose is distinct and well-communicated.
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?
Provides tips (use 'context' for better results) and mentions free tier limits. However, lacks explicit guidance on when NOT to use this tool or how it compares to alternatives like batch_scrape or search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Search the web using Brave Search API — fast, reliable, no rate limits. Returns titles, URLs, and descriptions as structured JSON without scraping the pages.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query | |
| count | No | Number of results (1-20, default 5) | |
| context | No | Optional: what you're trying to accomplish. Helps with result relevance. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses performance and output format, but lacks details on limitations (e.g., query length, result freshness) or any caveats. With no annotations, more is expected.
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?
Two sentences, efficiently communicates key points without verbosity. Front-loaded with core purpose.
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?
No output schema, but describes return structure (titles, URLs, descriptions). Missing details like pagination or error handling, but sufficient for a search tool.
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 covers 100% of parameters; description adds no extra semantics beyond repeating 'q' as query and noting 'context' is optional. Baseline score appropriate.
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?
Clearly states it searches the web using Brave Search API, returning structured results. Distinguishes from siblings like scrape/crawl by highlighting it doesn't scrape pages.
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?
Implies usage for quick searches with 'fast, reliable, no rate limits', but does not explicitly compare to sibling tools or specify when not to use.
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.
5 tool updates
v0.1.1- Added
batch_scrape - Added
crawl - Added
extract - Added
scrape - Added
search
TDQS
Scored across 5 tools
Tools are mostly distinct: scrape for single page, batch_scrape for multiple, extract for structured data, search for search results, crawl for search plus scraping. However, scrape and crawl could be confused as both return markdown from web pages; descriptions help but boundary is a bit fuzzy.
Names are simple verbs (scrape, extract, search, crawl) with batch_scrape as a compound. While they share a consistent verb-prefix style, the lack of noun-based consistency (e.g., get_page, search_web) makes the pattern less predictable. Still readable.
With 5 tools, the count is well-sized for a web scraping/search MCP server. Each tool serves a distinct purpose, though one could argue crawl and search overlap slightly. It's within the ideal range, not too few or too many.
The server covers core web retrieval tasks: single scrape, batch scrape, structured extraction, web search, and search-with-scrape. Missing features like scraping to different formats (e.g., screenshots) or advanced extraction options are minor gaps. Overall, the main workflows are complete.
Maintenance
Related MCP Connectors
Web scraping for AI agents. Converts URLs to clean, LLM-ready Markdown with anti-bot bypass.
Cloud scraping & crawling API for AI agents. Turn any URL into clean, LLM-ready markdown.
Web scraping for AI agents: scrape, search, crawl, map any website to markdown + JSON. No browser.
Scrape, crawl and search the web for AI agents via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceWeb scraping MCP server for Al agents. 6 tools: extract clean text/markdown from any URL, structured scraping with CSS selectors, full-page screenshots via Playwright, link extraction with regex filtering, metadata extraction (OG tags, Twitter cards), and Google search. Free tier: 50 requests/IP/day.8MIT
- AlicenseNot gradedqualityBmaintenanceThe web data platform for AI agents. Fetch, search, crawl, extract, monitor, and screenshot any URL. 55+ domain extractors, 65-98% token savings. 7 MCP tools included.332 npm12AGPL 3.0
- AlicenseAqualityFmaintenanceStructured web extraction for AI agents. Pass any URL and a prompt, get clean JSON data back. Native MCP server with 100 free requests/month.3794 npmMIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.392 PyPI8MIT