> For the complete documentation index, see [llms.txt](https://doc.thordata.com/doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.thordata.com/doc/scraping/web-unlocker/billing-instructions.md).

# Billing Instructions

## 1. Billing Model

Billing Condition: Charges apply only when a single request returns a 200 status code\*\*; no charges will be incurred for other status codes.

## 2. Common Examples

**Example 1: Successful Website Unlocking**

A.When a request returns a `200` status code successfully, charges will apply normally.

B.Even if the target website itself returns a 4xx error, we will still charge based on the `200` status code.

**Example 2:Failed Requests (No charge)**

The following situations are not charged; for other situations, please refer to the Status Code Reference Table:

The following scenarios do not incur charges (see the full reference table for other cases):

`429` (Too Many Requests) – Request exceeds concurrency limits.

`500` (Internal Server Error) – Server-side failure.

`504` (Gateway Timeout) – Server timeout/no response.

## 3.Status Code Reference Table

<table><thead><tr><th width="100">Code</th><th width="151">Status</th><th width="403">Description</th><th width="92">Billed</th></tr></thead><tbody><tr><td><code>200</code></td><td>Sucess</td><td>The request was successful, and the complete search engine results page data was retrieved</td><td>Yes</td></tr><tr><td><code>300</code></td><td>Not collected</td><td> Failed to parse/process the response, resulting in no valid data being collected</td><td>NO</td></tr><tr><td><code>400</code></td><td>Bad Request</td><td>Invalid parameters were passed</td><td>NO</td></tr><tr><td><code>401</code></td><td>Unauthorized</td><td>Authentication failed; please check the token validity</td><td>NO</td></tr><tr><td><code>429</code></td><td>429 Too many requests</td><td>The target server refused to fulfill the request</td><td>NO</td></tr><tr><td><code>500</code></td><td>500 Internal Server Error</td><td>The requested resource does not exist</td><td>NO</td></tr><tr><td><code>504</code></td><td>504 Timeout Error</td><td>The request rate exceeded the API limit</td><td>NO</td></tr></tbody></table>

&#x20;
