# WigleSearch.py
`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).
This script handles pagination, API token-based authentication, and cleanly outputs formatted results suitable for mapping, analysis, or integration with other tools.
Your API token name and token can be found here:
https://wigle.net/account
# Install /w PIP
```
pip install wigle-ssid-search
```
---
## 🔧 Features
- Query WiGLE for a specific SSID (e.g. `Starbucks-WiFi`)
- Save results as:
- `JSON` for analysis or scripting
- `KML` for visual mapping in tools like Google Earth
- Handles pagination via `searchAfter`
- Respects API rate limits with throttling
- Output file auto-named if not specified
---
## 📦 Requirements
- Python 3.7+
- WiGLE API token and token name (not your WiGLE login username)
- Internet access
# Useage
```
python WigleSearch.py --ssid "YourSSID" --token-name "YourTokenName" --token "YourToken" [--format json|kml] [--output filename] [--max N]
wigle-ssid-search --ssid "YourSSID" --token-name "YourTokenName" --token "YourToken" [--format json|kml] [--output filename] [--max N]
```
## Required arguments:
Argument Description
--ssid The SSID name to search for (case sensitive)
--token-name The WiGLE API token name (not your login email)
--token Your WiGLE API token
## Optional arguments:
Argument Description
--format Output format: json (default) or kml
--output Output filename (defaults to <SSID>_wigle_results.json/kml)
--max Maximum number of records to retrieve (default: 1000)
--exact-case Match the SSID with case sensitivity.
# Example
Search for SSID MyNetwork using your API token. Export to KML that can be imported into GoogleEarth
```
python WigleSearch.py --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format kml
# Or with PIP:
wigle-ssid-search --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format kml
```
Search for SSID MyNetwork using your API token. Export to JSON format.
```
python WigleSearch.py --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format json --output wifi_results.json
# Or with PIP:
wigle-ssid-search --ssid "MyNetwork" --token-name "TOKENNAME" --token "YUORTOKEN" --format json --output wifi_results.json
```
# Output Notes
JSON format mirrors the raw WiGLE API result structure (usable for scripting or analysis).
KML output includes placemarks with SSID and BSSID, and GPS coordinates (trilat/trilong) for Google Earth or GIS tools.
# License
MIT License
# Acknowledgments
Built using the public WiGLE API: https://api.wigle.net/api/v2
This tool is unaffiliated with WiGLE.net. Please respect their API Terms of Service.
Raw data
{
"_id": null,
"home_page": null,
"name": "wigle-ssid-search",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "wigle, wifi, wireless, ssid, kml, json, mapping, geolocation",
"author": null,
"author_email": "Defensive Origins <info@defensiveorigins.com>",
"download_url": "https://files.pythonhosted.org/packages/68/e1/174c86151c23e53fda7c3f990b062026a9cc1521c211862b7357305aca2a/wigle_ssid_search-0.1.3.tar.gz",
"platform": null,
"description": "# WigleSearch.py\n\n`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).\n\nThis script handles pagination, API token-based authentication, and cleanly outputs formatted results suitable for mapping, analysis, or integration with other tools.\n\nYour API token name and token can be found here: \nhttps://wigle.net/account\n\n# Install /w PIP\n```\npip install wigle-ssid-search\n```\n\n---\n\n## \ud83d\udd27 Features\n\n- Query WiGLE for a specific SSID (e.g. `Starbucks-WiFi`)\n- Save results as:\n - `JSON` for analysis or scripting\n - `KML` for visual mapping in tools like Google Earth\n- Handles pagination via `searchAfter`\n- Respects API rate limits with throttling\n- Output file auto-named if not specified\n\n---\n\n## \ud83d\udce6 Requirements\n\n- Python 3.7+\n- WiGLE API token and token name (not your WiGLE login username)\n- Internet access\n\n# Useage\n```\npython WigleSearch.py --ssid \"YourSSID\" --token-name \"YourTokenName\" --token \"YourToken\" [--format json|kml] [--output filename] [--max N]\n\nwigle-ssid-search --ssid \"YourSSID\" --token-name \"YourTokenName\" --token \"YourToken\" [--format json|kml] [--output filename] [--max N]\n```\n\n## Required arguments:\n\nArgument\tDescription\n--ssid\tThe SSID name to search for (case sensitive)\n--token-name\tThe WiGLE API token name (not your login email)\n--token\tYour WiGLE API token\n\n## Optional arguments:\n\nArgument\tDescription\n--format\tOutput format: json (default) or kml\n--output\tOutput filename (defaults to <SSID>_wigle_results.json/kml)\n--max\tMaximum number of records to retrieve (default: 1000)\n--exact-case Match the SSID with case sensitivity. \n\n\n# Example\n\nSearch for SSID MyNetwork using your API token. Export to KML that can be imported into GoogleEarth\n\n```\npython WigleSearch.py --ssid \"MyNetwork\" --token-name \"TOKENNAME\" --token \"YUORTOKEN\" --format kml\n# Or with PIP:\nwigle-ssid-search --ssid \"MyNetwork\" --token-name \"TOKENNAME\" --token \"YUORTOKEN\" --format kml\n```\n\nSearch for SSID MyNetwork using your API token. Export to JSON format.\n\n```\npython WigleSearch.py --ssid \"MyNetwork\" --token-name \"TOKENNAME\" --token \"YUORTOKEN\" --format json --output wifi_results.json\n# Or with PIP:\nwigle-ssid-search --ssid \"MyNetwork\" --token-name \"TOKENNAME\" --token \"YUORTOKEN\" --format json --output wifi_results.json\n```\n\n# Output Notes\n\nJSON format mirrors the raw WiGLE API result structure (usable for scripting or analysis).\n\nKML output includes placemarks with SSID and BSSID, and GPS coordinates (trilat/trilong) for Google Earth or GIS tools.\n\n# License\nMIT License\n\n# Acknowledgments\nBuilt using the public WiGLE API: https://api.wigle.net/api/v2\n\nThis tool is unaffiliated with WiGLE.net. Please respect their API Terms of Service.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Command-line tool for querying the WiGLE API for SSIDs and exporting results as JSON or KML.",
"version": "0.1.3",
"project_urls": {
"Homepage": "https://github.com/DefensiveOrigins/WigleSSIDSearch",
"Issues": "https://github.com/DefensiveOrigins/WigleSSIDSearch/issues",
"Source": "https://github.com/DefensiveOrigins/WigleSSIDSearch"
},
"split_keywords": [
"wigle",
" wifi",
" wireless",
" ssid",
" kml",
" json",
" mapping",
" geolocation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "6d82ec8c1d9a3d92b16157b3508b69e2319dd15fc4c49f2712e0bb0fd66538d0",
"md5": "e795d5d817008572c567d1b4c189a894",
"sha256": "9a7124eceb818485d944726641b792c1527a323d050607f9f7f4568d9de10ccd"
},
"downloads": -1,
"filename": "wigle_ssid_search-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e795d5d817008572c567d1b4c189a894",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4543,
"upload_time": "2025-11-15T11:22:21",
"upload_time_iso_8601": "2025-11-15T11:22:21.359083Z",
"url": "https://files.pythonhosted.org/packages/6d/82/ec8c1d9a3d92b16157b3508b69e2319dd15fc4c49f2712e0bb0fd66538d0/wigle_ssid_search-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "68e1174c86151c23e53fda7c3f990b062026a9cc1521c211862b7357305aca2a",
"md5": "79499f5c563ae8d05f0b8c9ec7fdadeb",
"sha256": "a5e034ec255f3473fdf68f90a12c94ef5576edb39808fb4f8c170b5ef04b02e2"
},
"downloads": -1,
"filename": "wigle_ssid_search-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "79499f5c563ae8d05f0b8c9ec7fdadeb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4259,
"upload_time": "2025-11-15T11:22:22",
"upload_time_iso_8601": "2025-11-15T11:22:22.692489Z",
"url": "https://files.pythonhosted.org/packages/68/e1/174c86151c23e53fda7c3f990b062026a9cc1521c211862b7357305aca2a/wigle_ssid_search-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-15 11:22:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DefensiveOrigins",
"github_project": "WigleSSIDSearch",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "wigle-ssid-search"
}