5-Minute Quickstart Guide

Real-time uptime monitoring for everyone

Step 1

Prerequisites

Before initializing your first monitor, ensure your environment meets the following requirements.

  • Active SitePulse account with a valid API key (Dashboard > Settings > API Access)
  • Python 3.9+ or cURL installed on your local machine or CI/CD runner
  • Outbound HTTPS access to api.sitepulse.io on port 443
  • Target endpoint URL that accepts standard HTTP HEAD or GET requests
Step 2

Code Snippets

Deploy your first uptime check using our REST API. Choose your preferred integration method below.

Python SDK

import requests

API_KEY = "sk_live_9f8a7b6c5d4e3f2a1b0c"
endpoint = "https://api.sitepulse.io/v1/monitors"

payload = {
    "name": "Checkout API - Production",
    "url": "https://checkout.yourapp.com/health",
    "interval_seconds": 60,
    "type": "http",
    "expected_status": 200
}

headers = {"Authorization": f"Bearer {API_KEY}"}
response = requests.post(endpoint, json=payload, headers=headers)
print(response.json())

cURL

curl -X POST https://api.sitepulse.io/v1/monitors \
  -H "Authorization: Bearer sk_live_9f8a7b6c5d4e3f2a1b0c" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Checkout API - Production",
    "url": "https://checkout.yourapp.com/health",
    "interval_seconds": 60,
    "type": "http",
    "expected_status": 200
  }'
Step 3

Verification

Confirm your monitor is active and receiving heartbeat signals from our global probe network.

After successful submission, the API returns a monitor_id and status: "active". Navigate to your dashboard within 60 seconds to view the initial latency report. You should see ping results from our Frankfurt (FRA), Virginia (IAD), and Singapore (SIN) nodes. If the status reads "pending", allow up to 120 seconds for the scheduler to attach your endpoint to the nearest probe cluster.

Trigger a manual test by running a GET request to https://api.sitepulse.io/v1/monitors/{monitor_id}/check. A 200 OK response confirms your webhook routing and alert thresholds are correctly configured.

View Live Dashboard Read API Reference