Site Detection API

A token-authenticated REST API to manage your website monitors and read uptime, incidents, and check history. Included on every paid plan.

Base URL

https://sitedetection.com/api/v1

Authentication

Create a key under Profile → API keys in your Site Detection account. Send it as a bearer token on every request. Keys are read-only or read & write; the plaintext is shown once at creation, so store it securely. Use keys server-side only.

curl https://sitedetection.com/api/v1/monitors \
  -H "Authorization: Bearer sd_live_your_token_here"
A read-only key can call every GET. Creating, changing, or deleting monitors requires a read & write key.

Rate limits

Requests are limited per key, per minute, based on your plan. Over the limit returns 429 with a Retry-After header.

PlanRequests / minute
Trial30
Starter60
Growth120
Pro300
Enterprise1000

Endpoints

GET/monitors

List your monitors (active, paused and archived).

POST/monitors

Create a monitor. Body: url (required), name, interval_seconds (clamped to your plan's minimum). Respects your plan's monitor limit.

curl -X POST https://sitedetection.com/api/v1/monitors \
  -H "Authorization: Bearer sd_live_..." \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","name":"Example"}'
GET/monitors/{id}

Get one monitor.

PATCH/monitors/{id}

Update a monitor. Body may include name, interval_seconds, paused (bool), archived (bool).

curl -X PATCH https://sitedetection.com/api/v1/monitors/{id} \
  -H "Authorization: Bearer sd_live_..." \
  -H "Content-Type: application/json" \
  -d '{"paused":true}'
DELETE/monitors/{id}

Delete a monitor and its history permanently.

GET/monitors/{id}/incidents

List detected incidents for a monitor (most recent first).

GET/monitors/{id}/checks?limit=100

Recent check results (up/down, status code, response time). limit up to 500.

GET/account

Your plan, monitor usage/limit, and API rate limit.

Responses & errors

All responses are JSON. Errors use standard HTTP status codes with an error message:

CodeMeaning
200 / 201Success
401Missing / invalid / revoked token
403Read-only key used for a write, or plan limit reached
404Monitor not found (or not yours)
422Invalid request body
429Rate limit exceeded