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.
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.
- Base URL:
https://api.siteinformant.com - OpenAPI spec: /api/public/openapi.json
- Formats: JSON (UTF-8)
- Auth: None required (read-only)
Endpoints
| Endpoint | Description |
|---|---|
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:
/status/{domain}— 60 seconds/plans— 30 days/example— 30 days
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.