API monitoring

A 200 that returns an error is still down.

Monitor API endpoints with the method, headers, body and auth they actually need, and validate the response, not just the status code.

14-day free trial · No credit card required

4.9/5 from 1,247+ reviews Trusted by 65,000+ companies
01

Real requests

Send GET, POST, PUT or another method with your own headers, JSON body and basic auth, the way your clients call the API.

02

Validate the answer

Check for the expected response so an endpoint that returns 200 with an error message still counts as a failure.

03

Response time history

Every check stores its response time. See a slow endpoint before it times out.

//_01 In depth

API monitoring that checks what your clients depend on

An API can be up and still broken. A load balancer answers, the status code is 200, and the body says the database connection failed. Your mobile app, your partners and your own frontend all see an error, and a plain uptime check sees nothing wrong.

API monitoring in Uptimecheck uses the same HTTP(S) monitors as website uptime monitoring, with the options an API needs.

What you can configure

  • Method: GET, POST, PUT, PATCH, DELETE or HEAD.
  • Headers: send an API key, an Accept header or a custom user agent.
  • Body: post a JSON payload to test a write path.
  • Basic auth: check endpoints behind HTTP authentication.
  • Expected response: fail the check when the response does not contain what you expect.
  • IPv6: confirm the endpoint answers over IPv6 as well as IPv4.

Which endpoints to monitor first

Start with the requests that make money or block users. For an online store that is the cart, checkout and payment callback. For a SaaS product it is login, the main read endpoint and any webhook you receive from a payment provider. The API monitoring checklist lists what to cover and how often.

A typical setup for lumenanalytics.io

  • GET /health every minute, expecting "status":"ok".
  • POST /v1/events with a small test payload and an API key header.
  • GET /v1/reports with basic auth, alerting when the response time stays high.

Know when an endpoint slows down

Checks run every minute from Europe, and response times are stored per check, so you can see that the reports endpoint went from 90 ms to 2.4 s at 14:00, while the health check stayed flat. A failed check is run again a few seconds later before an incident opens, which keeps a single dropped request from paging the team.

Alerts and automation

When an endpoint fails, alerts go out by email, Slack, Discord, Telegram, Microsoft Teams or webhook, on every plan. A webhook can trigger your own incident tooling. You can also manage monitors from code: the REST API creates and updates monitors from your deploy pipeline, so a new endpoint gets a monitor the day it ships.

Monitor dependencies, not only your own code

Your API depends on others: a payment provider, an email service, a search index. When one of them fails, your endpoint may still answer while the feature behind it is broken. Add monitors for the third-party endpoints you rely on, or for your own endpoints that exercise them, and you can tell a customer within minutes whether the problem is yours or upstream.

Keep test traffic safe

Use a dedicated test account or API key for monitoring requests, and make write checks idempotent, so a POST every minute does not fill your database with test records. Tag monitoring traffic with a custom user agent header so it is easy to filter out of your own analytics and logs.

For background jobs that do not expose an endpoint, use heartbeats instead. See all limits on the pricing page.

“UptimeCheck makes monitoring incredibly easy for developers like us. All we have to do is enter our website's URLs, choose the channels we want notifications delivered on (email, SMS, Slack, Telegram), and we're done!”

Rasmus Danielsson

Developer

API monitoring questions

Can I send a JSON body with an API check?

Yes. HTTP(S) monitors accept a custom method, headers and body, so you can post a JSON payload to test a write endpoint.

How do I monitor an API that needs an API key?

Add the key as a request header. Endpoints behind HTTP basic auth are supported too.

What if the API returns 200 with an error?

Set an expected response. If the body does not match, the check fails and you get an alert.

Can I create API monitors automatically?

Yes. On Professional and Business, the REST API can create, update and delete monitors, so your deploy pipeline can add them.

Guides on aPI monitoring

All guides

Guides 4 min read

API Monitoring Checklist: What to Check Beyond a 200 OK

An API can return 200 and still be broken. A practical checklist for API monitoring: methods, headers, request bodies, authentication, expected responses and response time thresholds.

Read

Guides 7 min read

How to Build a Health Check Endpoint (and Monitor It)

A health check endpoint tells monitors and load balancers whether your app can serve requests. What to check, how to keep it fast and safe, code for Laravel, Express and Flask, and how to monitor it.

Read

Monitoring 7 min read

What Is a Good Website Response Time?

Response time is how long your server takes to answer a request, not how long the page takes to load. What counts as good, why monitors and browsers measure differently, and what slows sites down.

Read

Works well with

Uptime monitoring

HTTP(S), ping and port checks every minute, re-checked before any alert.

Learn more

REST API

Manage monitors, servers, heartbeats and status pages from code.

Learn more

Downtime is obsolete.

Set up your first monitor in under a minute and know before your customers do.

14-day free trial · No credit card required

Start free trial