Wayback-Urls is an OSINT (Open Source Intelligence) tool that leverages the Internet Archive's Wayback Machine for URL reconnaissance. Written in Python, it retrieves historical URLs associated with a target domain and supports keyword/extension filtering, result limiting, automated screenshots, and file export.
- 🔎 Pull every archived URL the Wayback Machine knows about for a domain
- 🎯 Filter results by file extension or keyword (
js,pdf,admin,login, …) - 🔢 Cap the number of results returned
- 📸 Optionally capture a screenshot of each URL (headless Firefox via Selenium)
- 💾 Print to the console or export to a file
- 🧯 Graceful error handling for timeouts, network failures, and empty results
- Python 3.7+
- requests — always required
- selenium — only for the screenshot feature
- Firefox + geckodriver — only for the screenshot feature
The tool runs fine with just
requests. If you invoke-s/--screenshotwithout Selenium installed, it prints a helpful message and skips screenshots rather than crashing.
git clone https://github.com/atraxsrc/wayback-Urls.git
cd wayback-Urls
pip install -r requirements.txtFor screenshots, make sure geckodriver is installed and available on your $PATH:
- Ubuntu/Debian:
sudo apt install firefox-geckodriver - Arch:
sudo pacman -S geckodriver - Manual: download from github.com/mozilla/geckodriver
python3 waybackurls.py [-h] -d target.com [-k keyword] [-l limit] [-s] [-r seconds] [-o output]| Flag | Long form | Description | Default |
|---|---|---|---|
-h |
--help |
Show the help message and exit | |
-d |
--domain |
Target domain (e.g., target.com) |
required |
-k |
--keyword |
Filter by extension or keyword (e.g., js, pdf, admin, login) |
|
-l |
--limit |
Maximum number of URLs to return | |
-s |
--screenshot |
Take a screenshot of each URL found | |
-r |
--rate-limit |
Delay in seconds between screenshots | 1 |
-o |
--output |
Save results to a file at the specified path |
Retrieve all archived URLs for a domain:
python3 waybackurls.py -d example.comFilter for a specific file extension:
python3 waybackurls.py -d example.com -k jsFilter by keyword and limit results:
python3 waybackurls.py -d example.com -k login -l 100Take screenshots with a 5-second delay between each:
python3 waybackurls.py -d example.com -s -r 5Retrieve URLs and save to a file:
python3 waybackurls.py -d example.com -o urls.txtRetrieve URLs, take screenshots, and save output:
python3 waybackurls.py -d example.com -s -r 2 -o urls.txtThe tool queries the Wayback Machine's CDX Server API,
requesting the original URLs for the target domain. Duplicate URL keys are collapsed
server-side, and the -k filter is applied as a regular expression against each
archived URL.
When -s is used, screenshots are saved to a screens/ directory inside the project
folder (created automatically if it doesn't exist). Files are named screen-<number>.png
sequentially in the order URLs are processed.
By default, retrieved URLs are printed to the console with a count summary. Use -o to
save them to a file instead. If no URLs match the given domain or keyword, the tool
prints a warning and exits cleanly.
This tool is intended for authorized security testing, research, and educational purposes only. Only use it against domains you own or have explicit permission to assess. You are solely responsible for complying with all applicable laws and the Internet Archive's terms of service. The authors assume no liability for misuse.
Contributions are welcome! If you have ideas, improvements, or bug fixes, please open an issue or submit a pull request.
This project is licensed under the MIT License.