Validate response bodies, check from 6 regions, get alerts in <45s. REST and GraphQL.
99.99% platform uptime | 2M+ daily checks
Configuration
{
"endpoint": "https://api.example.com/v1/users",
"method": "POST",
"headers": {
"Authorization": "Bearer ${API_KEY}",
"Content-Type": "application/json"
},
"body": {
"email": "[email protected]"
},
"assertions": [
{ "type": "status", "equals": 201 },
{ "type": "responseTime", "lessThan": 500 },
{ "type": "jsonPath", "path": "$.user.id", "exists": true }
],
"regions": ["us-east", "eu-west", "ap-south"],
"interval": 30
}
{
"user": {
"id": "usr_abc123",
"email": "[email protected]",
"created_at": "2024-01-15T10:30:00Z"
}
}
Capabilities
Validate status codes, response times, headers, and JSON response bodies. Assert that $.data.users[0].id exists and matches a pattern.
Catch regional outages before they become global incidents.
Route critical APIs to on-call, the rest to a channel.
Any method, headers, and body. Test APIs exactly as your app calls them.
Write queries, set variables, validate specific fields. Not just HTTP status.
Drop your OpenAPI spec. 40 monitors in 5 minutes.
Custom domain, incident timeline, subscriber notifications, privacy settings, white-label.
Response validation
Most monitoring tools check if your API is up. We check if it's working correctly. Define assertions on status codes, response times, headers, and deep JSON paths.
status
HTTP status code equals, not-equals, or in-range
responseTime
Less than threshold in milliseconds
header
Header exists or matches value
jsonPath
Any JSON path expression: exists, equals, contains, matches
body
Raw body contains string or matches regex
Pricing
Need more? additional monitors can be added for $0.50 with all regions enabled.
Comparison
Most monitoring tools charge per check. We charge per monitor. Run checks every 30 seconds from 6 regions without watching your bill grow.
| Feature | APIAssert $23/mo | Checkly $24/mo | Assertible $25/mo | Better Stack $29/mo | Runscope $79/mo |
|---|---|---|---|---|---|
| Monitors | 30 | 50 | 25 | 10 | — |
| Check limits | Unlimited | 25K/mo | 500/monitor | Unlimited | 250K/mo |
| Min interval | 1 min | 1 min | 1 min | 30 sec | 1 min |
|
Actual interval
How many checks can actually be done without increasing plan cost
|
1 min |
1.5 hour
Given 25K checks per month across 50 monitors (500 per monitor), you can do ~16 checks per 24 hours per monitor, which is ~1.5 hours between each check, without increasing cost.
|
1.5 hour
Given 500 checks per monitor, you can do ~16 checks per 24 hours per monitor, which is ~1.5 hours between each check, without increasing cost.
|
30 sec | 1 min |
| Regions | 3 | 4 | — | Multiple | 19 |
| Data retention |
30 days
For detailed logs (response bodies, headers, assertion results). Uptime metrics are stored forever.
|
30 days | 5K results | 30 days | — |
| Status pages | 1 | — | — | 1 | — |
| Status page white-label | Included | — | — | $208/page/mo | — |
| GraphQL support | — | — | — | — | |
| Slack / Discord | |||||
| Team members | 5 | 3 | 1 | 1 +$29/responder | 5 |
| Overage costs | $0.50/monitor | $8/25 monitors + $1.80/10K checks | — | $21/50 monitors | $0.70/1K checks |
Data from public pricing pages, Dec 2025.