duckduckgo
Server Details
DuckDuckGo: The DuckDuckGo Search API is a tool that allows developers and businesses to integrate.
- Status
- Healthy
- Uptime
- 100.0% over 62 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 6 tools
The 'get' tool returns organic results plus news, image, and video strips, overlapping with the dedicated get_news, get_images, and get_videos tools. Descriptions help distinguish them (specialized tools return fuller result sets), but the overlap creates some ambiguity.
Tools consistently use a 'get_' prefix for resources, with the base 'get' tool being a minor exception; the verb_noun pattern is otherwise predictable.
Six tools cleanly map to distinct DuckDuckGo search verticals (web, autocomplete, images, news, places, videos), each with a clear purpose.
The set covers the main search verticals plus autocomplete and local results, leaving no obvious gaps for a read-only search API.
Available Tools
6 toolsgetSearchAInspect
DuckDuckGo web search: the organic results (url, title, plain and HTML snippet, result types, host, sublinks, date, site name, rating) and the other blocks of the same answer: ads, related searches, the knowledge panel, the AI answer when DuckDuckGo gives it inline, and the news, image and video strips. Blocks DuckDuckGo did not send are empty lists or null. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| page | No | The results page, from 1. The first page holds 10 results, every later page 15; positions continue across pages. | |
| time | No | Only results from the past day, week, month or year, or from a date range YYYY-MM-DD..YYYY-MM-DD. | |
| region | No | A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region. | |
| safe_search | No | DuckDuckGo's default is moderate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does real work: it discloses per-call billing (1 Credit) and the important semantic that absent blocks come back as empty lists or null rather than being omitted. It does not cover authentication, rate limits, or whether a query can fail, so it falls short of exhaustive, but the added behavioral context is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by return-shape detail that earns its place given there is no output schema. The long parenthetical field enumeration is dense and slightly run-on, but it is information-bearing rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-output-schema tool, the description compensates well by describing both the organic result fields and the secondary blocks, plus null/empty semantics. The notable gap is routing versus the five sibling verticals, which an agent needs to pick the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (q, page, time, region, safe_search) are already documented in the schema, including pagination semantics and region codes. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause 'DuckDuckGo web search' gives a clear verb and resource, and the rest enumerates exactly what the answer contains. However, it never distinguishes this general search from siblings like get_news, get_images or get_videos, even though it claims to return news, image and video strips — an overlap an agent could easily misread.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all: no mention of when to prefer this over get_news/get_images/get_videos, no prerequisites, no exclusions. The only actionable statement is the billing note, which is a cost fact rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_autocompleteAutocompleteBInspect
DuckDuckGo's search suggestions for a partial query. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| region | No | A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It does add one genuinely useful behavioral fact — the billing cost of 1 credit per call — but says nothing about the return format (a list of suggestion strings), rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words, and the core purpose is front-loaded before the secondary cost note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter lookup with full schema coverage and no output schema, the description covers purpose and cost adequately. The only minor gap is that it does not characterize the response (suggestion list) or note any result limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (q and region) are already fully documented in the schema, including the region-code format. The phrase 'partial query' loosely reinforces q but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (DuckDuckGo search suggestions) and the input condition (a partial query), so the agent immediately knows what the tool returns. It does not explicitly contrast itself with siblings like get or get_news, but the name and resource make the distinction obvious enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative routing guidance. The intended use case is only implied by 'partial query', leaving the agent to infer that this is for suggestion lookup rather than full search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_imagesImagesBInspect
DuckDuckGo Images for a query (title, page url, image, thumbnail, width, height). Up to 100 images a page. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| page | No | The results page, from 1. | |
| size | No | ||
| time | No | Only images from the past day, week or month. | |
| type | No | ||
| color | No | ||
| layout | No | ||
| region | No | A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region. | |
| license | No | creative_commons is any Creative Commons license. | |
| safe_search | No | DuckDuckGo's default is moderate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses two traits beyond the schema: a 100-image-per-page ceiling and a 1-credit cost per call, which help an agent budget calls. It omits auth requirements, rate limits, and failure behavior, so it is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences: purpose first, then the parenthetical return-field list and the cost/cap facts. No filler. Minor deduction for the slightly awkward '1 Credits' phrasing and for cramming result fields into a parenthetical rather than stating what a call returns in prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly compensates by naming the returned fields, and it notes the per-page limit and cost. However, for a 10-parameter tool with only 60% schema coverage and no annotations, it says nothing about pagination beyond the 'page' param, rate limits, or how the filters combine — leaving gaps an agent would need to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, in the mid band. The description adds no meaning for any of the 10 parameters — it only lists return fields — but the seven enum parameters (size, type, color, layout, etc.) are largely self-documenting in the schema. Baseline 3 is appropriate given the schema does most of the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and source: 'DuckDuckGo Images for a query', and enumerates the returned fields (title, page url, image, thumbnail, width, height), so an agent knows exactly what it retrieves. It is clear on its own, but it never distinguishes itself from siblings like get_videos or get_news, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer get_news/get_videos/get_places, and no prerequisites such as required auth or quota considerations. The only operational note is the page cap and credit cost, which is not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_newsNewsAInspect
DuckDuckGo News for a query, newest coverage first as DuckDuckGo orders it (title, url, excerpt, source, date, image). About 25 articles a page. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| page | No | The results page, from 1. | |
| time | No | Only articles from the past day, week or month. | |
| region | No | A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region. | |
| safe_search | No | DuckDuckGo's default is moderate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses result ordering (DuckDuckGo's newest-first order), return fields, page size (~25 articles), safe_search's default of moderate (corroborated by the schema), and per-call billing of 1 Credit. It omits auth requirements and rate/error behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences that front-load the resource and ordering, then pack return fields, pagination size, and billing with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters at 100% schema coverage and no output schema, the description supplies exactly what structured data cannot: the shape of returned articles, page size, ordering guarantee, and cost per call. Only auth and failure-mode context are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the ordering semantics and page size implied by the page parameter and enumerates the output fields, but adds no per-parameter syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("DuckDuckGo News for a query") and pins down scope: news articles, ordered newest-first. The resource noun cleanly separates it from siblings get_images, get_videos, and get_places, so an agent can pick it without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for news search versus the sibling get/get_images/get_videos tools, and lists no exclusions or prerequisites. Usage is only implied by the resource name, which is weaker than explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_placesPlacesAInspect
DuckDuckGo's local results (its Places module and Maps tab): businesses and places with category, address, coordinates, phone, website, rating, review count, price level, opening hours, open now, amenities, photos, menu and sample reviews (rating, text, date). DuckDuckGo takes the listings from Tripadvisor or Yelp depending on the area; source names it. Name the place in the query ("coffee in berlin germany") or pass latitude and longitude; with neither, DuckDuckGo searches around the address the request leaves from, and a place name several countries share can resolve to the one nearest that address, so add the country. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| latitude | No | Search around this point; give longitude with it. Results then carry their distance from it. | |
| longitude | No | Search around this point; give latitude with it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers meaningful traits: the upstream data source varies (Tripadvisor or Yelp, surfaced as `source`), the implicit-geolocation fallback, the country-disambiguation pitfall, and per-call billing (1 Credit). It omits anything about result limits, pagination, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense paragraph, front-loaded with what the tool returns before moving to invocation rules and cost. Every sentence carries information, though the run-on field enumeration is heavy and could be broken up for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description compensates well by enumerating the returned fields, naming the source-attribution field, and disclosing billing. Remaining gaps are minor: no mention of result caps or pagination, and no explicit statement that the call is read-only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes beyond it by explaining the q-vs-coordinates decision, that coordinates must be paired, and the default-address behavior when neither is supplied. It adds genuine interpretive value rather than restating the schema's field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise resource definition: "DuckDuckGo's local results (its Places module and Maps tab)" and enumerates the returned fields, so an agent knows exactly what this tool yields. It implicitly separates itself from get_news/get_images/get_videos by scoping to local business listings, but never explicitly names a sibling or contrasts against the generic `get` tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete invocation guidance: name the place in the query ("coffee in berlin germany") or pass latitude/longitude, and warns that with neither DuckDuckGo geolocates from the request address, so a shared place name can resolve wrongly. It does not state when to prefer this over sibling search tools or any exclusion conditions, keeping it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_videosVideosAInspect
DuckDuckGo Videos for a query (title, url, description, duration, published, publisher, uploader, views, thumbnail). Up to 60 videos a page. Billing per call: 1 Credits.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | The search query. | |
| page | No | The results page, from 1. | |
| time | No | Only videos published in the past day, week or month. | |
| region | No | A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region. | |
| license | No | ||
| duration | No | short is under 5 minutes, medium 5 to 20, long over 20. | |
| resolution | No | ||
| safe_search | No | DuckDuckGo's default is moderate. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add two genuinely non-schema facts: a hard cap of 60 videos per page and a cost of 1 credit per call. It still omits auth requirements and what happens past the last page, so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb+resource, then the page cap and billing, with a compact parenthetical field list. Three short sentences with no filler; the field list is dense but earns its place given there is no output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, enumerating returned fields (title, url, duration, views, etc.) plus the per-page limit and cost gives the agent enough to invoke and interpret results. Only minor gaps remain, such as pagination termination and region default behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, which already documents q, time, region, duration, and safe_search; the description adds no parameter-level meaning (no defaults, no interaction between page and time, no region default). Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (DuckDuckGo Videos for a query) and enumerates the fields returned, so an agent knows exactly what this tool produces. It is distinguishable from get_images/get_news/get_places by the vertical, but it never explicitly states the contrast the way a 5 would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the resource name — there is no statement of when to choose video search over the sibling news, images, or places tools, nor any prerequisite or exclusion. Adequate for a straightforward vertical search, but the agent must infer routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- Changed
get7 fields changed- added
Input schema / properties / pageAdded value: +{ + "description": "The results page, from 1. The first page holds 10 results, every later page 15; positions continue across pages.", + "example": 2, + "title": "Page", + "type": "integer" +} - changed
Input schema / properties / q / descriptionPrevious value: -"You can use DuckDuckGo search parameters."New value: +"The search query." - changed
Input schema / properties / q / examplePrevious value: -"Nike"New value: +"nikola tesla" - added
Input schema / properties / regionAdded value: +{ + "description": "A DuckDuckGo region code such as us-en, de-de or uk-en; wt-wt is no region.", + "example": "us-en", + "title": "Region", + "type": "string" +} - added
Input schema / properties / safe_searchAdded value: +{ + "description": "DuckDuckGo's default is moderate.", + "enum": [ + "strict", + "moderate", + "off" + ], + "title": "Safe Search", + "type": "string" +} - added
Input schema / properties / timeAdded value: +{ + "description": "Only results from the past day, week, month or year, or from a date range YYYY-MM-DD..YYYY-MM-DD.", + "example": "week", + "title": "Time", + "type": "string" +} - added
Input schema / requiredAdded value: +[ + "q" +]
- Added
get_autocomplete - Added
get_images - Added
get_news - Added
get_places - Added
get_videos
1 tool update
- First observed
get
Related MCP Connectors
Google, Bing, DuckDuckGo and Google Maps search results, free without an API key.
Google Web Search: Google Web Search API. Search the world’s information, including webpages.
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Image Search: Fast and Simple Image Search API. You can get 100+ search results in one query!.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables web search capabilities using DuckDuckGo's free API without requiring authentication or API keys.-
- AlicenseNot gradedqualityDmaintenanceDuckDuckGo Search MCP Server. Scrapes DuckDuckGo Lite directly — no API key required, no rate limits, robust anti-bot protection.3MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI agents to search the web, find news, and read page content via DuckDuckGo without an API key.2MIT
- AlicenseNot gradedqualityDmaintenanceA free and unlimited web search server that enables AI models to search, crawl, and research web content using DuckDuckGo without requiring API keys. It features parallel crawling and a smart ranking system to prioritize the most relevant information for complex queries.134 npm4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.