endpulse

Multi-endpoint API health checks with assertions, SSL monitoring, and CI exit codes — in a single command.

$ pip install endpulse
PyPI CI Python MIT
endpulse --ssl
$ endpulse https://api.example.com/health https://api.example.com/v2 https://api.example.com/slow --ssl Endpoint Health Report +---------------------------------------------------------------------------+ | URL | Status | Code | Time(ms) | Size | SSL | |---------------------------------+--------+------+----------+-------+---------| | https://api.example.com/health | UP | 200 | 42.5 | 1.2KB | 89d | | https://api.example.com/v2 | UP | 200 | 118.3 | 2.4KB | 89d | | https://api.example.com/slow | SLOW | 200 | 1842.1 | 305B | 89d | +---------------------------------------------------------------------------+ 2/3 endpoints up | avg response: 667.6ms | 1 slow

Features

Concurrent Checks

Check 50+ endpoints simultaneously with async I/O. Configurable concurrency limits.

Response Assertions

Assert body content, regex patterns, headers, and status codes. Fail CI on mismatch.

SSL Monitoring

Check certificate expiry dates. Flag certs expiring within 14 days.

Watch Mode

Continuous monitoring with a live-updating terminal table. Ctrl+C to stop.

Webhook Alerts

Slack, Discord, or generic webhook notifications on endpoint failures.

CI/CD Ready

Exit code 1 on failure. Markdown output for GitHub Actions summaries.

Why endpulse?

Feature curl / httpie k6 / Artillery Uptime Kuma endpulse
Multi-endpoint CLI - - - yes
Response assertions - script UI CLI flags
CI exit codes manual yes - yes
Watch mode - - web UI yes
SSL monitoring - - yes yes
Zero infrastructure yes yes no yes

Get started in 10 seconds

GitHub PyPI