Uncover Provider & API Key Reference
Generated from projectdiscovery/uncover source code analysis. Supported agents: 19 total (18 requiring API keys + 1 anonymous)
Provider Overview
Provider Details
1. Shodan
2. Shodan InternetDB
3. Censys
4. FOFA
5. Quake (360)
6. Hunter (Qianxin)
7. ZoomEye
8. Netlas
9. CriminalIP
10. PublicWWW
11. HunterHow
12. Google Custom Search
13. ODIN
14. BinaryEdge
15. Onyphe
16. Driftnet
17. GreyNoise
18. DayDayMap
19. NerdyData
Configuration Systems
Uncover supports two configuration methods:Method 1: YAML Config File (provider-config.yaml)
Default location: ~/.uncover-config/provider-config.yaml
Method 2: Environment Variables
Every provider can be configured via individual environment variables. These are read at runtime byLoadProviderKeysFromEnv().
Environment Variable Reference
Engine Names for -e / --engine Flag
Use these with the Uncover CLI or SDK:
Uncover SDK Configuration Behavior
Whenuncover.New() is called:
- Creates a new
Providerviasources.NewProvider() NewProvider()loads the YAML config fromDefaultProviderConfigLocation- Then overlays environment variables via
LoadProviderKeysFromEnv() - Env vars append to any keys loaded from YAML (don’t override)
- Multiple keys for same provider are randomized on each execution
init() function in provider.go attempts to create ~/.uncover-config/provider-config.yaml if it doesn’t exist. In distroless containers running as nonroot, this will log a warning but not crash. Configuration via environment variables is the recommended approach for containerized deployments.
Usage Notes
- Shodan InternetDB (
shodan-idb) is the only engine that requires no API key and works out of the box. - Multiple API keys for the same provider enable automatic key rotation (random selection).
- Results are limited to 100 by default; use
-limitflag for more. - The
queryflag supports all and only filters supported by the target search engine. - Chinese platforms (FOFA, Quake, Hunter) typically require phone number verification.
Recon Service Integration
The recon service uses Uncover via Go SDK at:services/recon-service/internal/pd/runner.go — RunUncoverSDK()
Configuration is loaded from:
- Environment variables set in the container (preferred for Docker)
- Volume-mounted config file at
/etc/uncover/provider-config.yaml(optional)

