# HasData DuckDuckGo

Supplies structured DuckDuckGo search output in JSON. Ideal for scraping organic rankings, inspecting ad blocks, and checking 37 regional markets.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 7
- Author: HasData
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/HasData/duckduckgo-mcp
- Updated: 2026-10-12
- HTML: https://affpapa.org/en/nevibecode/mcp/hasdata-duckduckgo

## What it does

This hosted endpoint delivers parsed search data with rankings, domain positions, separate ad entries, and DuckDuckGo artificial intelligence summaries. All processing happens on the remote infrastructure. You do not need to install local headless browsers or configure scraping fallback chains.

Setup requires a HasData API token passed in the `x-api-key` header. If a client lacks streamable HTTP capabilities, you can use the npm wrapper `@hasdata/duckduckgo-mcp` or the PyPI package `hasdata-duckduckgo-mcp`. Without an active API key in headers or environment variables, requests fail immediately. The free tier grants 1,000 monthly credits with no card required, deducting 10 credits per successful call.

## Requirements
- Needs: Node.js (commands run via npx)
- Remote server: `https://mcp.hasdata.com/mcp?apis=duckduckgo`
- Environment variables: `HASDATA_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

1. **Platform CLI**
```bash
claude mcp add duckduckgo -e HASDATA_API_KEY=<HASDATA_API_KEY> -- npx -y @hasdata/duckduckgo-mcp
```
Replace <…> with your own values

2. **Platform CLI: remote server**
```bash
claude mcp add --transport http hasdata-duckduckgo 'https://mcp.hasdata.com/mcp?apis=duckduckgo'
```

### Codex

1. **Platform CLI: remote server**
```bash
codex mcp add hasdata-duckduckgo --url 'https://mcp.hasdata.com/mcp?apis=duckduckgo'
```

2. **Platform CLI**
```bash
codex mcp add hasdata-duckduckgo --env HASDATA_API_KEY=<HASDATA_API_KEY> -- npx -y @hasdata/duckduckgo-mcp
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hasdata-duckduckgo": {
            "url": "https://mcp.hasdata.com/mcp?apis=duckduckgo"
        }
    }
}
```
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hasdata-duckduckgo": {
            "command": "npx",
            "args": [
                "-y",
                "@hasdata/duckduckgo-mcp"
            ],
            "env": {
                "HASDATA_API_KEY": "<HASDATA_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hasdata-duckduckgo": {
            "type": "http",
            "url": "https://mcp.hasdata.com/mcp?apis=duckduckgo"
        }
    }
}
```
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hasdata-duckduckgo": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@hasdata/duckduckgo-mcp"
            ],
            "env": {
                "HASDATA_API_KEY": "<HASDATA_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

1. **Platform CLI: remote server**
```bash
gemini mcp add -t http hasdata-duckduckgo 'https://mcp.hasdata.com/mcp?apis=duckduckgo'
```

2. **Platform CLI**
```bash
gemini mcp add -e HASDATA_API_KEY=<HASDATA_API_KEY> hasdata-duckduckgo npx -y @hasdata/duckduckgo-mcp
```
Replace <…> with your own values

## When to use it
- retrieve ranked DuckDuckGo search entries in JSON format
- extract search ads into a dedicated array without custom filters
- compare search visibility across 37 regional markets
- read direct search AI answers without fetching external websites

## Example prompts
- Look up "model context protocol" on DuckDuckGo and return the top ten ranked domains.
- Search for "vpn review" in the US and Germany regions to compare ranking domains.
- Find ads for "best crm software" and show each advertiser domain.

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32260
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13181
- [apify-mcp-server](https://affpapa.org/en/nevibecode/mcp/apify-mcp-server.md) — MCP server · ★ 13345

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
