The active reliability layer for developers & agents.

Create and manage tests, monitors, alerts, status pages and more in a AI-native workflow. Let your agents own reliability.

npx checkly init
Works with
CursorClaudeWindsurfOpenAIMistral
Claude Code
claude-opus-4
|
Write(__checks__/checkout.check.ts)
import { PlaywrightCheck, Frequency } from 'checkly/constructs' new PlaywrightCheck('checkout', {  name: 'Checkout Flow',  frequency: Frequency.EVERY_5M,  locations: [    'us-east-1', 'eu-west-1', 'ap-south-1', 'ap-northeast-1',  ],  code: { entrypoint: './checkout.spec.ts' },})
checkly/ __checks__/checkout.check.ts
ts
$ npx checkly test
Running 1 checks in eu-central-1.
__checks__/checkout.check.ts
✔ Checkout Flow (4s)
1 passed, 1 total
$ npx checkly deploy
✓ Successfully deployed to 4 locations
🇺🇸us-east-1
124ms
checking
fail
🇮🇪eu-west-1
98ms
checking
fail
🇮🇳ap-south-1
201ms
checking
fail
🇯🇵ap-northeast-1
187ms
checking
fail

Trusted to keep test, staging, and prod continuously Available

Vercel
Carhartt
CrowdStrike
Airbus
Fanatics
Mistral
ServiceNow
GoFundMe
Hopper
1Password
Fastly
Total Wine

Testing & monitoring reimagined for a new era of software development

From prompt to production monitoring in seconds. Write test and monitors with AI, deploy as code, and monitor from 20+ global locations.

Detect, communicate, & resolve with AI.

Add Checkly to your agents to test, monitor, and respond to incidents with your favorite model.

Add monitors to all API routes for the new routing service.

Done! I created 12 URL monitors across your /api/v2 routes with 30s intervals from 4 regions.

Set up heartbeat checks for the nightly ETL pipeline and alert #data-eng on failure.

Created heartbeat monitors for all 3 ETL stages with a 15-minute grace period and Slack alerts.

Create a browser check that monitors our checkout flow for our top selling item, from

PressEnterto send

Code-first by default.

Write, test, and version monitors as JS/TS, Terraform, or Pulumi.

1import { BrowserCheck, Frequency } from "checkly/constructs"
2
3const check = new BrowserCheck("checkout-flow", {
4 name: "Checkout Flow Monitor",
5 activated: true,
6 frequency: Frequency.EVERY_10M,
7 locations: [
8 "us-east-1",
9 "eu-west-1",
10 "ap-southeast-1",
11 ],
12 alertChannels: [slackChannel, pagerDuty],
13})
1import { test, expect } from "@playwright/test"
2
3test("user completes checkout", async ({ page }) => {
4 await page.goto("https://app.acme.com")
5
6 // Add item to cart
7 await page.getByRole("button", {
8 name: "Add to cart"
9 }).click()
10
11 // Navigate to checkout
12 await page.getByRole("link", {
13 name: "Checkout"
14 }).click()
15
16 // Fill payment details
17 await page.getByLabel("Email")
18 .fill("user@acme.com")
19 await page.getByLabel("Card number")
20 .fill("4242424242424242")
21
22 // Submit order
23 await page.getByRole("button", {
24 name: "Pay now"
25 }).click()
26
27 // Verify confirmation
28 await expect(
29 page.getByText("Order confirmed")
30 ).toBeVisible()
31
32 // Check response time
33 const timing = await page.evaluate(
34 () => performance.now()
35 )
36 expect(timing).toBeLessThan(5000)
37})
1import { BrowserCheck, Frequency } from "checkly/constructs"
2
3const check = new BrowserCheck("checkout-flow", {
4 name: "Checkout Flow Monitor",
5 activated: true,
6 frequency: Frequency.EVERY_10M,
7 locations: [
8 "us-east-1",
9 "eu-west-1",
10 "ap-southeast-1",
11 ],
12 alertChannels: [slackChannel, pagerDuty],
13})
1import { test, expect } from "@playwright/test"
2
3test("user completes checkout", async ({ page }) => {
4 await page.goto("https://app.acme.com")
5
6 // Add item to cart
7 await page.getByRole("button", {
8 name: "Add to cart"
9 }).click()
10
11 // Navigate to checkout
12 await page.getByRole("link", {
13 name: "Checkout"
14 }).click()
15
16 // Fill payment details
17 await page.getByLabel("Email")
18 .fill("user@acme.com")
19 await page.getByLabel("Card number")
20 .fill("4242424242424242")
21
22 // Submit order
23 await page.getByRole("button", {
24 name: "Pay now"
25 }).click()
26
27 // Verify confirmation
28 await expect(
29 page.getByText("Order confirmed")
30 ).toBeVisible()
31
32 // Check response time
33 const timing = await page.evaluate(
34 () => performance.now()
35 )
36 expect(timing).toBeLessThan(5000)
37})

Test & monitor globally in seconds.

Deploy monitors to 20+ locations worldwide with a single command.

All passing
VirginiaN. CaliforniaIrelandFrankfurtMumbaiSingaporeTokyoSão PauloCape TownSydney

Keep up with the speed of development

Connect Checkly to any AI agent or coding assistant through the MCP server or CLI to start testing and monitoring your code in just minutes.

Claude Code
claude-opus-4
Create a URL monitor for checklyhq.com that runs every minute from Europe and the US. Alert me if it goes down.

✓ Created URL monitor "checklyhq.com", running every 1m from eu-west-1 and us-east-1, alerting on failure.

PressEnterto send
Production E2E Mac
ChangelogSupportDocs
D

Passing

325

Degraded

10

Failing

68

Search by name, request url.../
Last 24 hours
Status
Check type
Tags
Traces
+ Save
Showing 1–25 of 93 items
Name
Last results
AVA
AVG
P95
ΔT
/analytics1 check
public-apimac
30 minutes ago
/check-groups1 check
public-apimacparallel
just now
/checks3 checks
public-apimacparallel
1 minute ago
Browser check CRUD6 minutes ago •
maccheckly-backend
100 %
4.67 s
5.99 s
10 min
GET /checks18 minutes ago •
maccheckly-backend
100 %
220 ms
652 ms
30 min
Multistep check CRUD2 minutes ago •
maccheckly-backend
100 %
4.64 s
6.18 s
10 min

What Customers Say

Don't take our word for it.

“An agent gets the page first, looks at your synthetic checks through Checkly, runs queries from metrics, logs, and traces. Things that usually take you 20 minutes, it can do in two.”

Devon Mizelle

Senior Site Reliability Engineer - Mistral

Read Case Study

The Problem

Your monitoring tools were built for a legacy tech stack

AI agents now write, ship, and operate production code at a pace humans never could. The observability tools they inherited weren't designed for them.

The blast radius has expanded

AI agents ship faster than anyone can verify. When something breaks, it's becoming increasingly difficult to pinpoint the root cause.

Agentic code velocity is relentless

Changes are getting pushed at a pace no ops or SRE team can match manually. Without automated monitoring creation, coverage gaps compound with every commit.

Incident management can't keep up

2 AM wakeups filled with faulty alerts and incomplete context. The tools that worked when humans shipped three times a week weren't built for the pace agents move at now.

The Solution

Power your reliability with an AI-native workflow

Go from prompt to monitor in seconds.

Checkly communicates with your agents to turn natural language prompts into fully configured tests and monitors. Describe what you want to check, and AI generates the code, picks the regions, wires up the alerts, then deploys them to Checkly

10x

Faster monitor creation

20+

Global regions

< 30s

Prompt to deploy

Unified Reliability

Everything you need to catch issues before they impact your customers.

Checkly brings together testing, monitoring, incident management, and observability in a single platform to give your team one clear signal of application health. Follow one checkout incident from first failure to fix, across every tab.

Detect

Uptime Monitoring

Your First Line of Defense

Monitor URLs, TCP ports, DNS, ICMP, gRPC, SSL certificates, network paths, heartbeats, and more 24/7 from multiple global locations. Know exactly when a service is down, or a critical web page is unreachable, before your customers do.

Learn more
Synthetic Monitoring

Monitor Real User Flows

Use Playwright to simulate real user interactions across your web application and APIs to proactively identify functional errors or performance issues, like a broken user flow, before they impact customers. Every page your tests visit also gets scored on LCP, INP, CLS and three more Web Vitals, with no changes to your tests.

Learn more

Communicate

Alerts

Smart Alerting

Get notified instantly via Slack, PagerDuty, email, and more. Checkly retries from a second region before it alerts, pages once instead of once per run, and sends the recovery to the same channels.

Learn more
Status Pages

Communicate with your customers in real-time

Keep your customers informed with branded status pages built around components, so you can group services the way your users understand them. Automation rules open and resolve incidents from your monitoring results, and subscribers follow along by email, RSS, Atom, or Slack.

Learn more

Resolve

Traces

Follow failures through your entire stack

Follow requests through your entire stack with Checkly and OpenTelemetry. Every failed check run links to the trace behind it, so you land on the span that explains the error instead of guessing from the outside.

Learn more
Root Cause Analysis

Get fast, actionable insights & get it fixed faster

Rocky AI analyzes every failed check run and tells you what broke and why, with the evidence behind it. When the cause is a repairable mistake, like an outdated selector in a Browser or Multistep check, Rocky proposes a fix, tests it, and updates the check for you (Beta).

Learn more

Let your agents own reliability.

Connect Checkly to any AI agent or coding assistant via MCP or CLI. Create monitors, trigger runs, and fetch results, all through natural language.

MCP Server. Point Claude, Cursor, Codex, or any MCP client at Checkly. Agents create, update, and delete checks, trigger runs, read results, and manage status pages. Compatible clients ask before any write runs.

agent session
>Create a URL monitor for checklyhq.com that runs every minute from Europe and the US. Alert me if it goes down.
TOOLcreate-checkapi.checklyhq.com/mcp
checkType: "URL"
url: "https://checklyhq.com"
frequency: 1
locations: ["eu-west-1", "us-east-1"]
✓Created checklyhq.com · every 1m · 2 regions · alerting on failure
api.checklyhq.com/mcpSet up the MCP server

CLI. TypeScript-native. Test and deploy your entire monitoring setup from a terminal, or your agent.

terminal
$ npx checkly test
PASSapi/health-check245ms
PASSbrowser/checkout1.2s
PASSapi/auth-endpoint198ms
3 passed0 failed2 regions
$ npx checkly deploy
✓Deployed 12 checks to production

Constructs. Strongly-typed classes for every resource: ApiCheck, BrowserCheck, Dashboard, StatusPage…

checkly.config.ts
1
2
3
4
5
6
7
8
9
import { ApiCheck } from 'checkly/constructs'
import { slackChannel } from './alert-channels'
 
new ApiCheck('homepage', {
url: 'https://app.acme.com',
tags: ['critical', 'api'],
alertChannels: [slackChannel],
})
checkly/constructsBrowse all constructs

REST API. Build custom integrations, dashboards, and automations. Everything the UI can do, the API can do.

api-reference
GET/v1/checks200 OK
POST/v1/checks201 Created
PATCH/v1/checks/:id200 OK
DELETE/v1/checks/:id204
api.checklyhq.comOpen API reference

Agent Skills. The open-standard skills package. Claude, Cursor, and Codex all get Checkly context on demand.

terminal
$ npx checkly skills install
✓Claude.claude/skills/checkly/
✓Cursor.cursor/skills/checkly/
✓Codex.agents/skills/checkly/
checkly skillsInstall skills

Integrations

Integrates with your development and agentic workflow

Connect Checkly to your existing tools. Get alerts where your team already works and manage monitoring through your existing workflows.

From signup to first check
in an afternoon.

Install the CLI, write checks in code, and deploy monitors to 20+ regions. No lengthy setup, no infrastructure to manage.

Day 1 0:00

Sign up

Create a free Checkly account with GitHub, GitLab, or email. No credit card required.

Day 1 0:05

Install

Run npx checkly init to scaffold your first project and connect your repo.

Day 1 0:15

Deploy

Ship checks as code and monitor your app from 20+ global regions.

Ongoing

Improve

Review runs, let Rocky AI surface root causes, and your monitors get better over time.

Or start for free