Website
Checks if a website is alive and returns status code and response time. This node is the foundation of website uptime monitoring, performance tracking, API health checks, and service availability verification.
Common Properties
- Name - The custom name of the node.
- Color - The custom color of the node.
- Delay Before (sec) - Waits in seconds before executing the node.
- Delay After (sec) - Waits in seconds after executing node.
- Continue On Error - Automation will continue regardless of any error. The default value is false.
If the ContinueOnError property is true, no error is caught when the project is executed, even if a Catch node is used.
Input
- URL - URL of the website to check. If no protocol is provided,
https://is automatically prepended.
Options
- Timeout - Timeout in seconds for the HTTP request (default: 60 seconds)
- Basic Authentication - Optional HTTP Basic Authentication credentials with username and password fields
Outputs
- Is Alive - Boolean indicating if website returned a successful 2xx HTTP status code
- Status Code - HTTP response status code (200, 404, 500, etc.)
- Response Time - Response time in milliseconds from request start to response received
How It Works
The Website node sends an HTTP GET request to verify website availability. When executed, the node:
- Validates the URL input
- Prepends
https://if no protocol is specified - Creates an HTTP client with the specified timeout
- Optionally adds Basic Authentication headers if credentials are provided
- Sends a GET request and measures response time
- Receives the HTTP response
- Determines if website is "alive" (2xx status code)
- Returns status code, alive status, and response time
HTTP Status Code Reference
2xx - Success (Is Alive: true)
- 200 - OK (Standard successful response)
- 201 - Created
- 204 - No Content
3xx - Redirection (Is Alive: false)
- 301 - Moved Permanently
- 302 - Found (Temporary Redirect)
- 304 - Not Modified
4xx - Client Errors (Is Alive: false)
- 400 - Bad Request
- 401 - Unauthorized
- 403 - Forbidden
- 404 - Not Found
- 429 - Too Many Requests
5xx - Server Errors (Is Alive: false)
- 500 - Internal Server Error
- 502 - Bad Gateway
- 503 - Service Unavailable
- 504 - Gateway Timeout
Example Use Cases
Basic Website Uptime Monitoring
Check if a website is accessible and responding:
// Input
URL: "https://www.example.com"
Timeout: 30
// Output - Website is up
Is Alive: true
Status Code: 200
Response Time: 245 // 245ms
Performance Monitoring
Track website response times over time:
// Input
URL: "https://api.example.com"
// Output
Is Alive: true
Status Code: 200
Response Time: 1250 // 1.25 seconds
// Alert if responseTime > 2000ms (performance degradation)
Detect Website Downtime
Monitor for service outages:
// Input
URL: "https://service.example.com"
// Output - Website is down
Is Alive: false
Status Code: 503
Response Time: 5000
// Status 503 = Service Unavailable
// Send immediate alert to operations team
Monitor Authenticated Endpoints
Check protected pages with Basic Authentication:
// Input
URL: "https://admin.example.com"
Basic Authentication:
- username: "admin"
- password: "secure-password"
// Output - Successfully authenticated
Is Alive: true
Status Code: 200
Response Time: 320
API Health Check
Verify API endpoints are responding:
// Input
URL: "https://api.example.com/health"
// Output - API is healthy
Is Alive: true
Status Code: 200
Response Time: 85
Multi-Region Availability
Check website from different regions:
// Run from multiple geographic locations
// Compare response times
// Detect regional outages
// Optimize CDN configuration
Performance Benchmarks
Response Time Interpretation
- < 100ms - Excellent (local or well-optimized)
- 100-300ms - Good (typical for nearby servers)
- 300-500ms - Acceptable (remote servers or standard load)
- 500-1000ms - Slow (investigate optimization)
- 1000-3000ms - Poor (high load or issues)
- > 3000ms - Critical (severe performance problems)
Recommended Timeouts
- Fast APIs - 10 seconds
- Standard Websites - 30 seconds
- Slow/Large Sites - 60 seconds
- International Sites - 60-120 seconds
Tips for Effective Use
- Protocol Specification - Always specify
https://orhttp://for clarity - Monitor Complete URLs - Include paths for specific pages (e.g.,
/login,/api/status) - Response Time Trends - Track response time over days/weeks to detect degradation
- Combine with Keyword - Use Website node for availability, then Keyword node for content verification
- Status Code Alerts - Different status codes require different actions (404 vs 503)
- Timeout Configuration - Set timeout based on expected response time + buffer
- Regular Intervals - Check every 1-5 minutes for critical services
- Avoid Excessive Requests - Too frequent checks can impact server performance
- Use Health Endpoints - Create dedicated
/healthor/statusendpoints for monitoring
Common Errors and Solutions
Error: "URL cannot be empty"
Cause: The URL input is missing or contains an empty string.
Solution: Ensure the URL input variable contains a valid URL.
Error: "ErrRequest" - Request Failed
Cause: HTTP request could not be completed.
Solution:
- Check if URL is correct and accessible
- Verify network connectivity
- Confirm the website is online
- Check for DNS issues (use DNS node)
- Increase timeout for slow sites
- Verify firewall settings allow outbound HTTP/HTTPS
Timeout Errors
Cause: Request exceeded the specified timeout period.
Solution:
- Increase the Timeout value
- Check if website is experiencing high load
- Verify the URL is correct
- Test website accessibility from browser
- Check network speed and latency
Status Code: 401 (Unauthorized)
Cause: Authentication required but not provided or invalid.
Solution:
- Add Basic Authentication credentials
- Verify username and password are correct
- Check if different authentication method is required
- Confirm credentials have not expired
Status Code: 403 (Forbidden)
Cause: Server is refusing the request.
Solution:
- Check if IP is blocked
- Verify user has necessary permissions
- Review server access control lists
- Check if endpoint requires specific headers
Status Code: 404 (Not Found)
Cause: The requested resource does not exist.
Solution:
- Verify the URL path is correct
- Check for typos in the URL
- Confirm the page exists on the server
- Review recent deployments that may have removed the page
Status Code: 500 (Internal Server Error)
Cause: Server encountered an error processing the request.
Solution:
- Check server logs for error details
- Verify application is running correctly
- Review recent code deployments
- Check database connectivity
- Contact server administrators
Status Code: 502 (Bad Gateway)
Cause: Reverse proxy/gateway received invalid response from upstream server.
Solution:
- Check backend server status
- Verify proxy configuration
- Restart reverse proxy (nginx, Apache)
- Check upstream server connectivity
Status Code: 503 (Service Unavailable)
Cause: Server is temporarily unable to handle requests.
Solution:
- Check server capacity and load
- Verify application is running
- Review maintenance windows
- Check for DDoS attacks
- Scale resources if needed
Integration Examples
Complete Website Monitoring Solution
// Every 5 minutes:
// 1. Website node - Check if site is alive
// 2. If isAlive: false
// - Retry 2 more times (avoid false positives)
// - If still down: Send alert
// 3. If statusCode >= 500
// - Alert: Server error
// 4. If responseTime > 3000
// - Alert: Performance degradation
// 5. Log all metrics to database
// 6. Generate uptime report
Multi-Endpoint Health Dashboard
// Monitor all critical endpoints
const endpoints = [
{name: "Homepage", url: "https://www.example.com"},
{name: "API", url: "https://api.example.com/health"},
{name: "Admin", url: "https://admin.example.com", auth: true},
{name: "Mobile API", url: "https://mobile-api.example.com/status"}
];
// For each endpoint:
// Check with Website node
// Store: isAlive, statusCode, responseTime
// Update dashboard
// Alert on failures
SLA Monitoring and Reporting
// Calculate uptime percentage
// Total checks: 288 (every 5 min for 24 hours)
// Successful checks: Count where isAlive = true
// Uptime % = (successful / total) * 100
// SLA targets:
// - 99.9% = 43 minutes downtime/month allowed
// - 99.95% = 21 minutes downtime/month allowed
// - 99.99% = 4 minutes downtime/month allowed
// Alert if below SLA threshold
Geographic Performance Comparison
// Check same URL from multiple regions
const regions = [
{name: "US East", url: "https://us-east.example.com"},
{name: "US West", url: "https://us-west.example.com"},
{name: "EU", url: "https://eu.example.com"},
{name: "Asia", url: "https://asia.example.com"}
];
// Compare responseTime across regions
// Identify slowest region
// Optimize CDN configuration
Deployment Verification
// Before deployment
// Check website, record baseline metrics
// After deployment
// 1. Wait 30 seconds for service restart
// 2. Check website
// 3. Verify isAlive: true
// 4. Verify statusCode: 200
// 5. Compare responseTime with baseline
// 6. If any check fails: Trigger rollback
// 7. If all pass: Mark deployment successful
Cascade Failure Detection
// Check dependent services in order
// 1. Database server
// 2. API service
// 3. Web application
// 4. CDN endpoints
// Track which service failed first
// Identify root cause of cascade
// Alert with dependency tree
API Rate Limit Monitoring
// Monitor API endpoint
// Track statusCode: 429 (Too Many Requests)
// If 429 detected:
// - Reduce request frequency
// - Check API quota
// - Review rate limiting configuration
// - Optimize API usage patterns
Scheduled Maintenance Detection
// Regular monitoring
// If statusCode changes from 200 to 503:
// - Check for scheduled maintenance
// - Suppress alerts if maintenance window
// - Resume normal alerts after window
// - Verify service recovery
Performance Regression Testing
// After each deployment:
// Run 10 checks
// Calculate average responseTime
// Compare with previous deployment
// Alert if regression > 20%
// Track performance trends over time
Competitive Website Monitoring
// Monitor competitor websites
// Track uptime and performance
// Alert when competitor has outage
// Compare your uptime vs competitors
// Generate competitive analysis report
Load Test Validation
// During load testing:
// Monitor with Website node every 10 seconds
// Track:
// - When response time increases
// - When status codes change
// - When service becomes unavailable
// Identify breaking point
// Validate load test results