# API Errors

{% hint style="info" %}
We have come across some instances of custom captchas that are being marked with a status code of 200, indicating a successful request. To ensure accurate billing and prevent any charges for these requests, it is necessary for us to mark them as 422. We kindly ask for your cooperation in **reporting any encounters with custom captchas where the status code is 200**. Your continued support is greatly appreciated. Thank you!
{% endhint %}

Below is a list of all the HTTP error codes you may encounter using the WebScrapingAPI:

<table><thead><tr><th width="96" align="center">Code</th><th>Description</th></tr></thead><tbody><tr><td align="center">400</td><td><strong>Bad Request</strong> – Your request is invalid or has invalid parameters. This error code along the error message is also sent when the url could not be properly scraped.</td></tr><tr><td align="center">401</td><td><strong>Unauthorized</strong> – Your API key is wrong or invalid or your credit quota is exceeded.</td></tr><tr><td align="center">403</td><td><strong>Forbidden</strong> – You do not have sufficient rights to a resource such as JavaScript rendering or country specific geolocation. Please upgrade your subscription plan accordingly.</td></tr><tr><td align="center">406</td><td><strong>Not Acceptable</strong> – You requested a format that is not supported.</td></tr><tr><td align="center">422</td><td><p><strong>Unprocessable Entity</strong> - Your request was correct but the API failed to fulfill it. You can receive this code in one of the following situations: </p><ul><li>the target website returned a CAPTCHA challenge under status 200 OK </li><li>the target website returned a CAPTCHA challenge after a request with <code>render_js</code> disabled </li><li>the response HTML does not contain a valid <code>&#x3C;body></code> tag </li><li>the target website is an Instagram profile and the response is the Instagram login page </li><li>you used the <code>wait_for_css</code> parameter and the selector does not exist/appear on the website</li></ul></td></tr><tr><td align="center">429</td><td><strong>Too Many Requests</strong> – You’re making too many requests in short succession or too many parallel requests. This error code is also thrown by Google when the API is detected.</td></tr><tr><td align="center">500</td><td><strong>Internal Server Error</strong> – We had a problem with our server. Please try again later!</td></tr><tr><td align="center">503</td><td><strong>Service Unavailable</strong> – We’re temporarily offline for maintenance. Please try again later!</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.webscrapingapi.com/readme/api-errors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
