Updated on 2026-04-17 GMT+08:00

Requests

When you perform operations on OBS using OBS Console, tools, SDKs, or APIs, you are actually calling APIs. Each API call is counted as a request. You will be billed for the number of OBS API calls (requests). Requests receiving a 5XX or 403 status code from the server are not counted. All other requests are counted.

Request Types

OBS requests fall into the following types:

  • Read requests: GET, HEAD, LIST, OPTIONS, and other requests for downloading objects, obtaining bucket locations, obtaining bucket policies, and listing objects
  • Write requests: PUT/POST, COPY, and other requests for uploading and copying objects
  • Delete requests: DELETE and other requests for deleting objects and aborting multipart uploads
  • Lifecycle-based storage class transition requests: transition requests generated when objects are transitioned from Standard to Infrequent Access or Archive or Deep Archive, or from Infrequent Access to Archive or Deep Archive, or from Archive to Deep Archive

Request Billing

Item

Description

Billing Mode

GET, PUT, and storage class transition requests

GET, PUT, and storage class transition requests, including PUT, POST, COPY, LIST, GET, and HEAD. OPTIONS requests are billed as GET requests.

Pay-per-use

DELETE requests

Requests for deleting objects or canceling multipart uploads

Pay-per-use in some regions and free in the other regions. For details, see Pricing Details.

Request Pricing

Requests can only be billed on a pay-per-use basis. The unit prices for different types of requests are the same. For details, see Product Pricing Details.

Rewarded Requests

When you buy a Standard storage package with a duration of less than one year, you receive free read and write requests as a reward each month. These free requests are used first. After they are used up, additional requests are billed on a pay-per-use basis. If you continue to purchase such Standard storage packages, the free requests rewarded to you will be accumulated.

Checking the Number of Rewarded Requests

  1. Go to the Buy OBS Package page.
  2. Select a required region.
  3. Select a package type.

    Choose Storage packages and then Standard storage (multi-AZ) or Storage packages and then Standard storage (single-AZ).

  4. Select a specification.
  5. Set Quantity to 1.
  6. Select a required duration.
  7. Check the number of rewarded requests.

    Under Actual Storage Capacity - Example, the number of rewarded requests will appear. If no number is displayed, this specification does not include any rewarded requests.

Billing Examples

The prices in the following examples are for reference only. For the actual prices, see Pricing Details.

Example 1: Billing for object upload requests

Take object upload as an example. Each upload of an object or object part counts as a request. Suppose you need to upload 100 objects:

  • If you call the PutObject API to upload all of the objects, 100 PUT requests will be sent.
  • If some large objects need to be uploaded using multipart uploads, the final number of requests will exceed 100. This is because additional requests are required for uploading each part, as well as for initiating multipart uploads and assembling the parts.

Example 2: Billing for OBS Console operation requests

Each operation on OBS Console counts as a request.

For example, when you open the homepage of OBS Console, OBS loads the bucket list and delivers requests such as retrieving the bucket list and bucket locations. Likewise, when you open a bucket's Overview page, OBS delivers requests to query the bucket's storage information and metadata.

Example 3: Billing for object download requests

Take object download as an example. Each time you download an object, it counts as a request. Assume that you need to download 100 objects:

  • If the objects are in the Standard or Infrequent Access storage class, downloading them will send 100 GET requests.
  • If these 100 objects are in the Archive storage class and direct reading is not enabled for the bucket, you need to restore the objects before downloading them. Restoring 100 objects to Standard will generate 100 PUT requests. Then, downloading these 100 Standard objects will generate another 100 GET requests. In this case, there are 200 requests in total.
  • If these 100 objects are in the Archive storage class and direct reading has been enabled for the bucket, you can directly download the objects without restoring them first. In this case, a total of 100 GET requests will be sent.

Example 4: Billing for object listing requests

When you list objects, each API call that lists objects in a bucket is billed as a GET request. For the same total number of files, the number of requests generated by this API depends on how many files are returned per call. Assume that the bucket contains 5,000 files:

  • If the max-keys parameter is not specified, the API returns 1,000 files by default. Listing 5,000 files therefore requires five GET requests. (Listing objects in the Infrequent Access or Archive storage class is billed the same as listing objects in the Standard storage class.)
  • If the max-keys parameter is set to 100, the API returns 100 files per call. Listing 5,000 files therefore requires 50 GET requests. (Listing objects in the Infrequent Access or Archive storage class is billed the same as listing objects in the Standard storage class.)

Listing objects may involve transmitting object data, which generates traffic. Traffic costs depend on the source of the traffic.

  • Outbound intranet traffic incurs no costs.
  • Outbound Internet traffic is billed differently during off-peak hours (00:00–08:00) and peak hours (08:00–24:00).

Example 5: Billing for deleting objects in batches

When you delete objects in batches, each API call that performs a batch operation is billed as a DELETE request. A maximum of 1,000 objects can be deleted in a single batch. To delete 5,000 files (regardless of storage class), five DELETE requests are required.

Pricing

For detailed prices, see Product Pricing Details.