API

The read API — endpoints and examples

103 Views Last updated: 2026-10-25

The read API gives you your monitoring data as JSON: sites, monitors, incidents, monthly SLA data and response-time series. Everything is read-only and scoped to your own account.

Authentication

Create a key under Settings → API (read permission) and send it in the X-API-Key header. Keys are shown once — store them safely. Each key has its own rate limit; 429 means slow down.

Endpoints

  • GET /api/v1/monitoring/sites — all active sites with state.
  • GET /api/v1/monitoring/sites/{site} — one site: monitors, state, 30-day uptime, p95.
  • GET /api/v1/monitoring/sites/{site}/incidents — incident log (paginated, ?per_page= up to 100).
  • GET /api/v1/monitoring/sites/{site}/uptime?year=2026&month=8 — the monthly SLA report as JSON.
  • GET /api/v1/monitoring/sites/{site}/monitors/{monitor}/series?range=24h|7d|30d — avg/p95 series per hour or day.

{site} and {monitor} are the public ids from the API (e.g. rhuuiltnynyn), also visible in the app URLs.

curl

curl -H "X-API-Key: YOUR_KEY" https://ravnsight.com/api/v1/monitoring/sites

PHP

$ch = curl_init('https://ravnsight.com/api/v1/monitoring/sites');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: YOUR_KEY']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$sites = json_decode(curl_exec($ch), true)['data'];
foreach ($sites as $site) {
    echo $site['name'] . ': ' . $site['state'] . PHP_EOL;
}

Python

import requests

r = requests.get(
    'https://ravnsight.com/api/v1/monitoring/sites',
    headers={'X-API-Key': 'YOUR_KEY'}, timeout=10)
for site in r.json()['data']:
    print(site['name'], site['state'])

JavaScript

const res = await fetch('https://ravnsight.com/api/v1/monitoring/sites', {
  headers: { 'X-API-Key': 'YOUR_KEY' },
});
const { data } = await res.json();
data.forEach(site => console.log(site.name, site.state));

Errors

  • 401 — missing/invalid key.
  • 403 — the plan lacks API access (Pro and up), or the key lacks read permission.
  • 404 — unknown site/monitor id (or not yours).
  • 429 — rate limit hit; retry after a minute.

Still need help?

Couldn't find what you're looking for? We're happy to help.

Ravnsight assistant
Hi! I can answer questions about Ravnsight — how to monitor sites, set up alerts, use the plugin and more. What would you like to know?
Thinking …