Skip to content
Projects

achillean/shodan-python has 3,475 GitHub stars and 775 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-07 17:42 UTC. Last push 2024-08-05.

How these counts are measured

The official Python library for Shodan

What you can do

  • Fast/ bulk IP lookups <https://help.shodan.io/developer-fundamentals/looking-up-ip-info>_
  • Streaming API support for real-time consumption of Shodan firehose
  • Network alerts (aka private firehose) <https://help.shodan.io/guides/how-to-monitor-network>_
  • Manage Email Notifications <https://asciinema.org/a/7WvyDtNxn0YeNU70ozsxvXDmL>_

Measured star growth

in 24h
+2
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

shodan: The official Python library and CLI for Shodan

.. image:: https://img.shields.io/pypi/v/shodan.svg :target: https://pypi.org/project/shodan/

.. image:: https://img.shields.io/github/contributors/achillean/shodan-python.svg :target: https://github.com/achillean/shodan-python/graphs/contributors

Shodan is a search engine for Internet-connected devices. Google lets you search for websites, Shodan lets you search for devices. This library provides developers easy access to all of the data stored in Shodan in order to automate tasks and integrate into existing tools.

Features

  • Search Shodan
  • Fast/ bulk IP lookups <https://help.shodan.io/developer-fundamentals/looking-up-ip-info>_
  • Streaming API support for real-time consumption of Shodan firehose
  • Network alerts (aka private firehose) <https://help.shodan.io/guides/how-to-monitor-network>_
  • Manage Email Notifications <https://asciinema.org/a/7WvyDtNxn0YeNU70ozsxvXDmL>_
  • Exploit search API fully implemented
  • Bulk data downloads
  • Access the Shodan DNS DB to view domain information
  • Command-line interface <https://cli.shodan.io>_

.. image:: https://cli.shodan.io/img/shodan-cli-preview.png :target: https://asciinema.org/~Shodan :width: 400px :align: center

Quick Start

.. code-block:: python

from shodan import Shodan

api = Shodan('MY API KEY')

# Lookup an IP
ipinfo = api.host('8.8.8.8')
print(ipinfo)

# Search for websites that have been "hacked"
for banner in api.search_cursor('http.title:"hacked by"'):
    print(banner)

# Get the total number of industrial control systems services on the Internet
ics_services = api.count('tag:ics')
print('Industrial Control Systems: {}'.format(ics_services['total']))

Grab your API key from https://account.shodan.io

Installation

To install the Shodan library, simply:

.. code-block:: bash

$ pip install shodan

Or if you don't have pip installed (which you should seriously install):

.. code-block:: bash

$ easy_install shodan

Documentation

Documentation is available at https://shodan.readthedocs.org/ and https://help.shodan.io

Explore related projects