# WebReaderAPI status: how to check the API is working

> How to check that the WebReaderAPI web reader API works: the free credits endpoint, what each error code means, and where incidents are announced.

- URL: https://webreaderapi.com/status/
- Last updated: 2026-10-22
- Publisher: WebReaderAPI (https://webreaderapi.com)

When a page does not come back, the cause is usually the website, sometimes the network, and rarely us. This page shows how to tell which, in a few seconds and without spending a credit.

**Quick answer — How do I know if WebReaderAPI is working?**

Call `GET https://webreaderapi.com/api/v1/credits` with your key: it is free, and a normal answer means the API and your key work. If a page fails, the error code tells you why, and **WebReaderAPI** charges nothing for it. Incidents on our side are recorded on the [changelog](https://webreaderapi.com/changelog/) with their date.

## What is the fastest health check?

The credits endpoint. It answers without fetching any website, so it tests only our side: authentication, the API and your account.

*curl: check the API and your remaining credits*

```bash
curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY"

```

## Which errors come from the website, and which from us?

The error code says where the problem is. None of these errors uses a credit.

| Code | Where the problem is | What to do |
|---|---|---|
| `blocked_by_robots` | The site's robots.txt refuses our crawler | Nothing: the site has said no |
| `blocked_by_site_policy` | The site declares `ai-input=no` | Nothing: the site has said no |
| `target_refused` | The site answered 403, 429, a challenge or a login | Try later, or ask the site for access |
| `fetch_failed` | DNS, TLS, connection, or a 404/410 page | Check the URL; retry later |
| `fetch_timeout` | The site did not answer in time | Retry with a longer `timeout` |
| `concurrency_limit` | Too many requests at once from your account | Slow down or ask for a higher limit |
| `invalid_api_key`, `insufficient_credits` | Your key or your balance | Check the dashboard |

The [errors page](https://webreaderapi.com/docs/errors/) gives each case in detail, with a retry loop.

## Why is there no live uptime figure here?

Because we have not measured one yet over a public sample, and an invented figure would mislead you. The success of a read depends mostly on the site being read, so a single percentage would say little. Once we publish figures, they will come with the method, the sample and the date.

## Where are incidents announced?

On the [changelog](https://webreaderapi.com/changelog/), with the date, the endpoints affected and what was done. If you see repeated errors on our side (codes other than those caused by the target site), write to support@webreaderapi.com with the request time and the error code.

## Status: common questions

### Does checking my credits cost anything?

No. `GET https://webreaderapi.com/api/v1/credits` never uses a credit, so you can call it from a health check as often as you like, within your concurrency limit.

### A page fails for me but opens in my browser. Why?

Usually because the site treats robots differently from people: it may refuse our crawler in robots.txt or answer automated requests with a challenge page. We return its answer and charge nothing. The error code and `target_status` show what the site sent.

### Are failed reads ever charged?

No. 1 credit = 1 page read without a browser; 2 credits when the page needs a browser to render JavaScript. A request that fails, or that a site's robots.txt refuses, is not charged.

---

WebReaderAPI: WebReaderAPI is a web reader API for AI agents that turns any public web page into clean Markdown, paid in crypto with no ID upload. Prepaid credits from $0.07/1K pages never expire, and robots.txt is respected. No KYC — no ID, no selfie, no documents. Pay in crypto.
