Getting started
Errors
Successful requests return the endpoint's JSON. Anything else returns an object with an error field.
Error shape
Account and limit errors use an HTTP error status and this shape:
{
"success": false,
"error": "Invalid API Key"
}Extraction errors — the page couldn't be loaded or processed — return an error field. Always check for it before reading the result:
{
"error": "REQUEST_TIMEOUT"
}Account and limits
| Status | error | What to do |
|---|---|---|
| 400 | Invalid URL | Send a full, URL-encoded URL with https://. |
| 401 | Missing API Key. / Invalid API Key | Check the key in your dashboard. |
| 401 | Please verify your account | Confirm your email address. |
| 401 | Your subscription is not active… | Renew or change your plan. |
| 429 | Too many request | Rate limit reached. Retry later — see Rate limits. |
| 429 | Credits quota exceeded | Out of credits — see Credits. |
Extraction errors
These are never billed.
| error | Meaning |
|---|---|
REQUEST_TIMEOUT | The site didn't respond in time. |
UNABLE_TO_LOAD_PAGE | The site is down, doesn't exist or blocks automated requests (Links, Images, Screenshot). |
REQUEST_FAILED | The extraction failed for another reason. |
Unable to extract main content | Markdown: the page has no readable main content. |
Handling errors
- Treat any response with an
errorfield as a failure, whatever the HTTP status. - Retry
REQUEST_TIMEOUTandUNABLE_TO_LOAD_PAGEonce or twice — some sites are slow or block intermittently. - On 429, read
errorto tell a rate limit from an empty credit balance.