SiteInformant Public API

Monitor website uptime, response time, and SSL expiration with our free JSON API. No keys required - simple and predictable.

Product pricing: The first endpoint is free. Monitor up to 10 endpoints for just $0.99 per month.

Check a Public Endpoint Now

Overview

The SiteInformant Public API provides anonymous, read-only access to uptime statistics and SSL expiration data for websites whose owners have opted in for public visibility. It can be used in scripts, integrations, and internal tools that need current public website health data. Account settings, private endpoint history, p95, deployment comparisons, notifications, and escalation policies remain behind authenticated app APIs.

Endpoints

EndpointDescription
GET /api/public/status/{domain} Returns uptime %, SSL expiration date, and last check info for a public domain.
GET /api/public/plans Returns the current SiteInformant pricing plans.
GET /api/public/example Provides a sample response for testing and schema exploration.
POST /api/public/check Runs or returns the cached one-time public endpoint check used by the free checker.

Authenticated Monitoring Features

The dashboard adds private operational features beyond the anonymous public API: retained p95 response time, deployment markers that compare up to 30 successful checks before and after a release, encrypted request headers, reusable notification destinations, and endpoint escalation policies. These capabilities are account-scoped and are not exposed by the public status API.

Learn more about p95 response-time and deployment tracking or uptime alert escalation and notification routing.

Example (curl)


curl https://api.siteinformant.com/api/public/status/prudentdev.com

Example (C#)


// DTO matching the PublicStatusResponse schema
public class PublicStatusResponse
{
    public string Domain { get; set; } = string.Empty;
    public double UptimePercent { get; set; }
    public bool IsOnline { get; set; }
    public DateTime? LastCheckUtc { get; set; }
    public int? AverageResponseMs { get; set; }
    public DateTime? SslExpiresUtc { get; set; }
    public string? SslIssuer { get; set; }
}

using var http = new HttpClient { BaseAddress = new Uri("https://api.siteinformant.com") };
var response = await http.GetFromJsonAsync<PublicStatusResponse>("/api/public/status/prudentdev.com");

if (response != null)
{
    Console.WriteLine($"{response.Domain} uptime: {response.UptimePercent}%");
    Console.WriteLine($"Online: {response.IsOnline}, SSL expires: {response.SslExpiresUtc}");
}

Sample JSON Response


{
  "domain": "prudentdev.com",
  "uptimePercent": 99.89,
  "isOnline": true,
  "lastCheckUtc": "2025-11-03T07:45:00Z",
  "averageResponseMs": 238,
  "sslExpiresUtc": "2026-01-04T00:00:00Z",
  "sslIssuer": "Let's Encrypt"
}

Caching & Rate Limits

Responses are cached briefly to improve performance:

Rate limits: up to 60 requests per minute. On limit, the API returns 429 Too Many Requests and a Retry-After header (seconds). Please cache /status/{domain} for 60s.

Attribution

When referencing SiteInformant in automations, integrations, or dashboards, please credit SiteInformant as the source of uptime and SSL data. Our API is designed to be safely embedded in automations and internal tools.

OpenAPI JSON