Get Domain Certificates
Return all certificates associated with the given domain name.
valid_only=true is a convenience alias for expired=false. When both expired and valid_only are supplied, expired takes precedence.
Every row carries first_seen (earliest CT observation) and last_seen (latest CT observation — observation-based: a stale value means the cert rolled out of our observation window, not that it was revoked).
Request
- Base URL: https://api.ctindex.io
- URL: https://api.ctindex.io/v1/domains/{domain}/certificates
- Auth: one of:
- API key in header X-API-Key
- HTTP bearer
Path parameters
Query parameters
Opaque keyset cursor (task #615 / GH #263). Pass cursor='*' (the coalescing-proof start token) to start a cursor enumeration, then the next_cursor from each response until it is null (cursor-mode pages ALWAYS carry the next_cursor key; an explicit null marks the terminal page). Cursor pages are ordered newest-first by observation (monotone internal id) and are stable against concurrent inserts — new certificates never shift, repeat, or drop rows on later pages. When cursor is supplied, page is ignored. Omit cursor entirely for the classic offset pagination (unchanged). Legacy: cursor= (empty string) also starts enumeration but may be coalesced to null by some transports.
true → only expired certs, false → only currently valid, omit → all
Convenience alias: true is equivalent to expired=false (valid certs only)
When true, attach RDAP registration + live DNS + ASN/hosting context for the domain under enrichment (task #501). Opt-in; a slow/failed source degrades to a partial block and never fails the lookup.
When true, attach derived attribution signals under enrichment.signals: issuer_diversity_score (0.0 single CA → 1.0 at 5+ distinct CAs), wildcard_breadth (distinct wildcard patterns, with wildcard_names), third_party_vendors (SaaS vendors inferred from the domain's TXT/SPF inventory), and weak_crypto_reasons (explicit reasons, e.g. RSA < 2048 or SHA-1 signatures). Implies enrichment computation. Requires a paid plan (Pro or higher); the free tier receives HTTP 403 tier_not_entitled.
ISO-8601 datetime — point-in-time view (task #613): only certificates first observed at or before as_of are returned, and each row's last_seen is capped at as_of. Inventory is observation-based (CT sightings), so this is 'what CertIndex knew then', not what was live then.
ISO-8601 datetime — only certificates whose CT-log timestamp (logged_at, RFC 6962 SCT leaf time) is on or after this instant. This is the buyer-visible freshness probe (GH #308 Decision 4): domain listing, not a SHA-256 lookup. Rows with logged_at NULL are excluded by the predicate.
ISO-8601 datetime — only certificates whose logged_at is on or before this instant. See logged_at_after.
Cookies
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.