ClawHub
Install the MrScraper skill on ClawHub to give your OpenClaw agent AI-powered, unblockable web scraping through natural language.
ClawHub Integration
ClawHub is a marketplace of skills and plugins for OpenClaw agents. Skills extend an agent's capabilities across research, integrations, and automation, and are installed from a central registry.
The MrScraper skill lets your agent run AI-powered, unblockable web scraping and data extraction using natural language, backed by the MrScraper API.
Overview
Once installed, your agent can:
- Unblock pages: Retrieve HTML from sites that block ordinary requests, using a stealth browser and IP rotation.
- Create AI scrapers: Turn a natural-language instruction into a working scraper.
- Rerun scrapers: Apply an existing scraper configuration to new URLs, one at a time or in bulk.
- Run manual scrapers: Execute browser workflows built from selectors.
- Fetch results: Retrieve scrape results, paginated or by ID.
The skill makes direct HTTPS calls to the MrScraper API. There are no bundled scripts and no local installation step beyond installing the skill itself.
Prerequisites
- An OpenClaw agent with the
openclawCLI available. - A MrScraper API token.
Installation
Install the skill
openclaw skills install @ai-mrscraper/mrscraperCreate a MrScraper API token
- Open the MrScraper dashboard.
- Click your user profile in the top-right corner.
- Select API Tokens.
- Click New Token.
- Enter a name and an expiration date.
- Click Create and copy the token.
Store the token
Expose the token to your agent as the MRSCRAPER_API_TOKEN environment variable.
export MRSCRAPER_API_TOKEN="your-token-here"Keep your token secret
Never expose your API token in client-side code, logs, or commits. Store it in an environment variable or a server-side secret manager.
Authentication
Every request the skill makes carries these headers:
x-api-token: <MRSCRAPER_API_TOKEN>
accept: application/json
content-type: application/jsonMrScraper exposes two base URLs:
| API | Base URL | Purpose |
|---|---|---|
| Unblocker | https://api.mrscraper.com | Fetch HTML from blocked pages |
| Platform | https://api.app.mrscraper.com | Create, rerun, and read scrapers and results |
Available Endpoints
Unblocker
Opens blocked pages using a stealth browser and IP rotation, and returns the page content.
curl 'https://api.mrscraper.com?url=https%3A%2F%2Fexample.com&timeout=120&geoCode=SG' \
-H "x-api-token: <MRSCRAPER_API_TOKEN>"| Parameter | Required | Default | Description |
|---|---|---|---|
url | Yes | — | The target URL, URL-encoded. |
timeout | No | 60 | Maximum seconds to wait for the page to load. |
geoCode | No | — | ISO country code for proxy routing. |
blockResources | No | — | Block images, CSS, and fonts for faster loading. |
Create AI Scraper
Creates a scraper from a natural-language instruction and runs it.
curl -X POST "https://api.app.mrscraper.com/api/v1/scrapers-ai" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"url": "https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"message": "Extract title, price, stocks, and rating",
"agent": "general"
}'Agent types:
| Agent | Description |
|---|---|
general | Standard pages such as product details, articles, and profiles. This is the default. |
listing | Product listings, job boards, search results, and other paginated collections. |
map | Website crawling that follows links to discover pages. |
Rerun AI Scraper
Applies an existing scraper configuration to a new URL.
curl -X POST "https://api.app.mrscraper.com/api/v1/scrapers-ai-rerun" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"scraperId": "6695bf87-aaa6-46b0-b1ee-88586b222b0b",
"url": "https://shopee.sg/"
}'Bulk Rerun AI Scraper
Runs one scraper configuration across multiple URLs in a single request.
curl -X POST "https://api.app.mrscraper.com/api/v1/scrapers-ai-rerun/bulk" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"scraperId": "6695bf87-aaa6-46b0-b1ee-88586b222b0b",
"urls": [
"https://books.toscrape.com/catalogue/a-light-in-the-attic_1000/index.html",
"https://books.toscrape.com/catalogue/tipping-the-velvet_999/index.html"
]
}'Manual Scraper Rerun
Executes a browser workflow built from selectors, for cases where you want explicit extraction rules instead of AI.
curl -X POST "https://api.app.mrscraper.com/api/v1/scrapers-manual-rerun" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"scraperId": "6695bf87-aaa6-46b0-b1ee-88586b222b0b",
"url": "https://books.toscrape.com/",
"workflow": [
{
"type": "extract",
"data": {
"extraction_type": "text",
"name": "book",
"selector": "h3 a"
}
}
]
}'Fetch Results
Returns paginated scrape results.
curl -X GET "https://api.app.mrscraper.com/api/v1/results?sortField=updatedAt&sortOrder=DESC&page=1&pageSize=10" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>"Fetch Result by ID
Returns the detail of a single result.
curl -X GET "https://api.app.mrscraper.com/api/v1/results/497f6eca-6276-4993-bfeb-53cbbbba6f08" \
-H "x-api-token: <MRSCRAPER_API_TOKEN>"Map Agent Configuration
When you use the map agent, these parameters control how the crawl behaves:
| Parameter | Description |
|---|---|
maxDepth | How many levels of links to follow. A value of 1–2 is recommended. |
maxPages | Maximum number of pages to crawl. |
limit | Maximum number of records to extract. |
includePatterns | Regex patterns for URLs to include. Separate multiple patterns with ||. |
excludePatterns | Regex patterns for URLs to exclude. Separate multiple patterns with ||. |
Keep crawls bounded
Set maxDepth to 1 or 2 and cap maxPages. Depth grows the crawl exponentially, and an unbounded crawl burns tokens fast.
Error Handling
The API uses standard HTTP status codes:
| Status | Meaning |
|---|---|
400 | Invalid request payload. |
401 | Missing or invalid API token. |
404 | Resource not found. |
429 | Rate limit exceeded. |
500 | Internal error. |
Retry 429 responses with exponential backoff.
Data Scope
Data is transmitted only to MrScraper servers. Responses contain the extracted page content and its metadata. Never expose your API token in logs or commits.