Synthetic Monitoring

Monitor every complex workflow like your business depends on it

Uptime monitoring tells you a server responded. Synthetic monitoring tells you the login button worked, checkout completed, and the API returned the right data. Replicate real user flows across browser and API — continuously, from 22+ global locations.

PLAYWRIGHT-CHECK-SUITE...
TScheckout.spec.tsU
TScart.spec.ts×
PLAYWRIGHT-CHECK-SUITE...
__checks__
.github
node_modules
pom
˅tests
TScheckout.spec.tsU
TScart.spec.ts
TSproduct.spec.ts
TSpayment.spec.ts
TSlogin.setup.ts
$.env.checkly
·.gitignore
{ }.prettierrc
TScheckly.config.ts
{ }package-lock.json
{ }package.json
TSplaywright.config.ts
README.md
testscheckout.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import { test, expect } from "@playwright/test"
import { CartPom } from "./pom/cart"
import { CheckoutPom } from "./pom/checkout"
 
test.describe('Checkout', () => {
test('should add product to cart', async ({ page }) => {
await page.goto(process.env.SHOP_URL)
 
const cart = new CartPom(page)
await cart.addItem('sku-8821')
 
await expect(cart.badge).toHaveText('1')
})
 
test('should complete payment', async ({ page, check }) => {
const co = new CheckoutPom({ page, check })
// fill payment details
await co.email.fill(check.name)
⎇ mainTypeScriptLn 5, Col 1
ChecklyCart Checkout
Started at Mar 4 09:14:22 (UTC-5) 🇺🇸
🇺🇸
N. Virginia🇺🇸
Started at Mar 4 09:14:28 (UTC-5)
🔍Search by test title/
☰ Status ▾🏷 Labels ▾
↕ Expand all↕ Collapse all
⊙⊙7 passed14.82 s
setup
__checks__/authenticate.spec-setup.ts
Authenticate412 ms
desktop-light
tests/checkout.spec-suite.ts
Checkout
should add product to cartcheckout3.21 s
should apply discount codecheckout2.68 s
should complete paymentcheckout5.51 s
⊙⊙7 passed
Test command ?
npx playwright test --config
"playwright.config.ts" --grep "@checkout" --
reporter json
▾ Project summary
setup
Passed: 1 | Failed: 0
Skipped: 0 | Flaky: 0
Started at: 3/4/2026, 9:14:28 AM
desktop-light
Passed: 6 | Failed: 0
Skipped: 0 | Flaky: 0
Started at: 3/4/2026, 9:14:31 AM
▾ Execution configuration
Playwright version1.55.0
Number of workers2
Fully parallelYes

Trusted to monitor checkout, login, and critical APIs at scale

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

Go Beyond Simple Uptime

Uptime monitoring tells you a server responded. Synthetic monitoring tells you the login button worked, checkout completed, and the API returned the right data. That gap is where users get stuck.

login.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
import { expect, test } from '@playwright/test'
import { Auth0LoginPom } from './auth0'
import { OktaLoginPom } from './okta'
 
test.describe('Login', () => {
test('should login via Auth0', async ({ page }) => {
await page.goto(process.env.BASE_URL)
 
const auth0 = new Auth0LoginPom(page)
await auth0.login()
 
await expect(page).toHaveURL('/dashboard')
})

Monitor UIs or APIs End-to-End

Playwright-powered Browser Checks and API Checks run side by side. Monitor the UI flow and the API it depends on with a single deployment — no separate tools, no duplicated configuration.

Home PageCheck is passing
GEThttps://www.checklyhq.com/48 SSL
Availability
99.977%
Failure Alerts
1
Checkout APIPOST/v1/orders
passing

Catch & Debug Issues 100x Faster

Run checks as often as every minute from 22+ global locations. Get a full screenshot, video replay, trace, and AI root cause analysis the moment something breaks — before a customer notices.

Locations22+ available
LocationP50
🇮🇳Mumbai
5.31 s
🇸🇪Stockholm
5.25 s
🇧🇷São Paulo
5.01 s
🇮🇹Milan
4.52 s
🇬🇧London
4.37 s
🇩🇪Frankfurt
4.34 s

Full Coverage

End-to-end monitoring for your entire stack. One platform.

Monitor the UI your users touch and the APIs that power it all from a single tool, with a single config, in a single dashboard.

Browser

Monitor your frontend end-to-end.

run adhoc check – af-south-1
Started at May 21 16:07:30 (UTC-4)🇳🇬
🇳🇬
🔥Seen 1 times since 3 months ago in🇳🇬Rocky AI analysis —Infrastructure ErrorPossible root cause found
Check Duration
2.11min
Console Errors
3
Network Errors
5
Script Errors
0
🎭Playwright test report
Run ad-hoc check in Cape TownAnalyze root cause2.07 min
🔥Errors
Test steps
Before Hooks369 ms
browserContext.addCookies5 ms
page.goto(https://check.new)730 ms
expect.toBeVisible1.98 min
After Hooks4.13 s

Run real browser tests against your production UI — click buttons, fill forms, complete checkout flows. Catch broken UI flows and regressions before your users do. Works with your existing test project: no rewrites, no adapters.

Learn more
Real Browser Execution
Runs actual Chromium, Firefox, or WebKit — not a simulation. Clicks, scrolls, and form fills happen exactly as users experience them.
Screenshot & Video Replay
Every failed check auto-captures a full screenshot, video recording, and Playwright trace. Debug in seconds, not hours.
Import Existing Tests
Port your Playwright suite directly. Custom dependencies, shared fixtures, and StorageState all work — no rewrites, no adapters.
Multi-Browser & Mobile
Test across Chromium, Firefox, WebKit, and mobile viewports. Catch browser-specific regressions before your users ever see them.
API

Validate every layer of your backend.

/check-groups
Started at May 15 05:29:01 (UTC-4)🇩🇪🇺🇸
🇩🇪
🇺🇸
Frankfurt🇩🇪eu-central-1 (Checkly hosted)
1/2 failed
Attempt #1
Started at May 15 05:29:02 (UTC-4)IPv4: 84.16.252.218IPv6: 2a00:c98:4007:22:3::2
Seen 21 times since 2 months ago in🇩🇪🇺🇸|Rocky AI analysisInfrastructure ErrorPossible root cause found
/check-groups412 ms
Errors (2)
Test Steps
Before Hooks25 ms
POST /check-groups231 ms
POSThttps://api.checklyhq.com/v1/check-groups179 ms
GET /check-groups/:groupId69 ms
GEThttps://api.checklyhq.com/v1/check-groups/5...253 ms
GET /check-groups90 ms
GEThttps://api.checklyhq.com/v1/check-groups341 ms
After Hooks143 ms
afterAll hook125 ms
https://api.checklyhq.com/v1/check-groups
GEThttps://api.checklyhq.com/v1/check-groups502341ms
Assertions
SourceExpectedReceived
Expect "toBeOK"200..299 range-
Request data
Request Body
Response Body
Headers
Query Params
View raw
{
"maxRedirects": 20

Assert on status codes, response payloads, headers, and timing. Chain API calls to test complete workflows — authenticate, create, verify, clean up. Catch the failures that a 200 OK hides.

Learn more
Multistep Chaining
Chain API calls into full workflows — authenticate, create, verify, clean up. Auth tokens and session state carry across every step.
Deep Payload Assertions
Assert on nested JSON fields, arrays, response times, and headers with JSONPath expressions. Catch what a 200 OK hides.
Up to Every 10 Seconds
Run API Checks at 10-second intervals — the highest monitoring resolution available. Surface flaky endpoints before they cascade into incidents.
Setup & Teardown Scripts
Run code before and after every check — seed test data, inject auth tokens, clean up resources. Checks stay isolated and production stays clean.

Debug & Resolve

Fix issues before your customers even know it's broken.

Every failed check captures the full picture — screenshots, video, traces, logs, and AI analysis — so you spend minutes debugging, not hours.

Screenshot Captures & Video Replays
Playwright Traces
Rocky AI Root Cause Analysis

Detect, communicate, and resolve — faster.

Synthetic monitoring finds the failure. Checkly's alerting, status pages, and Rocky AI make sure the right people know immediately, customers are informed automatically, and your team resolves it fast.

Alerting that reaches the right people with full context.

Slack, PagerDuty, email, or webhook — every alert ships with the screenshot, trace, and AI root cause.

Acme
# general
# deploys
# incidents
# engineering
# incidents
C
🚨 Checkout flow check failed
2 of 10 locations failing

Rocky AI tells you what broke before you open a terminal.

Traces, logs, and screenshots analyzed into a plain-language root cause — on every failed run.

User impact

Users cannot load the OTEL test app homepage; the server responds with an internal error instead of displaying the B2B portal. This prevents access to any functionality that depends on the homepage loading successfully.

Steps2
Root Cause

The application server for https://otel-test-app.vercel.app/ is returning HTTP 500 Internal Server Error for the homepage request, indicating a backend or infrastructure failure in the AWS-hosted Prismic CSM-backed service rather than a test code issue.

  • HTTP 500 Internal Server Error Explanation
  • Playwright page.goto() Documentation
Evidence3

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.

Start monitoring real user flows in minutes

Browser Checks, Playwright Suites, API Checks, Multistep Checks — all from one platform, all managed as code, all running from 22+ global locations.