|
| 1 | +# WigleSearch.py |
| 2 | + |
| 3 | +`WigleSearch.py` is a command-line tool for querying the [WiGLE API](https://api.wigle.net/) to search for wireless network SSIDs and export the results in either JSON or KML format (for use in Google Earth or other mapping tools). |
| 4 | + |
| 5 | +This script handles pagination, API token-based authentication, and cleanly outputs formatted results suitable for mapping, analysis, or integration with other tools. |
| 6 | + |
| 7 | +Your API token name and token can be found here: |
| 8 | +https://wigle.net/account |
| 9 | + |
| 10 | + |
| 11 | +--- |
| 12 | + |
| 13 | +## 🔧 Features |
| 14 | + |
| 15 | +- Query WiGLE for a specific SSID (e.g. `Starbucks-WiFi`) |
| 16 | +- Save results as: |
| 17 | + - `JSON` for analysis or scripting |
| 18 | + - `KML` for visual mapping in tools like Google Earth |
| 19 | +- Handles pagination via `searchAfter` |
| 20 | +- Respects API rate limits with throttling |
| 21 | +- Output file auto-named if not specified |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## 📦 Requirements |
| 26 | + |
| 27 | +- Python 3.7+ |
| 28 | +- WiGLE API token and token name (not your WiGLE login username) |
| 29 | +- Internet access |
| 30 | + |
| 31 | +# Useage |
| 32 | +``` |
| 33 | +python WigleSearch.py --ssid "YourSSID" --token-name "YourTokenName" --token "YourToken" [--format json|kml] [--output filename] [--max N] |
| 34 | +``` |
| 35 | + |
| 36 | +## Required arguments: |
| 37 | + |
| 38 | +Argument Description |
| 39 | +--ssid The SSID name to search for (case sensitive) |
| 40 | +--token-name The WiGLE API token name (not your login email) |
| 41 | +--token Your WiGLE API token |
| 42 | + |
| 43 | +## Optional arguments: |
| 44 | + |
| 45 | +Argument Description |
| 46 | +--format Output format: json (default) or kml |
| 47 | +--output Output filename (defaults to <SSID>_wigle_results.json/kml) |
| 48 | +--max Maximum number of records to retrieve (default: 1000) |
| 49 | + |
| 50 | +# Example |
| 51 | + |
| 52 | +Search for SSID MyNetwork using your API token. Export to KML that can be imported into GoogleEarth |
| 53 | + |
| 54 | +``` |
| 55 | +python WigleSearch.py --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format kml |
| 56 | +``` |
| 57 | + |
| 58 | +Search for SSID MyNetwork using your API token. Export to JSON format. |
| 59 | + |
| 60 | +``` |
| 61 | +python WigleSearch.py --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format json --output wifi_results.json |
| 62 | +``` |
| 63 | + |
| 64 | +# Output Notes |
| 65 | + |
| 66 | +JSON format mirrors the raw WiGLE API result structure (usable for scripting or analysis). |
| 67 | + |
| 68 | +KML output includes placemarks with SSID and BSSID, and GPS coordinates (trilat/trilong) for Google Earth or GIS tools. |
| 69 | + |
| 70 | +# License |
| 71 | +MIT License |
| 72 | + |
| 73 | +# Acknowledgments |
| 74 | +Built using the public WiGLE API: https://api.wigle.net/api/v2 |
| 75 | + |
| 76 | +This tool is unaffiliated with WiGLE.net. Please respect their API Terms of Service. |
0 commit comments