API Health Checker
Pricing
from $25.00 / 1,000 results
API Health Checker
Monitor API endpoints with health scoring (0-100), performance ratings, and actionable insights. Checks availability, latency, and response validation. Retry logic with exponential backoff. Get recommendations for slow or failing endpoints. Perfect for uptime monitoring and SLA verification.
Pricing
from $25.00 / 1,000 results
Rating
0.0
(0)
Developer

Varun Chopra
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Comprehensive API health assessment engine with scoring, multi-dimensional evaluation, and actionable insights. Perfect for uptime monitoring, SLA verification, and automated health checks.
Features
- Health Scoring (0-100) – Quantitative assessment of each endpoint's health
- Multi-Dimensional Evaluation – Availability, performance, validation, reliability
- Actionable Insights – Deterministic recommendations for operators
- Performance Rating – fast / acceptable / slow classification
- Configurable Scoring – Custom thresholds and weights
- Retry Logic – Exponential backoff for transient failures
- Fault Tolerant – Individual failures don't crash the run
Health Scoring System
Each endpoint receives a health score from 0-100 based on four dimensions:
| Dimension | Weight | Description |
|---|---|---|
| Availability | 40% | Endpoint reachable + correct status code |
| Performance | 30% | Latency rating (fast=100%, acceptable=67%, slow=33%) |
| Validation | 20% | Response validation passed |
| Reliability | 10% | Retry behavior (0 retries=100%, 1=70%, 2+=30%) |
Status Classification
| Status | Condition | Description |
|---|---|---|
healthy | Score ≥ 80 | Endpoint performing well |
degraded | Score 50-79 | Endpoint has issues but functional |
unhealthy | Score < 50 | Endpoint failing or critical issues |
Performance Rating
| Rating | Default Threshold |
|---|---|
fast | ≤ 500ms |
acceptable | ≤ 2000ms |
slow | > 2000ms |
Input Example
{"endpoints": [{"name": "Production API","url": "https://api.example.com/health","method": "GET","expectedStatus": 200,"timeoutMs": 10000,"maxLatencyMs": 2000,"validateJsonKeys": ["status"]}],"retryCount": 3,"notifyOnFailure": true,"performanceThresholds": {"fastMs": 500,"acceptableMs": 2000},"scoringWeights": {"availability": 40,"performance": 30,"validation": 20,"reliability": 10}}
Output Example
{"summary": {"totalEndpoints": 3,"healthyEndpoints": 2,"degradedEndpoints": 1,"unhealthyEndpoints": 0,"averageLatencyMs": 450,"overallHealthScore": 85,"overallStatus": "degraded","durationMs": 1523,"timestamp": "2024-01-15T10:00:00.000Z"},"results": [{"name": "Production API","url": "https://api.example.com/health","method": "GET","status": "healthy","healthScore": 100,"statusCode": 200,"expectedStatusCode": 200,"latencyMs": 150,"maxLatencyMs": 2000,"availability": true,"performanceRating": "fast","validationPassed": true,"retriesUsed": 1,"errorCategory": null,"errorMessage": null,"checkedAt": "2024-01-15T10:00:00.000Z"}],"insights": {"slowEndpoints": [],"failingEndpoints": [],"endpointsNeedingAttention": [],"recommendedActions": []}}
Insights & Recommendations
The Actor generates deterministic, rule-based recommendations:
| Condition | Recommendation |
|---|---|
| Endpoint unreachable | Investigate - endpoint is unreachable |
| Wrong status code | Check - returning X instead of expected Y |
| Slow performance | Optimize - latency exceeds threshold |
| Validation failed | Review - response validation failed |
| Required retries | Monitor - required N attempts (intermittent) |
Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
endpoints | Array | ✓ | – | Endpoints to monitor |
retryCount | Integer | 3 | Retry attempts (0-10) | |
notifyOnFailure | Boolean | false | Log failure notifications | |
performanceThresholds | Object | See below | Custom latency thresholds | |
scoringWeights | Object | See below | Custom scoring weights |
Endpoint Fields
| Field | Type | Required | Default |
|---|---|---|---|
name | String | ✓ | – |
url | String | ✓ | – |
method | String | GET | |
expectedStatus | Integer | 200 | |
timeoutMs | Integer | 10000 | |
maxLatencyMs | Integer | 2000 | |
headers | Object | {} | |
body | Object | – | |
validateJsonKeys | Array | [] |
Environment Variables
Use {{VAR_NAME}} in headers:
{"headers": {"Authorization": "Bearer {{API_TOKEN}}"}}
Programmatic Integration
const result = await apify.actor('your-actor').call(input);const output = await result.dataset().listItems();const report = output[0];if (report.summary.overallStatus === 'unhealthy') {// Trigger alert}if (report.insights.recommendedActions.length > 0) {// Review recommendations}
Limitations
- JSON key validation: top-level keys only
- Maximum timeout: 5 minutes per endpoint
- Health scores are relative to configured thresholds
- Retry delays capped at 30 seconds
Technical Specifications
| Spec | Value |
|---|---|
| Max timeout | 300,000 ms (5 min) |
| Max retry delay | 30,000 ms |
| Min timeout | 100 ms |
| Score range | 0-100 |
Deployment
npm installnpm run buildapify push