anacondashodan

Freezing while downloading large datasets through Shodan?


I'm using Shodan's API through the Anaconda Terminal on Windows 10 to get data against the query below, but after a few seconds of running, the ETA timer freezes, and my network activity drops to zero. Hitting Control+C restarts it when this happens and gets it moving for a few seconds again, but it stops soon after.

shodan download --limit 3100000 data state:"wa"  

Also, when it is running- the download speeds seem pretty slow; and I wanted to inquire if there was any way I can speed it up? My Universities internet is capable of upwards of 300 Mbps, but the download seems to cap at 5 Mbps.

I don't know how to solve either of these issues; my device has enough space and my internet isn't disconnecting. We've tried running the Anaconda Terminal as an Administrator, but that hasn't helped either.


Solution

  • I heard back from Shodan support; cross-posting some of their reply here-

    The API is not designed for large, bulk export of data. As a result, you're encountering a few problems/ limits:

    1. There is a hard limit of 1 million results per search query. This means that it isn't possible to download all results for the search query "state:wa".
    2. The search API performs best on the first few pages and progressively responds slower the deeper into the results you get. This means that the first few pages return instantly whereas the 100th page will take potentially 10+ seconds.
    3. You can only send 1 request per second so you can't multiplex/ parallelize the search requests.

    A lot of high-level analysis can be performed using search facets.

    There's documentation on facets in the shodan.pdf booklet floating around their site for returning summary information from their API.