All Products
Search
Document Center

Object Storage Service:Request fees

Last Updated:Mar 25, 2026

All operations pertaining to accessing and managing Object Storage Service (OSS) resources, whether conducted over the internal network or the Internet, whether executed through API calls, OSS SDKs, the OSS console, ossutil, or ossbrowser, and irrespective of whether public-read or private objects are accessed, are fundamentally based on RESTful APIs. You are charged request fees based on the actual number of API calls. If your business application requires access to Cold Archive or Deep Cold Archive objects, you must restore these objects before accessing. In this case, you are also charged data retrieval fees.

Unit price

This topic covers only the billable items and billing methods for request fees. For pricing details, see OSS Pricing.

Billable item

You are charged for requests with HTTP status codes 2xx and 3xx returned, and not charged for requests with HTTP status codes 4xx and 5xx returned.

PUT requests

Item

Billing code

Billing rule

PUT requests

PutRequest

Request fees are calculated based on the number of PUT requests.

PUT requests include requests initiated to upload, copy, or delete objects. The following table lists the specific API requests for PUT operations.

Put-type API requests

API request

Operation

PutBucket

Creates a bucket.

GetBucket (ListObject), GetBucketV2 (ListObjectsV2)

Lists all objects in a bucket.

PutBucketACL

Sets an access control list (ACL) for a bucket.

PutBucketInventory

Configures an inventory rule for a bucket.

DeleteBucketInventory

Deletes a specified inventory rule from a bucket.

PutBucketLogging

Enables logging for a bucket.

DeleteBucketLogging

Disables logging for a bucket.

PutBucketWebsite

Configures a bucket for static website hosting and sets redirection rules (RoutingRule).

DeleteBucketWebsite

Disables static website hosting for a bucket and deletes its redirection rules.

PutBucketReferer

Configures a Referer-based whitelist for a bucket and specifies whether to allow requests with an empty Referer field.

PutBucketLifecycle

Configures a lifecycle rule.

CommitTransition

Transitions the storage class of objects based on a lifecycle rule.

Important

The PUT-type request fees for transitioning objects from Infrequent Access (IA), Archive, or Cold Archive to other storage classes based on a lifecycle rule are higher than the fees for transitioning objects from Standard to IA, Archive, Cold Archive, or Deep Cold Archive.

ExpireObject

Deletes an object based on a lifecycle rule.

Important
  • In regions in the Chinese mainland, the PUT-type request fees for deleting Infrequent Access (IA), Archive, and Cold Archive objects based on a lifecycle rule are higher than the fees for deleting Standard objects. No PUT-type request fees are charged for deleting Deep Cold Archive objects based on a lifecycle rule.

  • In the China (Hong Kong) region and other regions outside the Chinese mainland, no PUT-type request fees are charged for deleting objects of any storage class based on a lifecycle rule.

DeleteBucketLifecycle

Deletes a lifecycle rule.

DeleteBucket

Deletes a bucket.

PutObject

Uploads an object.

CopyObject

Copies an object within the same bucket or to another bucket in the same region.

Important

PUT-type request fees are based on the source object's storage class.

AppendObject

Uploads an object by appending data.

DeleteObject

Deletes a single object.

DeleteMultipleObjects

Deletes multiple objects.

PutObjectACL

Sets an ACL for an object.

PostObject

Uploads an object by using an HTML form.

PutSymlink

Creates a symbolic link.

RestoreObject

Restores an Archive object.

CleanRestoredObject

Ends the restored state of a Cold Archive or Deep Cold Archive object. The temporary copy of the object no longer incurs temporary storage fees.

InitiateMultipartUpload

Initiates a multipart upload.

UploadPart

Uploads data in parts based on a specified object name and upload ID.

Important

Each part uploaded via the UploadPart API counts as one PUT-type request. For example, uploading an object in 1,000 parts requires 1,000 API calls and is billed as 1,000 PUT-type requests.

AbortMultipartUpload

Cancels a multipart upload and deletes its parts.

Important
  • In regions in the Chinese mainland, the PUT-type request fees for deleting parts of Infrequent Access (IA), Archive, and Cold Archive objects based on a lifecycle rule are higher than the fees for deleting parts of Standard objects. No PUT-type request fees are charged for deleting parts of Deep Cold Archive objects based on a lifecycle rule.

  • In the China (Hong Kong) region and other regions outside the Chinese mainland, no PUT-type request fees are charged for deleting parts of any storage class based on a lifecycle rule.

UploadPartCopy

Copies an object in parts.

Important

Each part copied via the UploadPartCopy API counts as one PUT-type request. For example, copying an object in 1,000 parts requires 1,000 API calls and is billed as 1,000 PUT-type requests.

ListMultipartUploads

Lists all multipart uploads that have been initiated but not yet completed or aborted.

ListParts

Lists all successfully uploaded parts for a specified upload ID.

PutBucketReplication

Configures a data replication rule for a bucket.

DeleteBucketReplication

Stops data replication and deletes the replication rule for a bucket.

PutBucketCors

Adds a Cross-Origin Resource Sharing (CORS) configuration.

DeleteBucketCors

Deletes a CORS configuration.

CompleteMultipartUpload

Completes a multipart upload.

InitiateBucketWorm

Creates a retention policy for a bucket.

AbortBucketWorm

Deletes an unlocked retention policy.

CompleteBucketWorm

Locks a retention policy.

ExtendBucketWorm

Extends the retention period for objects in a bucket with a locked retention policy.

PutBucketVersioning

Enables versioning for a bucket.

ListObjectVersions (GetBucketVersions)

Lists the versions of all objects, including delete markers, in a bucket.

PutBucketPolicy

Sets a bucket policy.

DeleteBucketPolicy

Deletes a bucket policy.

PutBucketTags

Adds or modifies tags for a bucket.

DeleteBucketTags

Deletes a bucket's tags.

PutBucketEncryption

Configures a data encryption rule for a bucket.

DeleteBucketEncryption

Deletes the data encryption rule of a bucket.

PutBucketRequestPayment

Sets the Requester Pays mode for a bucket.

PutObjectTagging

Adds or modifies tags for an object.

DeleteObjectTagging

Deletes an object's tags.

PutLiveChannel

Creates a LiveChannel.

DeleteLiveChannel

Deletes a specified LiveChannel.

PutLiveChannelStatus

Changes the status of a LiveChannel.

PostVodPlaylist

Generates a playlist for on-demand playback for a LiveChannel.

PutStyle

Adds an image style.

ListStyle

Queries all created styles in a bucket.

DeleteStyle

Deletes a specified image style from a bucket.

WriteGetObjectResponse

Customizes data and headers returned by a GetObject request.

PutBucketTransferAcceleration

Configures transfer acceleration for a bucket.

PutBucketRTC

Enables or disables Replication Time Control (RTC) for an existing Cross-Region Replication (CRR) rule.

ListUserDataRedundancyTransition

Lists user-level storage redundancy conversion tasks.

ListBucketDataRedundancyTransition

Lists bucket-level storage redundancy conversion tasks.

CreateBucketDataRedundancyTransition

Creates a storage redundancy conversion task for a bucket.

DeleteBucketDataRedundancyTransition

Deletes a storage redundancy conversion task for a bucket.

PutBucketAccessMonitor

Configures the access tracking status for a bucket.

OpenMetaQuery

Enables the metadata index feature for a bucket.

DoMetaQuery

Queries for objects that meet specified conditions.

CloseMetaQuery

Disables the metadata index feature for a bucket.

InitUserAntiDDosInfo

Creates an Anti-DDoS for OSS instance.

UpdateUserAntiDDosInfo

Changes the status of an Anti-DDoS for OSS instance.

InitBucketAntiDDosInfo

Initializes protection for a bucket.

UpdateBucketAntiDDosInfo

Updates the protection status of a bucket.

ListBucketAntiDDosInfo

Lists protection information for a bucket.

PutBucketResourceGroup

Configures a resource group for a bucket.

CreateCnameToken

Creates a CNAME token required for domain name ownership verification.

PutCname

Binds a CNAME record to a bucket.

ListCname

Lists all CNAME records bound to a bucket.

DeleteCname

Deletes a bound CNAME record.

PutBucketArchiveDirectRead

Enables or disables Archive Direct Read for a bucket.

PutBucketHttpsConfig

Enables or disables TLS version settings for a bucket.

CreateAccessPoint

Creates an access point for a bucket.

DeleteAccessPoint

Deletes an access point from a bucket.

ListAccessPoints

Lists all access points for a bucket.

PutAccessPointPolicy

Configures an access policy for an access point.

DeleteAccessPointPolicy

Deletes the access policy of an access point.

CreateAccessPointForObjectProcess

Creates an Object FC access point.

DeleteAccessPointForObjectProcess

Deletes an Object FC access point.

ListAccessPointsForObjectProcess

Lists user-level Object FC access points.

PutAccessPointConfigForObjectProcess

Modifies the configuration of an Object FC access point.

PutAccessPointPolicyForObjectProcess

Configures a permission policy for an Object FC access point.

DeleteAccessPointPolicyForObjectProcess

Deletes the permission policy of an Object FC access point.

GET requests

Item

Billing code

Billing rule

GET requests

GetRequest

Request fees are calculated based on the number of GET requests.

GET requests are used to retrieve information about buckets or objects. The following table lists the specific API requests for GET operations.

GET requests

Request

Description

GetBucketAcl

Queries the ACL of a bucket.

GetBucketLocation

Queries the data center where a bucket is located.

GetBucketInfo

Queries the information about a bucket.

GetBucketLogging

Queries the logging configurations of a bucket.

GetBucketWebsite

Queries the static website hosting configurations of a bucket.

GetBucketReferer

Queries the Referer configurations of a bucket.

GetBucketLifecycle

Queries the lifecycle rules of a bucket.

GetBucketReplication

Queries the data replication rules of a bucket.

GetBucketReplicationLocation

Queries the regions of the destination bucket to which data can be replicated.

GetBucketReplicationProgress

Queries the progress of data replication.

GetBucketInventory

Queries a specific inventory of a bucket.

ListBucketInventory

Queries all inventories of a bucket.

GetObject

Downloads an object.

HeadObject

Queries all metadata of an object.

GetObjectMeta

Queries some metadata information of an object.

SelectObject

Queries and retrieves data using SQL statements.

GetObjectACL

Queries the ACL of an object.

GetSymlink

Queries symbolic links.

GetBucketcors

Queries the CORS rules configured for a bucket.

GetBucketWorm

Queries the retention policies of a bucket.

GetBucketVersioning

Queries the versioning status of a bucket.

GetBucketPolicy

Queries the bucket policies of a bucket.

GetBucketReferer

Queries the Referer configurations of a bucket.

GetBucketTags

Queries the tags of a bucket.

GetBucketEncryption

Queries the encryption configurations of a bucket.

GetBucketRequestPayment

Queries the request payment settings of a bucket.

GetObjectTagging

Queries the tags of an object.

ListLiveChannel

Queries the list of LiveChannels.

GetLiveChannelInfo

Queries the configurations of a specific LiveChannel.

GetLiveChannelStat

Queries the stream ingest status of a specific LiveChannel.

GetLiveChannelHistory

Queries the stream ingest history of a specific LiveChannel.

GetVodPlaylist

Queries the playlist that is generated by the streams ingested to a specific LiveChannel within a specific time range.

GetStyle

Queries the information about a specific image style of a bucket.

get_image_info

Queries the basic information about an image.

get_image_exif

Queries the EXIF data of an image.

get_image_infoexif

Queries the basic information about and EXIF data of an image.

ProcessImage

Processes an image. You are charged for image processing based on multiple billable items. For more information, see IMG.

GetBucketStat

Gets the storage capacity and object count of a bucket.

Options

A CORS preflight request sent by a browser to verify if cross-origin access is allowed.

GetBucketTransferAcceleration

Queries the transfer acceleration configuration of a bucket.

GetBucketDataRedundancyTransition

Queries the storage redundancy conversion configuration of a bucket.

GetBucketAccessMonitor

Queries the access tracking configuration of a bucket.

GetMetaQueryStatus

Queries the metadata index status of a bucket.

GetUserAntiDDosInfo

Queries information about Anti-DDoS for OSS instances under a specified account.

GetBucketResourceGroup

Queries the resource group configuration of a bucket.

GetCnameToken

Gets a created CNAME token.

GetBucketArchiveDirectRead

Queries the Archive Direct Read configuration of a bucket.

GetBucketHttpsConfig

Queries the TLS version settings for a bucket.

GetAccessPoint

Queries the configuration information of a specified access point.

GetAccessPointPolicy

Queries the access policy of an access point.

GetAccessPointForObjectProcess

Queries the basic information of an Object FC access point.

GetAccessPointConfigForObjectProcess

Queries the configuration information of an Object FC access point.

GetAccessPointPolicyForObjectProcess

Queries the permission policy configuration of an Object FC access point.

Cold Archive data retrieval requests

Item

Billing code

Billing rule

Cold Archive data retrieval requests

Data retrieval requests are divided into the following categories based on restoration priorities of Cold Archive data, each associated with the following billing codes:

  • Standard (CAStdRetrievalRequest)

  • Expedited (CAHighPriorRetrievalRequest)

  • Bulk (CABulkRetrievalRequest)

A Cold Archive object must be restored before you can access it. The amount of time required to restore a Cold Archive object depends on the object size and the selected restoration priority. You are charged data retrieval fees when you restore a Cold Archive object. The restoration of a Cold Archive object is considered a data retrieval request. The number of requests is independent of the object size.

Note

In addition to data retrieval requests, you are charged for the retrieval of Cold Archive objects, and temporary storage usage when you restore Cold Archive objects.

Deep Cold Archive data retrieval requests

Item

Billing code

Billing rule

Deep Cold Archive data retrieval requests

Data retrieval requests are divided into two categories based on restoration priorities of Deep Cold Archive data, each associated with the following billing codes:

  • Standard (DeepCAStdRetrievalRequest)

  • Expedited (DeepCAHighPriorRetrievalRequest)

A Deep Cold Archive object must be restored before you can access it. The amount of time required to restore a Deep Cold Archive object depends on the object size and the selected restoration priority. You are charged data retrieval fees when you restore a Deep Cold Archive object. The restoration of a Deep Cold Archive object is considered a data retrieval request. The number of requests is independent of the object size.

Note

In addition to data retrieval requests, you are charged for the retrieval of Deep Cold Archive objects, and temporary storage usage when you restore Deep Cold Archive objects.

Billing rules for special requests

You are charged request fees for each PUT or GET request. Certain API requests may involve batch operations, which require the implementation of different calculation methods.

Request

Duration of the restored state

API operation calling fee

Example

ListObjects

Lists all objects in the bucket.

One call to the ListObjects or ListObjectsV2 operation counts as one PUT request. When a fixed number of objects are listed, the number of requests generated by calling this operation depends on the number of objects set to be retrieved in each call.

For example, 10,000 objects are stored within a bucket.

  • If you do not set the max-keys parameter when you call this operation, 100 objects are returned at a time by default. In this case, listing 10,000 objects requires 100 PUT requests.

  • If the max-keys parameter is set to its maximum value of 1,000 when you call this operation, listing 10,000 objects requires 10 PUT requests.

ListObjectsV2

DeleteMultipleObjects

Deletes multiple objects from a bucket.

One call to the DeleteMultipleObjects operation counts as one PUT request. When a fixed number of objects are deleted, the number of requests generated by calling this operation depends on the number of objects processed in each call.

For example, 10,000 objects are stored within a bucket.

  • If the Key parameter contains 100 object names when this API operation is called, deleting 10,000 objects requires 100 PUT requests.

  • If the Key parameter contains the maximum of 1000 object names when this API operation is called, deleting 10,000 objects requires 10 PUT requests.

CommitTransition

Configures lifecycle rules to convert the storage class of objects.

One call to the CommitTransition operation counts as one PUT request. Fees for PUT requests are calculated based on the number of objects to which the lifecycle rule is applied.

For example, if you configure a lifecycle rule to convert the storage class of 1000 objects under the prefix dir from Standard to IA after 100 days, you will be charged for 1000 PUT requests.

ExpireObject

Deletes an object based on lifecycle rules.

One call to the ExpireObject operation counts as one PUT request. Fees for PUT requests are calculated based on the number of objects to which the lifecycle rule is applied.

For example, if you configure a lifecycle rule to delete 1000 objects under the prefix dir from after 365 days, you will be charged for 1000 PUT requests.

Billing methods

Instructions on selecting a billing method

We recommend that you refer to the following table to learn about the features and scenarios of different billing methods. This helps you select an appropriate billing method to reduce request fees.

Payment option

Description

Feature

Scenario

Pay-as-you-go.

By default, you are charged for all billable items based on the pay-as-you-go billing method. You are charged for the actual storage usage of each billable item. Pay-as-you-go allows you to use resources first and pay for them afterwards.

The number of requests fluctuates significantly and is difficult to predict.

  • Scenarios with unstable request volumes: For example, your application may encounter significant spikes in access requests during certain periods, while receiving very few requests at other times, and these high-traffic periods are irregular and unpredictable.

  • Temporary or one-time requirements: You only need to use OSS for a period of time or for only one-time requests.

  • Data backup or disaster recovery: You intend to store backup data in OSS buckets, but you do not have a clear timeline for accessing these backups.

Request Plan-Standard Storage Class

The resource plan intended for PUT and GET operations on standard objects. When bills are being settled, resource plans have higher priority than the pay-as-you-go billing method. Before you can use resource plans to offset fees, you must purchase resource plans.

The number of requests for Standard data is relatively stable and predictable.

  • Stable traffic patterns: When the traffic to a website or application is steady and predictable, the frequency of requests to data stored in OSS remains correspondingly stable.

  • Use cases that require frequent access to data: such as online gaming and real-time communication, where large volumes of data are processed in real time.

Request Plan-Storage Classes Other Than Standard

The resource plan intended for PUT and GET operations on IA, Archive, and Cold Archive objects. When bills are being settled, resource plans have higher priority than the pay-as-you-go billing method. Before you can use resource plans to offset fees, you must purchase resource plans.

The number of requests for IA, Archive, and Cold Archive data is relatively stable and predictable.

You need to upload a large amount of data that requires long-term storage but is accessed infrequently.

Supported payment options

The following table lists the billing methods supported for each billable item.

Item

Pay-as-you-go

Resource plan

Number of PUT requests

×

Number of GET requests

×

Cold Archive data retrieval requests

×

Deep Cold Archive data retrieval requests

×

FAQ

Requester pays

If you want requesters instead of the bucket owner to pay fees for their PUT requests and GET requests, you can enable pay-by-requester for the bucket. For more information, see Pay-by-requester.

Reference

  • For information about further billing details, see Query bills.