You are viewing the legacy documentation for the Google Photos Library API.
Get started with REST
Stay organized with collections
Save and categorize content based on your preferences.
To start using the Google Photos Library API, configure your project by enabling the API via
the Google API Console and setting up an OAuth 2.0 client ID.
Your application interacts with Google Photos on behalf of a
Google Photos user. For instance, when you create albums in a user's
Google Photos library or upload media items to a user's
Google Photos account, the user authorizes these API requests via the
OAuth 2.0 protocol.
The OAuth 2.0 client ID allows your application users to sign in, authenticate,
and thereby use the Library API. The Library API does not support
service accounts; to use this API, users must be signed in to a valid Google
Account.
Enable the API
Before you can use the Library API, you must enable it for your project.
- Go to the Google API Console.
- From the menu bar, select a project or create a new project.
- To open the Google API Library, from the Navigation menu, select
APIs & Services > Library.
- Search for "Google Photos Library API". Select the correct result and click
Enable.
Request an OAuth 2.0 client ID
Follow the steps below to request an OAuth client ID and configure it for your
application. This example uses an application where the entire OAuth flow is
handled server-side, such as the one in our samples. The setup process may vary
for other implementation scenarios.
- Go to the Google API Console
and select your project.
- From the menu, select APIs & Services > Credentials.
- On the Credentials page, click Create Credentials > OAuth client ID.
- Select your Application type. In this example, the application type is
Web application.
Register the origins from which your app is allowed to access the Google APIs
as follows:
- To identify the client ID, enter a name.
In the Authorized JavaScript origins field, enter the origin for your
app. This field doesn't allow wildcards.
You can enter multiple origins to allow your app to run on different
protocols, domains, or subdomains. The URLs you enter are allowed to
start an OAuth request.
The following example shows a local development URL (our samples use
localhost:8080
) and a production URL.
http://localhost:8080
https://myproductionurl.example.com
The Authorized redirect URI field is the endpoint that receives
responses from the OAuth 2.0 server. Typically, this includes your
development environment and points to a path in your application.
http://localhost:8080/auth/google/callback
https://myproductionurl.example.com/auth/google/callback
Click Create.
-
From the resulting OAuth client dialog, copy the following:
Your app can access the enabled Google APIs using these values.
Before you can launch a public application that accesses the Library API,
your app must be reviewed by Google. An "Unverified app" message appears on the
screen when you test your application, until it is
verified.
Try out the sample
Now that you've configured your project for use with the Library API,
check out the sample app on GitHub. The sample app
demonstrates how you can build a smart photo frame using the Library API.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-28 UTC.
[null,null,["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eTo use the Google Photos Library API, you must enable the API and set up an OAuth 2.0 client ID through the Google API Console.\u003c/p\u003e\n"],["\u003cp\u003eUsers must be signed in to a valid Google Account to use the Library API as it requires user authorization via OAuth 2.0 for actions like creating albums or uploading media.\u003c/p\u003e\n"],["\u003cp\u003eBefore launching publicly, your application needs to be reviewed and verified by Google to remove the "Unverified app" message during testing.\u003c/p\u003e\n"]]],["To utilize the Google Photos Library API, first enable it for your project in the Google API Console. Then, create an OAuth 2.0 client ID, specifying the application type, authorized JavaScript origins, and redirect URIs. Obtain the client ID and secret from the resulting dialog. Ensure your application is reviewed by Google before public launch. Note, only valid Google Account users can use this API as service accounts aren't supported.\n"],null,["# Get started with REST\n\nTo start using the Google Photos Library API, configure your project by enabling the API via\nthe Google API Console and setting up an OAuth 2.0 client ID.\n\nYour application interacts with Google Photos on behalf of a\nGoogle Photos user. For instance, when you create albums in a user's\nGoogle Photos library or upload media items to a user's\nGoogle Photos account, the user authorizes these API requests via the\n[OAuth 2.0](/identity/protocols/OAuth2) protocol.\n\nThe OAuth 2.0 client ID allows your application users to sign in, authenticate,\nand thereby use the Library API. The Library API does not support\nservice accounts; to use this API, users must be signed in to a valid Google\nAccount.\n\nConfigure your app\n------------------\n\n### Enable the API\n\nBefore you can use the Library API, you must enable it for your project.\n\n1. Go to the [Google API Console](https://console.developers.google.com/apis/library).\n2. From the menu bar, select a project or create a new project.\n3. To open the Google API Library, from the Navigation menu, select **APIs \\& Services \\\u003e Library**.\n4. Search for \"Google Photos Library API\". Select the correct result and click **Enable**.\n\n### Request an OAuth 2.0 client ID\n\nFollow the steps below to request an OAuth client ID and configure it for your\napplication. This example uses an application where the entire OAuth flow is\nhandled server-side, such as the one in our samples. The setup process may vary\nfor other [implementation scenarios](/identity/protocols/OAuth2).\n\n1. Go to the [Google API Console](https://console.developers.google.com/apis/library) and select your project.\n2. From the menu, select **APIs \\& Services \\\u003e Credentials**.\n3. On the **Credentials** page, click **Create Credentials \\\u003e OAuth client ID**.\n4. Select your **Application type** . In this example, the application type is **Web application**.\n5. Register the origins from which your app is allowed to access the Google APIs\n as follows:\n\n 1. To identify the client ID, enter a name.\n 2. In the **Authorized JavaScript origins** field, enter the origin for your\n app. This field doesn't allow wildcards.\n\n You can enter multiple origins to allow your app to run on different\n protocols, domains, or subdomains. The URLs you enter are allowed to\n start an OAuth request.\n\n The following example shows a local development URL (our samples use\n `localhost:8080`) and a production URL. \n\n http://localhost:8080\n https://myproductionurl.example.com\n\n 3. The **Authorized redirect URI** field is the endpoint that receives\n responses from the OAuth 2.0 server. Typically, this includes your\n development environment and points to a path in your application.\n\n http://localhost:8080/auth/google/callback\n https://myproductionurl.example.com/auth/google/callback\n\n 4. Click **Create**.\n\n\u003c!-- --\u003e\n\n6. From the resulting OAuth client dialog, copy the following:\n\n - Client ID\n - Client secret\n\n Your app can access the enabled Google APIs using these values.\n\nBefore you can launch a public application that accesses the Library API,\nyour app must be reviewed by Google. An \"Unverified app\" message appears on the\nscreen when you test your application, until it is\n[verified](https://support.google.com/cloud/answer/7454865).\n\nTry out the sample\n------------------\n\nNow that you've configured your project for use with the Library API,\ncheck out the [sample app](/photos/library/samples) on GitHub. The sample app\ndemonstrates how you can build a smart photo frame using the Library API."]]