How do I use Python to call the Shodan API and retrieve search results?

Install the `shodan` Python package (`pip install shodan`), then initialize with your API key: `api = shodan.Shodan('YOUR_API_KEY')`. Call `api.search('query')` to get results, which include a `total` count and a list of `matches`. Each match contains fields like `ip_str`, `port`, `location`, and `hostnames`. The free tier limits you to 100 results and disables filters like `country:`; for full access, purchase Query credits as explained in the [Shodan API Usage Guide](/news/shodan-api-usage-guide).

Related article:

Shodan API Usage Guide