SSL Certificate Monitor API | Expiry + Issuer Changes avatar

SSL Certificate Monitor API | Expiry + Issuer Changes

Pricing

from $9.00 / 1,000 results

Go to Apify Store
SSL Certificate Monitor API | Expiry + Issuer Changes

SSL Certificate Monitor API | Expiry + Issuer Changes

Check SSL/TLS certificates in bulk, detect expiry and issuer changes, and emit alert-ready rows for ops and SEO teams.

Pricing

from $9.00 / 1,000 results

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Check SSL/TLS certificates in bulk, detect expiry and issuer changes, and emit alert-ready rows for ops and SEO teams.

Store Quickstart

  • Start with store-input.example.json for a reliable dataset run across three known domains.
  • If that matches your workflow, switch to store-input.templates.json and pick one of:
  • Quickstart (Dataset) for first-run validation
  • Portfolio Watch for larger domain sets
  • Webhook Alert for operational notifications

Key Features

  • 🔒 Direct TLS inspection — Connects at the protocol level, not through HTTP
  • Expiry warnings — Configurable alert threshold (default: 30 days)
  • 🔄 Certificate rotation detection — Tracks fingerprint changes between runs
  • 🔍 Issuer change alerts — Detect when a certificate's issuer changes (potential security issue)
  • 🛡️ Optional Google Web Risk lookup — Commercially usable reputation/threat checks with your own Google Cloud API key
  • Invalid cert detection — Catches expired, self-signed, and misconfigured certificates

Use Cases

WhoWhy
DevOps teamsPrevent certificate expiry outages across all domains
Security teamsDetect unauthorized certificate changes
MSPsMonitor client SSL certificates at scale
SEO agenciesVerify client sites have valid HTTPS

Input

FieldTypeDefaultDescription
domainsarrayprefilledList of domains to check SSL certificates for (e.g. ['example.com', 'github.com']). Maximum 200 per run.
portinteger443Port to connect on (default 443).
expiryWarningDaysinteger30Alert when certificate expires within this many days.
deliverystring"dataset"How to deliver results. 'dataset' saves to Apify Dataset (recommended), 'webhook' sends to a URL.
webhookUrlstringRequired when delivery is 'webhook'.
snapshotKeystring"ssl-cert-snapshots"Key name for storing snapshots (used for change detection between runs).
concurrencyinteger5Maximum number of parallel requests. Higher = faster but may trigger rate limits.
dryRunbooleanfalseIf true, runs without saving results or sending webhooks. Useful for testing.

Input Example

{
"domains": ["google.com", "github.com", "expired.badssl.com"],
"expiryWarningDays": 30,
"concurrency": 5,
"delivery": "dataset"
}

Output

FieldTypeDescription
metaobject
resultsarray
results[].domainstring
results[].statusstring
results[].certobject
results[].changesarray
results[].warningsarray
results[].reputationobject
results[].checkedAttimestamp
results[].errornull

Output Example

{
"domain": "google.com",
"status": "initial",
"cert": {
"subject": "CN=*.google.com, O=Google LLC, C=US",
"issuer": "CN=WR2, O=Google Trust Services, C=US",
"validFrom": "Jan 27 08:36:26 2026 GMT",
"validTo": "Apr 21 08:36:25 2026 GMT",
"serialNumber": "1A2B3C4D...",
"bits": 256,
"altNames": ["*.google.com", "google.com"],
"authorized": true,
"protocol": "TLSv1.3"
},
"changes": [],
"warnings": [
{
"type": "expiring_soon",
"message": "Certificate expires in 28 days",
"daysLeft": 28
}
],
"reputation": {
"provider": "google_webrisk",
"status": "clean",
"uri": "https://google.com/",
"checkedAt": "2026-02-22T05:00:54.606Z",
"requestedThreatTypes": ["MALWARE", "SOCIAL_ENGINEERING"],
"threatTypes": [],
"hasThreats": false,
"expireTime": null
}
}

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~ssl-certificate-monitor/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "domains": ["google.com", "github.com", "expired.badssl.com"], "expiryWarningDays": 30, "concurrency": 5, "delivery": "dataset" }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/ssl-certificate-monitor").call(run_input={
"domains": ["google.com", "github.com", "expired.badssl.com"],
"expiryWarningDays": 30,
"concurrency": 5,
"delivery": "dataset"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/ssl-certificate-monitor').call({
"domains": ["google.com", "github.com", "expired.badssl.com"],
"expiryWarningDays": 30,
"concurrency": 5,
"delivery": "dataset"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips & Limitations

  • Schedule weekly runs against your production domains to catch config drift.
  • Use webhook delivery to pipe findings into your SIEM (Splunk, Datadog, Elastic).
  • For CI integration, block releases on critical severity findings using exit codes.
  • Combine with ssl-certificate-monitor for layered cert + headers coverage.
  • Findings include links to official remediation docs — share with dev teams via the webhook payload.

FAQ

Is running this against a third-party site legal?

Passive public-header scanning is generally permitted, but follow your own compliance policies. Only scan sites you have authorization for.

How often should I scan?

Weekly for production domains; daily if you have high config-change velocity.

Can I export to a compliance tool?

Use webhook delivery or Dataset API — formats map well to Drata, Vanta, OneTrust import templates.

Is this a penetration test?

No — this actor performs passive compliance scanning only. No exploitation, fuzzing, or auth bypass.

Does this qualify as a SOC2 control?

This actor produces evidence artifacts suitable for SOC2 CC7.1 (continuous monitoring). It is not itself a SOC2 certification.

Security & Compliance cluster — explore related Apify tools:

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.003 per output item

Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01

No subscription required — you only pay for what you use.