API Health Checker avatar
API Health Checker

Pricing

from $25.00 / 1,000 results

Go to Apify Store
API Health Checker

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

Varun Chopra

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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:

DimensionWeightDescription
Availability40%Endpoint reachable + correct status code
Performance30%Latency rating (fast=100%, acceptable=67%, slow=33%)
Validation20%Response validation passed
Reliability10%Retry behavior (0 retries=100%, 1=70%, 2+=30%)

Status Classification

StatusConditionDescription
healthyScore ≥ 80Endpoint performing well
degradedScore 50-79Endpoint has issues but functional
unhealthyScore < 50Endpoint failing or critical issues

Performance Rating

RatingDefault 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:

ConditionRecommendation
Endpoint unreachableInvestigate - endpoint is unreachable
Wrong status codeCheck - returning X instead of expected Y
Slow performanceOptimize - latency exceeds threshold
Validation failedReview - response validation failed
Required retriesMonitor - required N attempts (intermittent)

Input Fields

FieldTypeRequiredDefaultDescription
endpointsArrayEndpoints to monitor
retryCountInteger3Retry attempts (0-10)
notifyOnFailureBooleanfalseLog failure notifications
performanceThresholdsObjectSee belowCustom latency thresholds
scoringWeightsObjectSee belowCustom scoring weights

Endpoint Fields

FieldTypeRequiredDefault
nameString
urlString
methodStringGET
expectedStatusInteger200
timeoutMsInteger10000
maxLatencyMsInteger2000
headersObject{}
bodyObject
validateJsonKeysArray[]

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

SpecValue
Max timeout300,000 ms (5 min)
Max retry delay30,000 ms
Min timeout100 ms
Score range0-100

Deployment

npm install
npm run build
apify push

Support