Para quién es
Usa comprobaciones pasivas acotadas para enriquecer la clasificación y la investigación, no para sustituir pruebas autorizadas ni la revisión humana.
Prueba con un producto, resultado, ruta de endpoint o tema de API.
Obtén información de certificado SSL incluyendo emisor, validez y calificación de seguridad.
Obtén información de certificado SSL incluyendo emisor, validez y calificación de seguridad.
Usa comprobaciones pasivas acotadas para enriquecer la clasificación y la investigación, no para sustituir pruebas autorizadas ni la revisión humana.
Elige esto para inspeccionar evidencias públicas de certificados TLS, validez, nombres y señales relacionadas con la cadena cuando estén disponibles.
Obtén información de certificado SSL incluyendo emisor, validez y calificación de seguridad.
Revisa las operaciones, entradas, salidas, modos de ejecución y límites de respuesta compatibles antes de integrar.
1-10 Autenticación obligatoria. Consulta la referencia de la operación para conocer el coste exacto y cualquier precio por elemento.
Usa operaciones documentadas para recopilar, evaluar, enriquecer, verificar, comparar, proteger o monitorizar evidencias públicas.
| Parámetro | Tipo | obligatorio |
|---|---|---|
| domain | string | obligatorio |
| include_subdomains |
boolean
Predeterminado
true
|
opcional |
| include_expired |
boolean
Predeterminado
false
|
opcional |
| limit |
integer
Predeterminado
100
|
opcional |
| cursor | string | opcional |
| Campo | Tipo |
|---|---|
has_more |
boolean |
next_cursor |
string | null |
cache_age_s |
integer |
domain |
string |
certificates[] |
object[] |
certificates[] |
object |
certificates[].id |
string |
certificates[].issuer |
object |
certificates[].common_name |
string |
certificates[].san[] |
string[] |
certificates[].not_before |
string |
certificates[].not_after |
string |
certificates[].is_expired |
boolean |
certificates[].is_wildcard |
boolean |
certificates[].fingerprint_sha256 |
string |
summary |
object |
summary.total_found |
integer |
summary.returned |
integer |
summary.unique_subdomains |
integer |
summary.issuers[] |
string[] |
summary.earliest_cert |
string | null |
summary.latest_cert |
string | null |
pagination |
object |
pagination.limit |
integer |
pagination.offset |
integer |
pagination.returned |
integer |
pagination.total |
integer |
pagination.has_more |
boolean |
pagination.next_cursor |
string | null |
intelligence_summary |
object |
intelligence_summary.data_source |
string |
intelligence_summary.ct_log_sources[] |
string[] |
intelligence_summary.source_count |
integer |
intelligence_summary.cache_status |
string |
intelligence_summary.returned_count |
integer |
intelligence_summary.total_found |
integer |
intelligence_summary.truncated |
boolean |
intelligence_summary.limit |
integer |
intelligence_summary.include_subdomains |
boolean |
intelligence_summary.include_expired |
boolean |
intelligence_summary.unique_name_count |
integer |
intelligence_summary.unique_subdomains |
integer |
intelligence_summary.issuer_count |
integer |
intelligence_summary.wildcard_cert_count |
integer |
intelligence_summary.active_cert_count |
integer |
intelligence_summary.expired_cert_count |
integer |
intelligence_summary.expiring_within_30_days_count |
integer |
intelligence_summary.earliest_cert |
string | null |
intelligence_summary.latest_cert |
string | null |
intelligence_summary.latest_expiry |
string | null |
intelligence_summary.has_more |
boolean |
intelligence_summary.next_cursor |
string | null |
intelligence_summary.warning_code |
string | null |
meta |
object |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/certificates?domain=example.com&include_subdomains=true&include_expired=false&limit=25&cursor=example"const response = await fetch("https://domscan.net/v1/certificates?domain=example.com&include_subdomains=true&include_expired=false&limit=25&cursor=example", {
headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);import os
import requests
response = requests.get(
"https://domscan.net/v1/certificates?domain=example.com&include_subdomains=true&include_expired=false&limit=25&cursor=example",
headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/certificates?domain=example.com&include_subdomains=true&include_expired=false&limit=25&cursor=example", nil)
if err != nil {
panic(err)
}
req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status, string(data))
}require "json"
require "net/http"
uri = URI("https://domscan.net/v1/certificates?domain=example.com&include_subdomains=true&include_expired=false&limit=25&cursor=example")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body)){
"domain": "example.com",
"certificates": [
{
"id": "16234550871",
"issuer": {
"name": "R11",
"organization": "Let's Encrypt"
},
"common_name": "www.example.com",
"san": [
"example.com",
"www.example.com"
],
"not_before": "2026-09-14T08:12:44",
"not_after": "2026-12-13T08:12:43",
"is_expired": false,
"is_wildcard": false
},
{
"id": "16198877412",
"issuer": {
"name": "R11",
"organization": "Let's Encrypt"
},
"common_name": "api.example.com",
"san": [
"api.example.com"
],
"not_before": "2026-08-20T14:03:10",
"not_after": "2026-11-18T14:03:09",
"is_expired": false,
"is_wildcard": false
}
],
"summary": {
"total_found": 14,
"returned": 2,
"unique_subdomains": 3,
"issuers": [
"Let's Encrypt"
],
"earliest_cert": "2026-08-20T14:03:10",
"latest_cert": "2026-09-14T08:12:44"
},
"pagination": {
"limit": 2,
"offset": 0,
"returned": 2,
"total": 14,
"has_more": true,
"next_cursor": "2"
},
"intelligence_summary": {
"data_source": "crt.sh",
"ct_log_sources": [
"crt.sh"
],
"source_count": 1,
"cache_status": "live",
"returned_count": 2,
"total_found": 14,
"truncated": true,
"limit": 2,
"include_subdomains": true,
"include_expired": false,
"unique_name_count": 3,
"unique_subdomains": 3,
"issuer_count": 1,
"wildcard_cert_count": 0,
"active_cert_count": 2,
"expired_cert_count": 0,
"expiring_within_30_days_count": 0,
"earliest_cert": "2026-08-20T14:03:10",
"latest_cert": "2026-09-14T08:12:44",
"latest_expiry": "2026-12-13T08:12:43",
"has_more": true,
"next_cursor": "2",
"warning_code": null
},
"meta": {
"source": "crt.sh",
"ct_log_sources": [
"crt.sh"
],
"query_time_ms": 1240,
"cached": false,
"page": {
"limit": 2,
"offset": 0,
"returned": 2,
"total": 14,
"has_more": true,
"next_cursor": "2"
},
"served_by": "pop=MAD country=ES"
}
}
200 OK400 Solicitud incorrecta401 No autorizado402 Pago requerido429 Demasiadas solicitudes503 Servicio no disponible504 Tiempo de espera de la puerta de enlace agotadoUsa la referencia de API de Certificados SSL para revisar parámetros, campos de respuesta, ejemplos, códigos de estado y modos de operación compatibles.
Los resultados desconocidos o parciales indican que la evidencia solicitada no pudo determinarse por completo. Conserva el estado del resultado, la confianza, la vigencia y las limitaciones en las decisiones posteriores.
El precio depende de la operación y del modo de ejecución. Consulta la referencia del endpoint para conocer el coste actual en créditos, el requisito de autenticación y las reglas por elemento.
Utilizado por personas en estas empresas