Downloading Search Results

In this article we will be taking a look at the most common reason to use the CLI: grabbing search results without visiting the website. There are 2 commands to help you do this: search and download. Both of them use search queries to grab results but in general we recommend to use download over search. And they both use up query credits.

For a list of available search filters please checkout our Filter Reference page.

Tip: Use shodan download and shodan parse instead of shodan search to more effectively use your query credits.

Usage: shodan search [OPTIONS] <search query>

  Search the Shodan database

Options:
  --color / --no-color
  --fields TEXT         List of properties to show in the search results.
  --limit INTEGER       The number of search results that should be returned.
                        Maximum: 1000
  --separator TEXT      The separator between the properties of the search
                        results.
  -h, --help            Show this message and exit.

The search command is intended to quickly grab a few results to make sure your search query is correct. It doesn't let you page over results and it doesn't store any data locally. As a result, you will generally want to use the download command.

Examples

Remember that all of the below examples only show information about the 1st page of results. To download all of the results you need to use the download command.

Search for nginx servers

$ shodan search nginx

Show a list of IPs and ports

$ shodan search --fields ip_str,port nginx

Show a comma-separated list of IPs and ports

$ shodan search --fields ip_str,port --separator , nginx

Download

Usage: shodan download [OPTIONS] <filename> <search query>

  Download search results and save them in a compressed JSON file.

Options:
  --limit INTEGER  The number of results you want to download. -1 to download
                   all the data possible.
  -h, --help       Show this message and exit.

The download command will perform the search and store the results in a local data file which you can then feed into other tools (including shodan parse). It pages through the search results until the --limit number of results has been reached.

Important: The first argument to shodan download is the file name - not the search query.

Examples

Download the most recent 200 results for nginx

$ shodan download --limit 200 myresults.json.gz nginx

Download the most recent 500 results for services in San Diego

$ shodan download --limit 500 myresults.json.gz 'city:"San Diego"'

Download all the websites that are using Vue.js

$ shodan download --limit -1 myresults.json.gz http.component:vue.js
Next: Statistics