{"name":"com.hasdata/duckduckgo","slug":"hasdata-duckduckgo","title":"HasData DuckDuckGo","description":"DuckDuckGo search as JSON. Ranked results, ads in their own array, 37 regions.","url":"https://mcp.market/server/hasdata-duckduckgo","rating":null,"grade":"A","score":93,"certified":false,"status":"active","category":"search","tags":["search"],"presence":{"score":42,"stars":7,"forks":0,"downloads_week":112,"last_push_at":"2026-10-12T14:33:53.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T03:51:08.377Z","last_ok_at":"2026-11-04T03:51:08.377Z","latency_ms":152},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/HasData/duckduckgo-mcp","website":"https://hasdata.com/apis/duckduckgo-serp-api","version":"1.0.7","remotes":[{"type":"streamable-http","url":"https://mcp.hasdata.com/mcp?apis=duckduckgo","headers":[{"description":"HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.","isRequired":true,"isSecret":true,"name":"x-api-key"}]}],"packages":[{"registryType":"npm","identifier":"@hasdata/duckduckgo-mcp","version":"1.0.7","transport":{"type":"stdio"},"environmentVariables":[{"description":"HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.","isRequired":true,"isSecret":true,"name":"HASDATA_API_KEY"}]},{"registryType":"pypi","identifier":"hasdata-duckduckgo-mcp","version":"1.0.7","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"HasData API key, created at app.hasdata.com. 1,000 free credits every month, no card.","isRequired":true,"isSecret":true,"name":"HASDATA_API_KEY"}]}],"tools":[{"name":"hasdata_duckduckgo_serp_getSearchResults","description":"Get DuckDuckGo Search Results\n\nFetches DuckDuckGo SERPs for a query with region targeting (kl, or cc+setLang), safesearch (off/moderate/strict), device type, and token-based pagination. Returns organic results (title, url, snippet, displayed url, position, date, sitelinks, video metadata), ads, and the Search Assist AI answer. Use for SEO rank tracking, SERP feature monitoring, DuckDuckGo-specific visibility audits, and training/eval data for search agents.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"q":{"type":"string","description":"Specify the search term for which you want to scrape the SERP. Required unless `nextPageToken` is provided (which carries the query of the page it continues)."},"kl":{"type":"string","enum":["ar-es","au-en","at-de","be-nl","be-fr","br-pt","ca-en","ca-fr","cl-es","dk-da","fi-fi","fr-fr","de-de","hk-tzh","in-en","id-en","it-it","jp-jp","kr-kr","my-en","mx-es","nl-nl","nz-en","no-no","cn-zh","pl-pl","ph-en","ru-ru","za-en","es-es","se-sv","ch-de","tw-tzh","tr-tr","uk-en","us-en","wt-wt"],"description":"DuckDuckGo region code in `<country>-<language>` form (e.g. `us-en`, `de-de`). Sets country and interface language at once; takes precedence over `cc`/`setLang`. Use `wt-wt` for no region."},"cc":{"type":"string","enum":["ar","au","at","be","br","ca","cl","dk","fi","fr","de","hk","in","id","it","jp","kr","my","mx","nl","nz","no","cn","pl","pt","ph","ru","sa","za","es","se","ch","tw","tr","gb","us"],"description":"The two-letter country code for the country to search from. Combined with `setLang` to form the DuckDuckGo region. Ignored if `kl` is set."},"setLang":{"type":"string","enum":["ar","ca","zh-hans","zh-hant","hr","cs","da","nl","en","et","fi","fr","de","he","hu","it","ja","ko","lv","lt","nb","pl","pt","ro","ru","sk","sl","es","sv","th","tr","uk","vi"],"description":"The preferred result/interface language code — usually two letters (e.g. `en`, `de`), with script-tag variants for some languages (e.g. `zh-hans`, `zh-hant`). Combined with `cc` to form the DuckDuckGo region. Ignored if `kl` is set."},"safeSearch":{"type":"string","enum":["off","moderate","strict"],"description":"Adult Content Filtering option."},"deviceType":{"type":"string","enum":["desktop","mobile","tablet"],"description":"Specify the device type for the search."},"nextPageToken":{"type":"string","description":"Opaque token returned in each response as `nextPageToken`. Pass it back (in place of `q`) to fetch the next page of results. It carries a pre-signed page URL bound to the original request's session, so it must be used as-is and cannot be constructed manually. Absent when there are no further pages.\n"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":93,"grade":"A","scanned_at":"2026-10-15T05:16:55.143Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-15T05:16:55.079Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned","9 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 837ms"]},"poisoning":{"score":15,"max":15,"notes":["1 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 3 days ago"]},"identity":{"score":10,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://mcp.hasdata.com/mcp?apis=duckduckgo","reachable":true,"authRequired":false,"latencyMs":837,"serverInfo":{"name":"hasdata-mcp-api-server","version":"1.0.0"}}],"packages":[{"registryType":"npm","identifier":"@hasdata/duckduckgo-mcp","version":"1.0.7","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":1,"publishedAt":"2026-09-24T11:36:09.893Z","repositoryUrl":"git+https://github.com/HasData/duckduckgo-mcp.git","weeklyDownloads":53},{"registryType":"pypi","identifier":"hasdata-duckduckgo-mcp","version":"1.0.7","found":true,"weeklyDownloads":59,"license":"MIT","dependencyCount":2,"publishedAt":"2026-09-24T11:34:07.860080Z","repositoryUrl":"https://github.com/HasData/duckduckgo-mcp"}],"repo":{"found":true,"owner":"HasData","repo":"duckduckgo-mcp","archived":false,"pushedAt":"2026-10-12T14:33:53Z","stars":7,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/104488373?v=4","ownerCreatedAt":"2022-04-27T07:07:45Z","license":"MIT"},"icon":{"url":"https://hasdata.com/favicon.svg","source":"registry"},"presence":{"stars":7,"forks":0,"downloadsWeek":112,"license":"MIT","lastPushAt":"2026-10-12T14:33:53.000Z","score":42}}}},"grade_history":[],"reviews":[]}