Website Uptime & SSL Checker — UptimeRobot Alternative
Pricing
from $2.00 / 1,000 url checkeds
Website Uptime & SSL Checker — UptimeRobot Alternative
Check website uptime, SSL expiry, response time, redirects, and expected content across URL lists. Export status, health scores, and failure diagnostics per endpoint for operational reviews and scheduled checks.
Pricing
from $2.00 / 1,000 url checkeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a minute ago
Last modified
Categories
Share
Check website uptime, SSL expiry, response time, redirects, and expected content across URL lists. Export status, health scores, and failure diagnostics per endpoint for operational reviews and scheduled checks. For operations teams, each dataset row is one endpoint check with HTTP, SSL, content, timing, and diagnostic evidence.
Workflow: put the results to work
Supply the endpoints and define the statuses or response content that indicate success. Review HTTP, SSL, and content findings together before marking a service healthy. Repeated scheduled observations can feed your monitoring workflow; route alerts through the system you use for incident handling.
Best fit
- Check public landing pages, APIs, and health endpoints before or after a release.
- Schedule the same URL list in Apify when a repeatable interval and a dataset trail are useful.
- Assert an HTTP status, a page keyword, or a regular expression before treating a response as healthy.
- Review SSL expiry and redirect evidence alongside response time instead of relying on an HTTP 200 alone.
Use UptimeRobot when you need its broader recurring-monitor service, alert delivery, incident workflow, multi-location configuration, team seats, status pages, or retained dashboard history. This Actor is an independent workflow tool and is not affiliated with, associated with, or endorsed by UptimeRobot.
How this workflow compares with UptimeRobot
| Decision | This Actor | UptimeRobot is the better fit when |
|---|---|---|
| Current endpoint check | Produces a source-linked, point-in-time dataset row for every supplied URL. | You need a persistent monitor managed in its dashboard. |
| Automation | Runs through Apify schedules, API calls, webhooks, and downstream datasets when configured in your workspace. | You need its built-in recurring alerting and incident workflow. |
| Output | Returns structured JSON, an HTML report, OUTPUT, and RUN_SUMMARY. | Your team needs a hosted status page and collaborative incident records. |
| Billing boundary | Uses Pay per event plus Apify platform usage; the live Pricing tab is the current source for event pricing. | A recurring subscription with the product's included monitor, seat, or history limits is preferable. |
| Operator efficiency | Produces one endpoint row that automation can sort, export, or pass into a workflow; comparative efficiency awaits a same-job measurement. | Your team prefers ongoing review in a managed monitoring dashboard. |
| Monitoring scope | Checks public HTTP(S) URLs with GET, optional SSL inspection, status assertions, and content checks. | You need the incumbent's additional monitor types, native alert channels, or broader service controls. |
The private comparison dossier records the same-job scope and current official pricing/feature evidence. It leaves universal price, speed, and completeness comparisons outside its evidence boundary.
From a deployment list to a health brief
An operations lead supplies canonical production URLs and the text that should appear after a successful deployment. The Actor probes each endpoint, follows configured redirects, captures certificate timing, evaluates the content assertion, and writes a stable row. The lead can sort the resulting dataset by isUp, responseTimeMs, ssl.daysUntilExpiry, or diagnostic.kind, then schedule the same input or pass endpoints needing attention into an incident workflow.
Quick start
{"startUrls": [{ "url": "https://example.com" },{ "url": "https://www.iana.org/domains/reserved" }],"expectedStatusCodes": [200],"keyword": "Example Domain","checkSsl": true,"maxUrls": 25,"maxRetries": 1}
Only use URLs you are authorized to monitor. The Actor accepts public HTTP(S) targets, rejects local/private/reserved or credential-bearing targets and resolved destinations, and uses credential-free GET requests only.
Input reference
| Field | What it controls |
|---|---|
startUrls | Required list of public endpoints in { "url": "https://example.com" } form. Duplicates are removed. |
expectedStatusCodes | Optional strict allowlist such as [200, 204]. Without it, any 2xx or 3xx result is healthy. |
keyword / regex | Optional case-insensitive content assertion. regex takes precedence over keyword. |
method | Fixed read-only GET method, which supports content assertions. |
checkSsl | Adds certificate issuer, validity, expiry, and days-to-expiry for HTTPS endpoints. |
followRedirects / maxRedirects | Controls whether the final destination and redirect path are checked. |
timeoutMs / maxConcurrency | Bounds request waiting time and parallel checks. |
maxUrls | Caps each run to 1–1,000 unique targets; excess targets are neither checked nor charged. |
maxRetries | Adds up to three retries only for transient network and 5xx failures. |
useApifyProxy / proxyConfiguration | Optional proxy route for authorized public targets. Platform usage may vary with proxy use. |
Output
Every URL produces at most one dataset record and one url-checked event. A down endpoint remains a valuable observation: it has isUp: false and an actionable diagnostic rather than silently disappearing.
{"url": "https://example.com/","isUp": true,"healthScore": 100,"performanceGrade": "A","statusCode": 200,"responseTimeMs": 180,"ssl": {"checked": true,"valid": true,"daysUntilExpiry": 60,"isExpired": false,"isExpiringSoon": false},"contentMatch": {"checked": true,"found": true,"keyword": "Example Domain","matchType": "keyword"},"redirects": [],"finalUrl": "https://example.com/","diagnostic": null,"checkedAt": "ISO-8601 UTC timestamp from this run","durationMs": 205,"attempts": 1}
| Artifact | What it contains |
|---|---|
| Dataset | One normalized endpoint observation per checked URL. Use the Overview, Down only, or SSL detail view. |
OUTPUT | Stable machine result: outcome, counts, charged event count, and safe warnings. |
RUN_SUMMARY | Detailed terminal metrics, time range, diagnostics, retry/billing state, and safe errors. |
SUMMARY | Aggregate uptime, response-time, SSL, and diagnostic metrics. |
REPORT | HTML table for human review. |
RUN_CONFIG | Redacted effective settings that make the check reproducible. |
Terminal outcomes are explicit: COMPLETE means all selected checks were persisted, PARTIAL means an input cap, event-charge cap, or write validation limited the result, and INVALID_INPUT tells you how to correct the request. Each endpoint outage returns an actionable diagnostic dataset row.
API example
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~website-uptime-monitor/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://example.com"}],"expectedStatusCodes": [200],"keyword": "Example Domain","maxUrls": 1}'
Read the run's default dataset for per-endpoint records. Read OUTPUT first for a compact automation decision, then use RUN_SUMMARY when a partial check needs investigation.
MCP agent prompt card
Check these authorized public production URLs with GET. Treat only HTTP 200 as healthy, verify the phrase
Example Domain, returnurl,isUp,statusCode,responseTimeMs, SSL days remaining,diagnostic, andcheckedAt. Stop after 25 URLs, report the terminalOUTPUToutcome, and flag any partial result. Each checked URL is billed through the Actor's live Pricing tab plus Apify platform usage.
The Actor is read-only against the supplied endpoints. It performs an endpoint observation and returns evidence; monitor creation, alert delivery, remote changes, credential storage, and authorization decisions remain in the surrounding systems.
Best results and troubleshooting
| Situation | Recommended action | Result |
|---|---|---|
| You own a public API | Use its dedicated health endpoint and set expectedStatusCodes: [200]. | A precise availability observation that preserves endpoint semantics. |
| Page content matters | Use a stable keyword such as a product name or a narrowly scoped regex. | A 200 response that lost its expected content becomes visible as content_mismatch. |
| An endpoint is slow or intermittently unavailable | Keep maxRetries at 1 or 2 and compare attempts with responseTimeMs. | Transient conditions receive a bounded retry and one dataset row. |
| A public page is geo-restricted | Use an authorized Apify proxy configuration and account for platform usage. | A route-specific observation with the same output contract. |
| You need notifications or a public status page | Use a workflow that reads OUTPUT / the dataset and sends alerts, or choose a hosted monitoring suite. | Clear responsibility for monitoring, escalation, and customer communication. |
Builder's note
I designed the output to keep raw availability, transport, SSL, content, redirect, and timing evidence alongside the health score. A score makes triage faster, while the underlying fields keep the decision explainable to a human or an agent. The Actor intentionally produces one point-in-time record and routes historical uptime or incident-management needs to a hosted monitoring workflow.
Responsible use
Monitor endpoints you are authorized to assess. Keep request concurrency and retry settings considerate, submit credential-free public URLs, and follow the applicable laws, contracts, and security policies for the systems you operate.
Pricing and run costs
This Actor uses Pay per event plus Apify platform usage. The Pricing tab lists the current event rates and billing terms.
| Event | Billing unit | When it applies |
|---|---|---|
url-checked | URL checked | Charged for each URL checked, regardless of whether it returned UP or DOWN. Includes the HTTP request, SSL inspection, content match, response timing, performance grading, health scoring, and the failure diagnostic. |
apify-actor-start | Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Run cost combines the charged events and Apify platform usage. Review the run charge limit and requested result count before starting.
Connect an AI agent
Use the Apify MCP configurator to choose an available client connection. Inspect this Actor’s current input schema and required credentials before running it.