Introducing the InternetDB API

For more than a decade, Shodan has been singularly focused on understanding network services and devices available to the Internet. To that end, we've developed a lot of custom protocol parsers and tooling to get insights about exposed services. You can get a sense for the type of information that's available by checking out our Datapedia. And all that data is streamed in real-time from our crawlers to the API/ website so you always see the most up-to-date information. However, as we've expanded the Shodan platform it's become clear that certain use cases don't require that much context. Sometimes you just need the basics. And for that we're now offering:

https://internetdb.shodan.io

The following properties are currently provided by InternetDB:

  • Open ports
  • Vulnerabilities
  • Hostnames
  • CPEs
  • Tags

And this is how a sample response looks like:

{
    "cpes": [
        "cpe:/a:varnish-cache:varnish"
    ],
    "hostnames": [],
    "ip": "151.101.41.140",
    "ports": [
        80,
        443
    ],
    "tags": [
        "cdn"
    ],
    "vulns": []
}

The major differences between the InternetDB API and the main Shodan API are:

  • No API key required
  • Much higher rate limit
  • Weekly updates
  • Minimal port/ service information
  • Free for non-commercial use: you can use it at a company but you can't use it to build commercial products that you charge money for

If you'd like to get started doing fast IP lookups without writing any code then there are a few tools that can help you out:

  • nrich: official Shodan tool to quickly lookup open ports/ vulnerabilities for a list of IPs. Stay tuned for a separate article on nrich.
  • sdlookup: similar to nrich but written in Go and uses a different output format
  • ShodanBot: a Discord bot to help you lookup IP information
  • iOS/ Mac shortcut: easy way to check the open ports/ vulnerabilities from a Mac shortcut/ sheet

Internally, we're using InternetDB to quickly enrich port information for domains (ex. Twitter DNS information) among other things. If you decide to integrate InternetDB API let us know as we plan on having a page highlighting the available integrations.