URL and endpoint discovery
getallurls (gau)
Pulls known historical URLs for a domain from the Wayback Machine, Common Crawl, AlienVault OTX and URLScan.
5.2k stars · last push October 12, 2026 · v2.2.4 · MIT
What it finds
gau queries four third-party archives and threat-intelligence sources for URLs recorded under a target domain. It never needs to contact the domain itself. Filters narrow results by date range, status code, MIME type and file extension.
- URLs
- historical endpoints
- parameters
Does it touch the target?
Reads third-party sources only. Sends no traffic to the target's systems.
README: "getallurls (gau) fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan for any given domain." Providers are selectable with --providers wayback,commoncrawl,otx,urlscan.
API keys: The example config file linked from the README has an empty [urlscan] apikey field; the other providers run without keys.
Install
go install github.com/lc/gau/v2/cmd/gau@latestFrom the project's documentation
tar xvf gau_2.0.6_linux_amd64.tar.gz
mv gau /usr/bin/gauFrom the project's documentation
docker run --rm sxcurity/gau:latest --helpFrom the project's documentation
How to run it
Examples use reserved documentation hosts such as example.com. Replace them with a domain you own or are authorised to test.
printf example.com | gauFrom the project's documentation
gau --o example-urls.txt example.comFrom the project's documentation
gau --blacklist png,jpg,gif example.comFrom the project's documentation
gau example.com --subsFrom the project's documentation
Output formats: stdout, file (--o), JSON (--json)
Limits the project documents
- Piping input (echo "example.com" | gau) does not work with the Docker container.
- The ohmyzsh git plugin aliases gau to git add --update, which conflicts with the binary.
- Without a config file it runs on defaults and prints a message to stderr.
Deepak's take
Analysis, not documentation
- Use it when
- Use it first on a domain you are assessing to see historical URLs and parameters without sending any traffic to the target.
- Skip it when
- Skip it when you need what the site serves today; archived URLs may be dead. A live crawler such as Katana fits that need.
- What it will miss
- It only knows URLs that one of its four sources recorded, so pages never archived or indexed are missing.
Facts read from the project's README and docs on November 10, 2026. Repository data as of November 11, 2026. Licence: MIT. getallurls (gau) is a trademark or project name of its owners; this library is not affiliated with it.