Published: October 15, 2025
Starting today, we're releasing a new version (V2) of the Chrome Web Store API. The new API is significantly easier to use, and has support for features like service accounts, making it easier to integrate with enterprise workflows. We've also added more functionality with the ability to control percentage rollout and programmatically cancel pending submissions.
A new API based on developer feedback
The new API was built with developer feedback top of mind. We've worked to make the API endpoints and responses more intuitive.
New features
We've also added new features that were previously not available in the API.
Access published and draft item status
Previously, it was only possible to retrieve the most recent draft revision for an item. You can now retrieve both the published and pending revision.
curl -H "Authorization: Bearer $TOKEN" -X GET https://chromewebstore.googleapis.com/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:fetchStatus
This will return a response including the following:
{
...,
"publishedItemRevisionStatus": { ... },
"submittedItemRevisionStatus": { ... },
...
}
Cancel a pending submission
You can now cancel a pending submission using the API.
curl -H "Authorization: Bearer $TOKEN" -X POST https://chromewebstore.googleapis.com/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:cancelSubmission
Modify percentage rollout
You can now update the percentage rollout for an extension without submitting it for review. This is based on feedback from developers, who pointed out that in the previous API version any updates, including to the target percentage, would be treated as a new submission that would separately undergo review.
curl -H "Authorization: Bearer $TOKEN" -X POST -H "Content-Type: application/json" -d "{ "deployPercentage": 100 }" https://chromewebstore.googleapis.com/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:setPublishedDeployPercentage
Service account support

You can now grant service accounts access to the Chrome Web Store API. Just add the required emails in the Developer Dashboard.
Stage an item for publishing
Previously, revisions submitted using the API were always published immediately after they had passed review. Now, you can use the publishType
field with STAGED_PUBLISH
-when your item passes review, it will be staged and can be manually published at a later time using another API call or manually using the Developer Dashboard.
Improved ergonomics
The Chrome Web Store API now publishes a discovery document. This lets you interact with the API through various Google tooling and libraries. We've also more clearly defined the concept of item revisions as a core concept in the API which makes the API easier to use and unlocks more flexibility for additional methods in the future.
Improved documentation

We've published much more extensive API reference documentation, using the same tooling used for other Google APIs. This also includes the "Try it!" API explorer which lets you configure a single request using credentials from your authenticated Google Account.
OAuth playground

You can now select the Chrome Web Store API scope in the OAuth 2.0 playground. This lets you get test credentials and make test API requests in the browser. While this tool has always supported the Chrome Web Store API, scopes and API methods were not automatically suggested.
Google client libraries
These updates will also mean the API will be available in future releases of the Google API client libraries. This will make it easier to call the API from your language of choice, including JavaScript, Node.js, Python and Java.
How to migrate
Most methods in the V1 API have an equivalent method in the V2 API. Update your code to use the new endpoints and request format, and to handle the updated responses.
Use case | Old API endpoint | New API endpoint |
---|---|---|
Get an item | GET https://www.googleapis.com/chromewebstore/v1.1/items/itemId |
GET https://chromewebstore.googleapis.com/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:fetchStatus |
Update an item | PUT https://www.googleapis.com/upload/chromewebstore/v1.1/items/itemId |
POST https://chromewebstore.googleapis.com/upload/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:upload |
Publish an item | POST https://www.googleapis.com/chromewebstore/v1.1/items/itemId/publish |
POST https://chromewebstore.googleapis.com/v2/publishers/PUBLISHER_ID/items/EXTENSION_ID:publish |
You can find example requests in the Use the Chrome Web Store API tutorial and the full documentation for the new methods here.
The new API does not support creating new items. This functionality was rarely used, and had limited utility given that additional metadata still had to be provided in the Developer Dashboard.
Additionally, we no longer support changing the visibility of an item using the API. This is to make sure that any visibility changes are confirmed by the developer in the Developer Dashboard.
Migration timeline
We plan to support the old API until 15th October 2026, at which point you will need to move to the V2 API to continue making requests.
Wrap up
We're really excited to share these changes with you. As always, if you have any feedback, do let us know in the chromium-extensions mailing list.