mcp.hasdata.com/api/mcp

Web scraping in Devin Desktop,
one config file away

Save one JSON block into ~/.codeium/windsurf/mcp_config.json, hit Connect, and all 57 scraping tools land in Cascade's schema, with no restart and no install step. Proxies and parsing stay on our side. Devin Desktop is the editor that shipped as Windsurf, which is why the path still says so.

1,000 free credits. No credit card required.

57 tools·1–15 credits per call·nothing runs locally
~/.codeium/windsurf/mcp_config.jsonCascade
{ "mcpServers": { "hasdata": {
"serverUrl": "https://mcp.hasdata.com/api/mcp",
"headers": { "x-api-key": "${env:HASDATA_API_KEY}" }
} } }
1 MCP server
hasdata MCP 57 / 57 tools

the key stays in your environment, and the file sits outside the repo either way

ClientsClients

The same MCP server, in the file that commits and in the one that doesn't.

Cascade reads a personal file that never leaves your machine. The Devin CLI reads one that travels with the repo. Same endpoint, same balance, and the key stays a variable in both.

The terminal agent has its own config

The hero file wires Cascade only. The CLI takes one command, writes its own file, and calls the endpoint url where Cascade calls it serverUrl.

$ devin mcp add -s project hasdata https://mcp.hasdata.com/api/mcp
✓ Added MCP server 'hasdata' to project config
A pull brings the allow-list too

.devin/mcp_config.json goes to the repo with the endpoint, and the tool allow-list sits next to it in .devin/mcp_config.json, so a pull brings both. Keys stay out of it: the header reads ${env:HASDATA_API_KEY}, and anything personal belongs in the gitignored .devin/mcp_config.local.json.

"headers": { "x-api-key": "${env:HASDATA_API_KEY}" },
"permissions": { "allow": ["mcp__hasdata__*"] }
a pull delivers the server and the approval
The schema is what you leave on

Cascade's server page lists all 57 tools with a checkbox each. Untick what the agent shouldn't see.

hasdata_amazon_product_getProductDetails
hasdata_bing_serp_getSearchResults

editor or terminal, the endpoint doesn't care

You ask once. Cascade runs the chain.

One prompt, and the calls chain themselves. Each answer becomes the input the next call needs, and you never paste a value between steps.

Cascade names each tool as it calls it, so you watch the reasoning instead of a spinner.

Writes the plan, before any call
Runs the first call and reads what comes back
Takes an id, a term or a coordinate out of the answer
Uses that as the next query

You describe the steps.
It supplies the values.

Cascade · SWE-1.6
Find the top standing desk reviews on YouTube, read the most-watched one, and price what it recommends.
Thought for 3s
Created Todo List· 4 tasks
1Search YouTube for standing desk reviews and get top 5 videos with channel, views, and length
2Pull transcript of the most-viewed video from the list
3Identify main feature/topic from transcript
4Look up that item on Amazon and compare prices and ratings
hasdata /youtube_search_getYoutubeSearchResults
q: "standing desk review"
most-viewed → videoId wZi903mkis0
hasdata /youtube_transcript_getYoutubeTranscript
v: "wZi903mkis0" → 166 segments · 6,155 chars · en (ASR)
0:00 I've been using standing desks for well
0:02 over a year now but do I think they're
0:03 overrated in my opinion some standing
0:06 desks solutions aren't really worth it
0:08 the health benefits of standing is
0:09 highly debated and probably not that
0:11 beneficial and I strongly believe a good
transcript → q: "ergonomic office chair"

Nothing in the prompt names the product. The previous answer does.

hasdata /amazon_search_getSearchResults
q: "ergonomic office chair" → 60 results · organic only, isSponsored filtered out
Cheapest well-reviewed option: $39.99, rated 4.3 from 64,200 reviews. The $209.99 row shows 5.0, from five reviews.

57 scraping tools, already parsed field by field.

All Scraper APIs
Search

Search, every surface of it

The Google results page, Light SERP, AI Mode, AI Overview, News, Shopping, Images, Events and short videos. Plus Bing and Trends.

positiontitlelinksnippet
Local & leads

Businesses, phone included

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

phonewebsiteratingaddress
Listings & stays

Homes, stays and fares

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

pricebedsareadaysOnZillow
Commerce

Products and their sellers

Amazon search, product, seller and seller inventory. Plus Shopify.

currentPricebeforePrice
Video & social

Channels, posts and transcripts

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

viewslikesfollowersCounthashtags
Jobs

Openings and employers

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

companylocationsalarybenefits
Universal

Anything with a URL

Any public URL through the Web Scraping API. Markdown for reading, or name the fields and get typed JSON. A site we don't parse out of the box is a custom scraper away.

markdowntextemailslinks

1,000 free credits is a finished job.

100 SERPs
the parsed page of Google, position to snippet
100 × 10 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 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 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 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 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 Devin Desktop?

Add the HasData MCP server to ~/.codeium/windsurf/mcp_config.json and hit Connect. Cascade discovers 57 scraping tools (SERP, Maps, Amazon, any public URL) and calls them by name in the chat. The Devin CLI keeps its own .devin/mcp_config.json and lists the same server under Devin Local. Proxies, rendering and parsing run on HasData's side. This is a scraping server you add to Devin, not Cognition's own Devin MCP, which points the other way and lets outside agents hand work to Devin.

Is Devin Desktop the same as Windsurf?

Yes. Cognition rebranded Windsurf as Devin Desktop to put the editor and the Devin agent under one name, and the editor agent is still called Cascade. The MCP config format did not change, and one endpoint serves both surfaces, the Cascade MCP marketplace and the Devin Local one.

Does the API key have to sit in the file?

No. ${env:HASDATA_API_KEY} in the headers is what Cascade expects, and it resolves from the environment the app started with. If the variable is missing it resolves to an empty string and the server answers 401, so set it before the app starts, then hit Connect.

How do I add an MCP server to Devin Desktop?

The server showed up on the MCP panel straight away. One click on Connect and it reads hasdata MCP · Connected with all 57 tools listed under Write. No restart, no approval dialog.

Can I switch off tools I don't need?

Yes, one by one, and an unchecked tool never enters the schema. Cascade also caps what it loads at 100 tools across all servers, so 57 leaves room for one more server, not for five.

Is there a config my team can share?

Yes, the one the Devin CLI writes. .devin/mcp_config.json commits with the repo, so a pull is the whole setup. In the app it lands in the Devin Local marketplace, not in Cascade's list.

What does a call cost?

From 1 credit for a plain page read to 15 depending on the tool, from one balance shared with the REST API. You start with 1,000 free, no card.

One config file away.

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

Get started → Documentation

One config file · 1,000 free credits · no card