StatusCake's entry-level paid plan starts at $20/mo. For teams running 10–25 monitors with basic uptime and alerting needs, that price doesn't match the value delivered. StackEye's Starter plan ($5/mo, 25 monitors) and Pro plan ($12/mo, 100 monitors) cover the same use case at a fraction of the cost — with multi-region consensus alerting included on all paid plans. This guide walks through a complete StatusCake-to-StackEye migration.
Why teams migrate from StatusCake
- Price — StatusCake's paid plans start at $20/mo. StackEye starts at $5/mo for 25 monitors with 2-minute check intervals.
- Multi-region consensus — StatusCake runs checks from a single location per check. StackEye runs from 3 regions simultaneously and only alerts when a majority agree, eliminating false positives from regional blips.
- Monitor limits — StatusCake's $20/mo plan allows up to 100 uptime tests. StackEye Pro gives 100 monitors at $12/mo, saving 40% for the same capacity.
- Scoped API keys — StatusCake uses account-level API credentials. StackEye API keys carry granular permissions ideal for CI/CD pipelines and read-only integrations.
- Independent product — StackEye is a focused uptime monitoring tool, not a broad suite with features you don't use.
Feature mapping
| StatusCake | StackEye equivalent |
|---|---|
| Uptime Test | HTTP Probe |
| Alert Integration | Notification Channel |
| Status Page | Status Page |
| SSL Test | Built-in SSL check on every HTTPS probe |
| Domain Expiry Test | Domain expiry check (central probe) |
| DNS Test | DNS Probe |
| Page Speed Test | Not in scope (StackEye focuses on active uptime monitoring) |
| Virus Scanner | Not in scope |
| API (REST) | REST API with se_<64-hex-chars> API keys |
Pricing comparison
| Monitors needed | StatusCake cost | StackEye cost | Monthly savings |
|---|---|---|---|
| Up to 10 | $0 (Free tier) | $0 (Free tier) | $0 |
| Up to 25 | $20/mo | $5/mo (Starter) | $15 |
| Up to 100 | $20/mo | $12/mo (Pro) | $8 |
| Up to 500 | $40+/mo | $29/mo (Team) | $11+ |
Step 1: Export your uptime tests from StatusCake
StatusCake provides a REST API to retrieve all uptime tests. Use your API key from Account → API Keys:
SC_API_KEY="your-statuscake-api-key"
# Fetch all uptime tests
curl -s "https://api.statuscake.com/v1/uptime" \
-H "Authorization: Bearer $SC_API_KEY" \
| jq '[.data[] | {name: .name, url: .website_url, interval: .check_rate}]'Save the output to sc-tests.json. You'll convert this to StackEye's probe format in the next step.
Step 2: Sign up for StackEye
Visit stackeye.io/signup and start your 14-day free trial — all paid features included, no credit card required. Complete the onboarding wizard to create your organization.
Step 3: Configure notification channels
Before importing probes, configure where alerts will go. Navigate to Channels in the sidebar and add each destination:
| StatusCake integration | StackEye channel type |
|---|---|
| Email alert | |
| Slack webhook | Slack (OAuth) |
| Custom webhook | Webhook |
| PagerDuty | Webhook |
Use the Send Test button on each channel to confirm delivery before importing probes.
Step 4: Convert StatusCake tests to StackEye probes
Convert the exported JSON to StackEye probe format:
# Convert StatusCake test export to StackEye import format
cat sc-tests.json | jq '[.[] | {
name: .name,
url: .url,
check_type: "http",
method: "GET",
interval_seconds: .interval,
regions: ["nyc3","sfo3","chi1"],
expected_status_codes: [200],
ssl_check_enabled: true,
follow_redirects: true
}]' > probes.jsonStep 5: Import probes via CLI
Install the StackEye CLI and import your probes:
# Install CLI
brew install stackeye-io/tap/stackeye # macOS
curl -sSfL https://stackeye.io/install.sh | sh # Linux
# Authenticate
stackeye auth login
# Preview (no changes made)
stackeye probe import --file probes.json --dry-run
# Import all probes
stackeye probe import --file probes.json
# Verify
stackeye probe listNote: Labels in the import file appear in --dry-run output but are silently dropped during actual import. Apply labels after import:
# Apply labels to each probe
stackeye probe label PROBE_ID env=prod tier=web --no-inputStep 6: SSL and domain expiry monitoring
StatusCake has separate SSL and domain expiry test types. In StackEye:
- SSL expiry — automatically checked on every HTTPS probe. Alerts fire at 30, 14, and 7 days before expiry. No separate configuration needed.
- Domain expiry — the central probe checks domain registration expiry. Navigate to Settings → Domain Checks to add domains.
Step 7: Status page migration
Recreate your StatusCake status pages in StackEye:
- Navigate to Status Pages → New Status Page.
- Name the page and add your imported probes.
- Configure a custom domain: add a CNAME record pointing
status.yourdomain.comtopages.stackeye.io. - Notify subscribers of the new URL — export the StatusCake subscriber list from Status Page → Subscribers before switching.
Step 8: Cutover checklist
- All uptime tests imported as StackEye probes and showing correct status
- Notification channels configured and Send Test confirmed for each
- SSL monitoring verified active for all HTTPS probes
- Domain expiry monitoring configured for all registered domains
- Status page live with custom domain, subscribers notified
- API integrations updated to use StackEye API key
- Team members invited via Settings → Team
- Page speed tests noted — StackEye does not replicate this feature
- 48 hours of clean operation with verified alert delivery
What you'll lose
| StatusCake feature | Status in StackEye |
|---|---|
| Page Speed Test | Not in scope — StackEye focuses on active uptime monitoring |
| Virus Scanner | Not in scope |
| Transaction/browser tests | Not in MVP |
| Heartbeat monitoring | Not in current release |
Troubleshooting
Probe shows DOWN immediately after import: Your URL may resolve to a private IP address. StackEye probes run from regional cloud clusters and cannot reach private networks. Use a StackEye Private Relay agent for internal services.
StatusCake check_rate is in seconds: StatusCake's API returns check_rate in seconds. StackEye's interval_seconds uses the same unit — no conversion needed if you used the jq command above.
Alerts not firing: Verify the notification channel is attached to the probe under probe → Edit → Channels tab.
Start your 14-day free trial →
← Back to Blog