Google Cloud Platform
Cloud Storage

Google Cloud Storage JSON API Overview

The Google Cloud Storage JSON API is a simple, JSON-backed interface for accessing and manipulating Google Cloud Storage projects in a programmatic way. It has most of the same features as the Google Cloud Storage XML API, but it is fully compatible with the Google APIs Client Libraries.

The Google Cloud Storage JSON API is intended for software developers. To use it you should be familiar with web programming and be comfortable creating applications that consume web services through HTTP requests. If this does not describe you, consider one of the following alternatives:

The current release of the Google Cloud Storage JSON API is v1. To get started, take a look at the How-To Guides or the API Reference.

Activating the API

For new projects, the Google Cloud Storage JSON API is activated by default, and it can be used immediately. Note that you must enable billing for your project before that project can create buckets. All other operations will work immediately.

For existing projects: Enable the Cloud Storage API.

Encoding URI path parts

You should encode any URI path parts that contain unsafe characters and the slash character when specifying them in request URIs. For example, if send a GET request for the object named "foo/?bar" in the bucket "example-bucket", then your request URI should be:


You do not have to encode the following URI path characters:

  • Unreserved alphanumeric characters ("A"-"Z", "a"-"z", "0"-"9")

  • Unreserved non-alphanumeric characters ("-", ".", "_", "~")

  • Sub-delims ("!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="),

  • Colons (":") and at-signs ("@")

For more information about using percent-encoded for URIs, see Section 3.3 Path in RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. Note that encoding is typically handled for you by client libraries, and you can pass the raw object name. For more information about object naming conventions, see object name requirements.

Bucket name requirements are such that no characters are allowed in a bucket name that require encoding.