Phishing detection. Threat intelligence. Fraud prevention. Estimate when a domain or URL was first seen using WHOIS, CT logs, DNS, Wayback Machine, and more.
npm install -g @iocium/link-age
link-age https://example.com
You’ll see output like:
Earliest observed: 2023-02-01T12:00:00Z
Option | Description |
---|---|
--json |
Output raw JSON |
--html |
Output pretty HTML |
--out <file> |
Write to file |
--timeout <ms> |
API timeout (default: 8000) |
--min-signals <n> |
Minimum required signals (default: 2) |
--within-days <n> |
Signal agreement threshold (default: 5) |
--concurrency <n> |
Parallel estimator limit (default: 3) |
--user-agent <string> |
Override default User-Agent |
--no-whois
)--no-ct
)--no-wayback
)--no-safebrowsing
)Flag | Description |
---|---|
--dns |
Passive DNS (multiple providers) |
--urlscan |
Historical scans via urlscan.io |
--shodan |
First-seen IP/banners from Shodan |
--censys |
Passive data from Censys Search |
--revocation |
Revoked certs via Cert Spotter |
{
"input": "https://example.com",
"earliest": "2023-02-01T12:00:00Z",
"confidence": "high",
"score": 3.5,
"signals": [
{
"source": "ct",
"date": "2023-02-01T12:00:00Z",
"trustLevel": "observed",
"weight": 0.75
}
]
}
import { LinkAgeEstimator } from '@iocium/link-age';
const estimator = new LinkAgeEstimator({
enableUrlscan: true,
concurrencyLimit: 4,
userAgent: "my-custom-agent/1.0",
providerSecrets: {
urlscanApiKey: "...",
censysApiId: "...",
censysApiSecret: "..."
}
});
const result = await estimator.estimate('https://example.com');
Compatible with:
All estimators are opt-in and transparent. API keys are never logged. You control the budget and data flow.
MIT.
Built by iocium with care.