DuckDuckGo MCP Server
Connect your AI agents to HasData's DuckDuckGo MCP server. Scrape organic rankings, ads, and the Search Assist AI answer in structured JSON over streamable HTTP.
https://mcp.hasdata.com/api/mcp?apis=duckduckgo - Transport
- Streamable HTTP
- Auth
- OAuth or API key
- Tools
- 1 DuckDuckGo tool
- Price
- 10 credits / call


See the DuckDuckGo MCP server in action
Select a sample prompt to inspect the tool it chooses and the JSON payload your agent receives.
What does DuckDuckGo return for "model context protocol"?
What is DuckDuckGo's own AI answer for that query?
Who is buying ads on DuckDuckGo for "model context protocol"?
How do the DuckDuckGo results for that query look on mobile in Germany?
The DuckDuckGo tool your agent can call
1 toolOne tool, one page of results. A search takes q, and a paging call swaps it for the nextPageToken the previous response returned, which already carries the query, the region and the safe-search setting.
+ hasdata_duckduckgo_serp_getSearchResults One page of results for a query 5 params 10 credits
Try| Parameter | Type | Required | Example |
|---|---|---|---|
| q | string | required | "model context protocol" |
| kl | enum | optional | "us-en" |
| safeSearch | enum | optional | "moderate" |
| deviceType | enum | optional | "mobile" |
| nextPageToken | string | optional | "eyJzIjoz…" |
- organicResults
- ads
- searchAssist
- pagination
Every call is 10 credits. Failed calls are not billed.
One endpoint, any MCP client
Config blocks for Claude Desktop, Cursor, VS Code, Windsurf and Claude Code, in each one’s native format. Authenticate with browser OAuth or an x-api-key header.
Claude Code
hasdata-duckduckgo · connected · 1 toolCursor
hasdata-duckduckgo · 1 tool enabledClaude Desktop
hasdata-duckduckgo · connected · 1 toolVS Code / Copilot
hasdata-duckduckgo · running · 1 toolWindsurf
hasdata-duckduckgo · 1 toolCodex CLI
hasdata-duckduckgo · 1 toolRaw HTTP / curl
{ "tools": [ … 1 item ] }DuckDuckGo plus whatever else you need
Name the services in the query string and the server exposes only their tools. Every one draws from the same key and the same balance.
Free on GitHub, paid in hours
Anyone can clone a free MCP to scrape DuckDuckGo. Whether that stays free depends on the shape of your project.
A script I run once
A weekly report
A pipeline in production
A feature in my product
One balance, every interface
A flat monthly price against a known credit ceiling. Move up a plan when you outgrow it.
Free
Startup
Basic
RecommendedGrowth
Monthly tool call volume
Custom price based on required volume
Past 20M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.
The same data, without the agent.
Before you wire it in
Do I need a DuckDuckGo account or API key?
No. The only credential is your HasData key. The tool reads the public results page a signed-out visitor sees.
How do I page through the results?
Each response returns a <code>nextPageToken</code>. Send that instead of <code>q</code> on the next call and you get the following page, with the query, the region and the safe-search setting already carried over. Send one or the other, not neither.
Do the search operators work?
Yes. <code>site:</code>, quoted phrases and the rest go through as typed, so an agent can narrow a query the same way a person would in the search box.
What is Search Assist?
DuckDuckGo’s own AI answer above the results. It arrives as its own block when the page shows one, so you can track whether a query triggers it and what it says without parsing the page yourself.
How fresh is the data? Is anything cached?
Every tool call fetches the page at that moment, so a ranking change from an hour ago is already reflected. Nothing is served from a cache.
Can I compare regions and devices?
Yes. <code>kl</code> selects the region and language pair, <code>deviceType</code> switches between desktop, mobile and tablet. Both are enums, so the agent picks a documented value rather than guessing a header.
How many calls can run in parallel?
One on the free tier, five on Startup, fifteen on Basic, and fifty on Growth. The larger Growth volumes raise it to 200, 300 and 500.
What happens when I run out of credits?
Nothing is charged on top of the plan. Calls stop until the billing cycle renews.
Does it work with Claude Desktop, Cursor, VS Code and Claude Code?
Yes, all four, plus anything else that speaks MCP over streamable HTTP. Claude Desktop connects through OAuth, and the rest take the URL and an API key header.
Is HasData affiliated with DuckDuckGo?
No. HasData is an independent service and is not affiliated with, endorsed by, or sponsored by DuckDuckGo, Inc. DuckDuckGo is a trademark of its respective owner.