# crt.sh API: Search certificates

> Finds certificates issued for a domain and its subdomains on crt.sh, with the DNS names each certificate covers. Expired certificates are excluded unless requested.

Unofficial. Not affiliated with or endorsed by crt.sh.

- Page: https://fous.com/methods/crt.sh/search-certificates
- Method: `crt.sh/search_certificates`, version 1
- Website: crt.sh
- Returns: subdomains, certificates with names, issuer, validity dates, crt.sh link and serial number
- Effect: read (it gets data and changes nothing)
- Sign-in: none needed
- Cost: 1 credit per completed run (1¢ with pay as you go); failed runs are free
- Verified: Nov 2, 2026

## Inputs

| Field | Type | Required | In the run below | Description |
|---|---|---|---|---|
| `domain` | string | yes | `"example.com"` | Domain to search, for example example.com. |
| `max_results` | integer | no | `100` | Maximum number of certificates to return, for example 100. Default 100. |
| `include_expired` | boolean | no | `true` | Include expired certificates, for example true. Default false. |

## Output

From a run on Oct 23, 2026, shortened. Its input:

```json
{
  "domain": "example.com",
  "max_results": 100,
  "include_expired": true
}
```

Its output:

```json
{
  "subdomains": [
    "*.example.com",
    "dev.example.com",
    "example.com"
  ],
  "certificates": [
    {
      "link": "https://crt.sh/?id=29581277802",
      "crt_sh_id": 29581277802,
      "valid_from": "2026-09-26",
      "valid_until": "2026-12-25",
      "names_covered": [
        "*.example.com",
        "example.com"
      ],
      "serial_number": "01eee6aabb521d5e14fc315fd9985690",
      "issuer_organization": "SSL Corporation"
    },
    {
      "link": "https://crt.sh/?id=29598205284",
      "crt_sh_id": 29598205284,
      "valid_from": "2026-09-26",
      "valid_until": "2026-12-25",
      "names_covered": [
        "*.example.com",
        "example.com"
      ],
      "serial_number": "5173da68cc3109eb9472ebf41691c876",
      "issuer_organization": "SSL Corporation"
    },
    {
      "link": "https://crt.sh/?id=29557945233",
      "crt_sh_id": 29557945233,
      "valid_from": "2026-09-24",
      "valid_until": "2026-12-21",
      "names_covered": [
        "*.example.com",
        "example.com"
      ],
      "serial_number": "2caeeaf0743459d7e5f82a75123c58f3",
      "issuer_organization": "Sectigo Limited"
    }
  ]
}
```

## Run it

From code, with a Fous API key in `FOUS_API_KEY`; the answer's `data` holds the output:

```bash
curl https://api.fous.com/v1/runs \
  -H "Authorization: Bearer $FOUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"method":"crt.sh/search_certificates","input":{"domain":"example.com","max_results":100,"include_expired":true}}'
```

From an AI agent connected to the Fous MCP server: its `run` with the same method and input. To connect one, give it `set up https://fous.com/SKILL.md`.

## Ask your agent

- Find all SSL certificates issued for example.com and its subdomains, including the DNS names each one covers
- Show me certificates for acmecorp.io along with their issuer and validity dates, limited to 50 results
- List every subdomain that has a certificate under bluebirdbank.net, including expired certificates from the last two years
- On crt.sh, look up certificates for staging.retailhub.org and its subdomains and give me the serial numbers
- I need a list of currently valid certificates covering *.nordicfreight.se with issuer names and crt.sh links, maximum 200 entries

## Input schema

```json
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain to search, for example example.com."
    },
    "max_results": {
      "type": "integer",
      "default": 100,
      "maximum": 1000,
      "minimum": 1,
      "description": "Maximum number of certificates to return, for example 100."
    },
    "include_expired": {
      "type": "boolean",
      "default": false,
      "description": "Include expired certificates, for example true."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "required": [
    "subdomains",
    "certificates"
  ],
  "properties": {
    "subdomains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Unique matching DNS names, sorted A-Z, including wildcards and the root domain when present."
    },
    "certificates": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "names_covered",
          "issuer_organization",
          "valid_from",
          "valid_until",
          "link",
          "crt_sh_id",
          "serial_number"
        ],
        "properties": {
          "link": {
            "type": "string",
            "description": "Certificate page on crt.sh."
          },
          "crt_sh_id": {
            "type": "integer"
          },
          "valid_from": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "names_covered": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "DNS names listed on the certificate."
          },
          "serial_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "issuer_organization": {
            "type": [
              "string",
              "null"
            ],
            "description": "Organization that issued the certificate."
          }
        },
        "additionalProperties": false
      },
      "description": "Matching unique certificates, newest first."
    }
  },
  "additionalProperties": false
}
```

## See more

- [crates.io API: Search crates](https://fous.com/methods/crates.io/search-crates.md): Finds Rust crates on crates.io by keywords, sorted by relevance, total downloads, recent downloads, or newest creation.
- [Coursera API: Search courses](https://fous.com/methods/coursera.org/search-courses.md): Finds Coursera courses, specializations, professional certificates, degrees and guided projects on a topic, in Coursera's search order.
- [Google API: Search Chrome extensions](https://fous.com/methods/chromewebstore.google.com/search-extensions.md): Finds Chrome Web Store extensions by keywords in store order, with each listing's developer, users, rating, rating count, short description and store link. Some listings omit developer, users or ratings.
- [npm API: Search packages](https://fous.com/methods/npmjs.com/search-packages.md): Searches the npm registry for JavaScript packages by description or keywords, in npm's search order, and returns each package's latest version, weekly downloads and publish date.
- [Docker API: Search container images](https://fous.com/methods/hub.docker.com/search-container-images.md): Finds public Docker Hub container images matching a software name, in Docker Hub search order, with publisher, badge, stars, last update and exact total pulls when Docker Hub publishes them. Can keep only Docker Official Images and Verified Publisher images.
- [Google DNS API: Get DNS records](https://fous.com/methods/dns.google/get-dns-records.md): Looks up DNS records for a domain or pasted website link and summarizes its SPF record, DMARC policy and mail servers. A missing record type yields an empty records list.
- [NIST API: Search vulnerabilities](https://fous.com/methods/nvd.nist.gov/search-vulnerabilities.md): Finds known vulnerabilities (CVEs) in the NVD that match a product or vendor name, newest first. Each CVE is flagged when it is in CISA's known exploited catalog.
- [Trustpilot API: Search companies](https://fous.com/methods/trustpilot.com/search-companies.md): Finds companies on Trustpilot by name or what they do, with TrustScore, review count, categories, location, logo and links. A preferred country moves companies listed in that country to the front.
