Check the Setup
- Python 3.10 or newer
- A notebook environment such as Jupyter or Google Colab
- A domain you are authorized to inspect
Issued TLS certificates indexed from public CT logs for building domain certificate monitors and issuance alerts.
Report a ProblemFrom Source to Product Signal
crt.sh queries public Certificate Transparency logs. Start with one registered domain and a JSON search. CT logs are the origin; crt.sh is the query surface. Logs can lag, expired certificates remain, and this is not a complete inventory of every private PKI.
Install the packages, then run the notebook cell.
python -m pip install pandas requests
import pandas as pd
import requests
response = requests.get(
"https://crt.sh/",
params={"q": "example.com", "output": "json"},
timeout=60,
)
response.raise_for_status()
certificates = pd.DataFrame(response.json())
certificates["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(certificates[["issuer_name", "common_name", "not_after"]].head())Test a Useful Signal
Test whether a CT search can power a bounded issuance monitor.
Sectigo crt.sh is a company source. Last verified 2026-08-18. Temporal coverage: certificates submitted to participating CT logs.