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. Included free.
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 $25/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
|
1 min |
1.5 hour
|
1.5 hour
|
30 sec | 1 min |
| Regions | 3 | 4 | — | Multiple | 19 |
| Data retention | 30 days | 30 days | 5K results | 30 days | — |
| Status pages | 1 | — | — | 1 | — |
| Status page white-label | Included | — | — | $208/page/mo | — |
| GraphQL support | — | — | — | — | |
| Slack / Discord | |||||
| Team members | 3 | 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.