mcp.hasdata.com/api/mcp

Web scraping in Claude Code,
in one command

Claude Code picks from 57 named tools, we handle the proxies and the parsing, and the result lands in your repo as a changed file. Nothing to install.

1,000 free credits. No credit card required.

57 tools· 1–15 credits per call· pay only for success
terminal — claude
bash
$ claude mcp add hasdata -s project -t http \
https://mcp.hasdata.com/api/mcp \
--header 'x-api-key: ${HASDATA_API_KEY}'
Added HTTP MCP server hasdata with URL: https://mcp.hasdata.com/api/mcp to project config
File modified: .mcp.json
ClientsClients

You ask. Claude Code scrapes the rest.

Each prompt names a file in the repo. The answer is a change to it.

Prompt

Take leads.csv, fill in role and city for every row, write it back

Agent trace

reads leads.csv and spots the two empty columns
picks serp_light, because role and city live in result snippets
serp_light q: "Guillermo Rauch Vercel linkedin", one per row
writes rows back, and a miss keeps its blank
leads.csv · +2 columns
leads.csv modified
-name, company
+name, company, role, city
+Guillermo Rauch, Vercel, CEO at Vercel, San Francisco
+Mitchell Hashimoto, Superlogical, Co-founder, prev HashiCorp
the profile page never loads, so there is nothing to block

Commit .mcp.json and the setup travels with the repo. A teammate pulls, approves the server once, and has the same tools.

Add the MCP server. That's the whole setup.

MCP, the default

already done if you ran the command above

No binary, no download. The model reads 57 tool schemas and routes by name. A project-scoped server waits for your approval, so run claude once to approve it:

verify
bash
$ claude mcp get hasdata
hasdata:
Scope: Project config (shared via .mcp.json)
Status: ⏸ Pending approval (run `claude` to approve)
Type: http
URL: https://mcp.hasdata.com/api/mcp
Headers:
x-api-key: ${HASDATA_API_KEY}
after you approve, the same command flips one line
Status: ✔ Connected

The Claude Code plugin, for the jobs you rerun often enough to deserve a command

/plugin marketplace add HasData/hasdata-claude-plugin
✔ Successfully added marketplace: hasdata
/plugin install hasdata@hasdata
✔ Successfully installed plugin: hasdata@hasdata
/hasdata:leads /hasdata:enrich /hasdata:price
$ claude plugin details hasdata@hasdata
Skills (13) · MCP servers (0)
Always-on: ~2,700 tok per session
needs the hasdata CLI in PATH · key via `hasdata configure` or export plugin updates via the marketplace, CLI from releases

Same key, same credits, no separate signup. Default to MCP. Add the plugin when a prompt hardens into a routine.

The usual suspects, already parsed.

All Scraper APIs ›
Search

The whole results page

Google SERP, Light SERP, AI Mode, AI Overview, News, Shopping, Images, Trends. Plus Bing.

positiontitlesnippetknowledgeGraph
Local & leads

Businesses, ready to call

Google Maps places, reviews, photos and posts. Plus Yelp and YellowPages.

phonewebsiteratinghours
Commerce

Prices, current and before

Amazon products and sellers. Any Shopify catalog.

asincurrentPricebeforePriceseller
Listings & stays

Homes, stays and fares

Zillow, Redfin, Airbnb, Booking, Google Hotels, Google Flights.

pricebedsareaavailability
Video & social

Channels, posts and transcripts

YouTube search, video, channel and transcript. TikTok profile, posts and keyword search. Instagram.

viewslikesfollowershashtags
Jobs

Openings and employers

Indeed for the openings, Glassdoor for the employers behind them.

companylocationsalarybenefits
Universal

Anything else

Any public URL. Markdown for reading, or name the fields and get JSON. Proxies, rendering and captchas stay on our side.

markdown html emails links

1,000 free credits is a finished job.

200 rows
a lead list enriched end to end
200 × 5 credits, the free tier exactly
~4,000 rows
Maps businesses with phones
200 pages × 5 credits · 20 per page
1,000 pages
read as clean markdown
1 credit each with jsRendering false, datacenter proxy
Free
$0 /mo
One-time free trial
1,000 credits to start
1,000 credits, one time
1 concurrent request
Pay only for successful requests
One balance across MCP, CLI and REST
Start free
Startup
$49 /mo
$0.24 / 1k credits
200K credits / month
200K credits / month
15 concurrent requests
Pay only for successful requests
One balance across MCP, CLI and REST
Get started
Business
Recommended
$99 /mo
$0.10 / 1k credits
1M credits / month
1M credits / month
30 concurrent requests
Pay only for successful requests
One balance across MCP, CLI and REST
Get started
Growth
$249 /mo
$0.08 / 1k credits
3M credits / month
50 concurrent requests
Pay only for successful requests
One balance across MCP, CLI and REST
Get started
Monthly credit volume
Free 1M 5M 20M 60M 100M
Best fit
Business
credits / mo
1M
Concurrency
30
$ / 1k credits
$0.10
$99 /mo
Get Started
Enterprise
Custom price based on required volume

Past 100M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
SOC-2 compliance
Security review, DPA, and audit reports.
Talk to sales Quote within one business day

Frequently asked
questions.

The short answers. Everything longer lives in the docs and on Discord.

How do I scrape websites in Claude Code?

Add the HasData MCP server with one command: claude mcp add hasdata -s project -t http https://mcp.hasdata.com/api/mcp. Claude Code discovers 57 scraping tools (SERP, Maps, Amazon, any public URL), calls them by name, and writes the results into files in your repo. Proxies, rendering and parsing run on HasData’s side.

Isn't WebFetch enough?

Often, yes. It reads one page at a known URL, and it's free. It doesn't return parsed search results, doesn't pass anti-bot protection, and isn't built for two hundred rows. If your job is a lookup, keep WebFetch. If it's a list, that's what the 57 tools are for.

What's a credit and how far does 1,000 go?

Tool calls run 1–15 credits. A plain page read is 1, Light SERP and Maps are 5, a full SERP is 10. The free 1,000 is exactly one 200-row enrichment run, or 1,000 page reads.

Where does my API key live?

As a variable. With single quotes in the add command, ${HASDATA_API_KEY} lands in .mcp.json unexpanded, so the file commits safely and the key stays in your environment. Double quotes would let the shell expand it into the file. Don’t.

What does -s project change?

It writes .mcp.json into the repository instead of your local config, so the server definition gets reviewed, versioned and pulled like any other file. Without the flag the scope is local, your machine only.

How do long jobs behave on the free tier?

A page load caps at 300 seconds, and a request that fails there is not charged. Free-tier concurrency is 1, so a loop over a file runs sequentially. Paid plans start at 15 concurrent requests and go up.

What if the site I need isn't covered?

The universal web_scraping tool takes any public URL and returns markdown, raw HTML, or JSON in a schema you define. For built-in parsing on a specific site, request a custom scraper.

MCP server or the plugin?

MCP is the default. Claude reads the tool schemas and combines them inside any prompt you write. The plugin ships 13 fixed skills behind slash commands and runs them through the hasdata CLI. When a prompt hardens into a routine you type every week, that routine is a plugin command. Same key and the same credit balance either way.

How does MCP differ from the REST API?

Same infrastructure, two surfaces. REST is for your backend code over HTTP. MCP makes the same 57 tools auto-discoverable inside Claude Code. Same API key, same credit balance.

Is this legal?

HasData accesses only publicly viewable content: no login walls, no paywalls. Scraping public data is generally legal. Compliance with the target site’s terms and your jurisdiction’s laws (GDPR, CCPA) is your responsibility.

The web, as tool calls.

Web scraping in Claude Code, minus the infrastructure. No headless browsers, no proxy pools, no parsers to maintain, just structured data back.

Get started → Documentation

One command · 1,000 free credits · no card