This API does not include all of our links, however. That is, it is not a full search results API or a way to get DuckDuckGo results into your applications beyond our instant answers. Because of the way we generate our search results, we unfortunately do not have the rights to fully syndicate our results. For the same reason, we cannot allow framing our results without our branding. Please see our partnerships page for more info on guidelines and getting in touch with us.

Our long-term goal is for all of our instant answers to be available through this open API. Many of these instant answers are open source via our DuckDuckHack platform. Using that platform, you can add your own APIs and data sources as well.

Attribution in each place you use our API for both us and any underlying source. For the source, you can link to the source's relevant detail page. For us, you can say Results from DuckDuckGo with our logo (and link to the specific result page).

Non-commercial use unless you get email approval from us (though we're generally fine with anything that isn't sketchy).

Icons, i.e. the underlying images, may be greater than their specified Width/Height. You should explicitly set them to the specified measurements (if provided).

For disambiguation pages (Type=='D'), RelatedTopics can be grouped into sections. In that case, RelatedTopics is an array of hashes. Each hash has a Name key and a Topics array matching the above RelatedTopics description. If you want to avoid this case altogether, use the disambiguation skip parameter (skip_disambig).

For !bang commands, the redirect will happen at the HTTP level (since that is fastest), but it will also be returned in the content (for parsing). If you don't want the redirect to happen in the HTTP header, use the no_redirect flag.

Queries can be case sensitive e.g.
blackberry (API example)
vs
BlackBerry (API example). In the first case (lowercase blackberry) it returns a disambiguation page; in the latter case (MixedCase BlackBerry) it returns info primarily about the device (inferring what you meant from the case).

Why is x query blank? Where are all the Web links like on the main site?

This is an Instant Answer API, and not a full results API. However, there are some Web links within it, e.g. official sites. Please see the second paragraph at the top for more info.

Why is my query blank? I see an Instant Answer on the main site!

Not all of our instant answers are available right now via this API for a variety of reasons, though it is our long term goal to make them so. However, if you would like to see something in particular please let us know, and perhaps we can prioritize making it happen.

Can I use the DuckDuckGo name to help promote what I've developed with the API?

Yes and no. We do not want to confuse users into thinking that your application was made by us. Please see our partnerships page for more info on guidelines and getting in touch with us.

Is this API open source?

No, though many of the instant answers it provides are open source via our DuckDuckHack platform, which is completely open source. For more information on DuckDuckGo open source, please see this help article.

Are there technical limits on API use?

We simply do not have the resources to support high queries per second (QPS) for a single machine. Generally, this isn't a problem because our API is designed to be used client-side by individual users after they take some specific action (like a search or right-click). We also get a lot of botnet attacks. As a result, there is automatic throttling for API requests that will probably not effect you if you use the API in a distributed fashion (i.e. on your application's front-end). For specific situations we also provide higher limits. If you feel you may be in such a situation, please reach out. For legal limits, please see above for attribution and other requirements.