Get started with the Picker API
Stay organized with collections
Save and categorize content based on your preferences.
The Picker API provides a secure way for your users to select photos and videos
from their Google Photos library and share them with your application.
Before you start
The Picker API flow
Here is an overview of the how the Picker API works:
Check for OAuth token: Before starting the Picker API flow, check for a
valid OAuth 2.0 access token for the user. If there is no token, initiate
the OAuth 2.0 authorization flow to obtain one.
Create a session: Initiate the process by making a call to the Picker
API to create a new
session. This call will
return a unique pickerUri
.
Direct users to the Google Photos app: Provide the pickerUri
to your users (either as a clickable link or a QR code). This URL will
securely open their Google Photos app.
User selects media items: Within the Google Photos app, users can browse
their library and select the photos and videos they want to share with your
app. Read an overview of the user's picking experience.
Poll the session: Your app should periodically poll the session
to check the status. You're looking for the
mediaItemsSet
property to return true, indicating the user has finished their selection.
List selected media items: Once mediaItemsSet
returns true, you can
use the list method to
get details about the selected media items.
Retrieve and use media items: Now you have access to the selected media
items. You can fetch their
content
using the
baseUrl
and utilize them within your application.
Next steps
- Review the reference docs: Explore the detailed Picker API reference
documentation to learn about all
the available methods and parameters.
- Try out the samples: Check out our sample to see
the Picker API in action and get inspiration for your integration.
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\u003eThe Picker API lets users securely select photos and videos from their Google Photos library and share them with your application.\u003c/p\u003e\n"],["\u003cp\u003eBefore using the Picker API, ensure it's the right fit for your use case and properly configure your app with the necessary API and authentication setup.\u003c/p\u003e\n"],["\u003cp\u003eThe Picker API flow involves creating a session, directing users to the Google Photos app for selection, polling the session for completion, and then retrieving the selected media items.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should check the provided resources like reference documentation and samples for detailed information and implementation examples.\u003c/p\u003e\n"]]],["The Picker API enables users to share media from Google Photos with your app. First, check for and obtain an OAuth token. Then, create a new session via the Picker API, generating a `pickerUri`. Direct users to this URI to select media. Periodically poll the session until `mediaItemsSet` is true. Use the list method to retrieve details of selected items, and then access their content using `baseUrl` for use in your application.\n"],null,["# Get started with the Picker API\n\nThe Picker API provides a secure way for your users to select photos and videos\nfrom their Google Photos library and share them with your application.\n\nBefore you start\n----------------\n\n- **Check out the overview:** [Compare the Picker API and the Library API](/photos/overview/about) to make sure the Picker API is the right fit for your use case.\n- **Configure your app:** Enable the API and set up authentication. See [Configure your app](/photos/overview/configure-your-app) for detailed steps.\n\nThe Picker API flow\n-------------------\n\nHere is an overview of the how the Picker API works:\n\n1. **Check for OAuth token:** Before starting the Picker API flow, check for a\n valid OAuth 2.0 access token for the user. If there is no token, [initiate\n the OAuth 2.0 authorization flow](/identity/protocols/oauth2) to obtain one.\n\n2. **Create a session:** Initiate the process by making a call to the Picker\n API to [create a new\n session](/photos/picker/reference/rest/v1/sessions/create). This call will\n return a unique `pickerUri`.\n\n3. **Direct users to the Google Photos app:** Provide the [`pickerUri`](/photos/picker/reference/rest/v1/sessions#PickingSession.FIELDS.picker_uri)\n to your users (either as a clickable link or a QR code). This URL will\n securely open their Google Photos app.\n\n4. **User selects media items:** Within the Google Photos app, users can browse\n their library and select the photos and videos they want to share with your\n app. Read an overview of the [user's picking experience](/photos/picker/guides/picking-experience).\n\n5. **Poll the session:** Your app should periodically [poll the session](/photos/picker/reference/rest/v1/sessions/get)\n to check the status. You're looking for the\n [`mediaItemsSet`](/photos/picker/reference/rest/v1/sessions#PickingSession.FIELDS.media_items_set)\n property to return true, indicating the user has finished their selection.\n\n | **Note:** Every time you poll a session the response contains [recommended\n | intervals and\n | timeouts](/photos/picker/reference/rest/v1/sessions#PollingConfig) to configure your polling.\n6. **List selected media items:** Once `mediaItemsSet` returns true, you can\n use [the list method](/photos/picker/reference/rest/v1/mediaItems/list) to\n get details about the selected media items.\n\n7. **Retrieve and use media items:** Now you have access to the selected media\n items. You can [fetch their\n content](/photos/picker/guides/media-items#retrieve-picked-media-items)\n using the\n [`baseUrl`](/photos/picker/reference/rest/v1/mediaItems#MediaFile.FIELDS.base_url)\n and utilize them within your application.\n\nNext steps\n----------\n\n- Review the reference docs: Explore the detailed [Picker API reference\n documentation](/photos/picker/reference/rest) to learn about all the available methods and parameters.\n- Try out the samples: Check out our [sample](/photos/picker/samples) to see the Picker API in action and get inspiration for your integration."]]