The DuckDuckBot API makes it easy to check if an IP address is officially used by DuckDuckBot to crawl the web, including your website.
The DuckDuckBot API is a 'REST API' which is accessible via HTTPS using the GET method at a predefined URL. It returns either JSON of plain text response.
Benefits of using the DuckDuckBot API are:
- Querying the DuckDuckBot API is free of charge and anonymous.
- The DuckDuckBot API works across applications and scripting languages, e.g. see below the Google Spreadsheets and Python implementations.
- The DuckDuckBot API contains historical records, which means that IP addresses which may have been once used but are currently not resolving can still be identified when performing log file analysis on historical logs.
- As DuckDuckBot is crawling the web, the database for the DuckDuckBot API is continuously and automatically updated with the latest IP addresses and user agents.
- Instead of performing two seperate lookups (forward and reverse) with the 'host' command on the command line locally, this API provides a single lookup method which can be accessed from anywhere.
- The DuckDuckBot API contains one of the largest freely and publicly accessible collection of IP addresses for DuckDuckBot.
This DuckDuckBot API is coded and provided by ex-Google engineer and technical SEO expert Fili.
This DuckDuckBot API is free of charge and can be accessed without credentials. However, depending on resource usage the API may become rate-limited in the future. If you have any questions about using the DuckDuckBot API on a larger scale or like to discuss ways to utilize this database internally, contact Fili.
You can query the API endpoint using a GET request and replace IPADDRESS with the IP address you wish to query.
By default the API will return a JSON response with:
- a body containing "valid": "true" if the queried IP address is found in the database,
- or a body containing "valid": "false" if the queried IP address is not found in the database.
Alternatively, it is also possible to request just a BOOLEAN in plain text (useful in some situations, e.g. Google Spreadsheets - see below).
URL parameters which are accepted by the DuckDuckBot API are:
|ip||(string) IP address, IPv4 or IPv6|
|compact||(integer) default is 0 and return JSON response, 1 will return a plain text response|
Here are some examples of how to query the DuckDuckBot API:
It is also possible to use this API with Google Spreadsheets by adding &compact=1 to the API URL.
In the following example, the content of cell A1 contains the IP address to check and replaces in the =IMPORTDATA formula the __IPADDRESS__. Be sure to replace the cell ID when using this in Google Spreadsheets.
It is also possible to use this API in your code with python or similar other languages.
When the URL parameter compact is missing or has a value of 0 (zero) the API returns a JSON response with a queried IP address, query timestamp and boolean if the IP address validates.
When the URL parameter compact is present and has a value of 1 (one) the API returns a plain text response with a boolean if the IP address validates.
The data shown on this website is automatically collected from multiple sources, mostly websites and domains under the control of ex-Google engineer Fili. The SEO APIs on this website are under constant development and improvements will be added over time.
Any data and/or query submitted to this website or its APIs are only used to verify whether an IP address is associated with a known search bot. When not, the IP address (or any other submitted data) is completely disregarded and ignored. Only after an IP address is separately confirmed to be a search bot IP address, the IP address is anonymously stored for future queries.
Bugs will happen. Despite best efforts to maintain the code base and data quality, no guarantees can or will be given. Data may be incomplete and/or errors may occur. This is a personal website and for-fun project. Use at your own risk.