You should not use a GET object request to retrieve general object metadata,
because doing so incurs charges associated with downloading
the entire object. Use a HEAD object request instead.
To download an object you make a GET request that is scoped to a bucket
and object. You can also use various request headers to further scope the
request. The request returns the object's contents in the response body. To
list an object's ACLs you make a GET request that is scoped to a bucket and
object and you use the acl query string parameter. The ACLs are
returned in an XML document in the response body.
If you make a GET request for an object that doesn't exist, you get a
404 Not Found status
code and the body of the error response contains NoSuchKey
in the Code element.
Common request headers
The following are common request headers for GET object requests.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# GET Object\n\nUse a GET object request to:\n\n- [Download an object](/storage/docs/xml-api/get-object-download)\n- [List the uploaded parts of an object](/storage/docs/xml-api/get-object-multipart)\n- [List object ACLs](/storage/docs/xml-api/get-object-acls)\n- [Get an object's encryption information](/storage/docs/xml-api/get-object-encryption)\n- [Get an object's retention configuration](/storage/docs/xml-api/get-object-retention)\n\nYou **should not** use a GET object request to retrieve general object metadata,\nbecause doing so incurs charges associated with downloading\nthe entire object. Use a [HEAD object](/storage/docs/xml-api/head-object) request instead.\n\nTo download an object you make a GET request that is scoped to a bucket\nand object. You can also use various request headers to further scope the\nrequest. The request returns the object's contents in the response body. To\nlist an object's ACLs you make a GET request that is scoped to a bucket and\nobject and you use the `acl` query string parameter. The ACLs are\nreturned in an XML document in the response body.\n\nIf you make a GET request for an object that doesn't exist, you get a\n[404 Not Found](/storage/docs/xml-api/reference-status) status\ncode and the body of the error response contains `NoSuchKey`\nin the `Code` element.\n\nCommon request headers\n----------------------\n\nThe following are common request headers for GET object requests."]]