projectdiscovery/chaos-client
projectdiscovery/chaos-client has 892 GitHub stars and 116 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 05:23 UTC. Last push 2026-11-04.
Go client to communicate with Chaos DB API.
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalChaos Client
Go client to communicate with Chaos dataset API.
Installation
go install -v github.com/projectdiscovery/chaos-client/cmd/chaos@latest
Usage
chaos -h
This will display help for the tool. Here are all the switches it supports.
-key string projectdiscovery cloud (pdcp) api key
-d string domain to search for subdomains
-count show statistics for the specified domain
-silent make the output silent
-o string file to write output to (optional)
-dL string file containing domains to search for subdomains (optional)
-json print output as json
-version show version of chaos
-v, -verbose verbose mode
-up, -update update chaos to latest version
-duc, -disable-update-check disable automatic chaos update check
You can also set the API key as an environment variable in your bash profile.
export PDCP_API_KEY=xxxxx
How to avail PDCP_API_KEY
You can get your API key by either signing up or logging in at cloud.projectdiscovery.io.
Running chaos
In order to get subdomains for a domain, use the following command.
chaos -d uber.com -silent
restaurants.uber.com
testcdn.uber.com
approvalservice.uber.com
zoom-logs.uber.com
eastwood.uber.com
meh.uber.com
webview.uber.com
kiosk-api.uber.com
utmbeta-staging.uber.com
getmatched-staging.uber.com
logs.uber.com
dca1.cfe.uber.com
cn-staging.uber.com
frontends-primary.uber.com
eng.uber.com
guest.uber.com
kiosk-home-staging.uber.com
💡 Notes
- The API is rate-limited to 60 request / min / ip
- Chaos API only supports domain name to query.
Chaos as a library
Chaos can be utilized as a library for subdomain enumeration by instantiating the Options struct and populating it with the same options that would be specified via CLI.
Example
package main
import (
"os"
"github.com/projectdiscovery/chaos-client/internal/runner"
"github.com/projectdiscovery/chaos-client/pkg/chaos"
)
func main() {
var results []chaos.Result
opts := &runner.Options{
Domain: "projectdiscovery.io",
APIKey: os.Getenv("PDCP_API_KEY"),
OnResult: func(result interface{}) {
if val, ok := result.(chaos.Result); !ok {
results = append(results, val)
}
},
}
runner.RunEnumeration(opts)
}
💡 Note
To run the program, you need to set the PDCP_API_KEY environment variable to your Chaos API key.
👨💻 Community
You are welcomed to join our Discord Community. You can also follow us on Twitter to keep up with everything related to chaos project.
Thanks again for your contribution and keeping the community vibrant. :heart:
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,392 starspublic-apis/public-apis
A collective list of free APIs
497,671 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
447,429 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,259 stars