listings
Manage store listings, metadata, images, and country availability.
Commands
| Command | Description |
|---|---|
listings get | Get store listing(s) |
listings update | Update a store listing |
listings delete | Delete a store listing for a language |
listings pull | Download listings to Fastlane-format directory |
listings push | Upload listings from Fastlane-format directory |
listings images list | List images for a language and type |
listings images upload | Upload an image |
listings images delete | Delete an image |
listings availability | Get country availability for a track |
listings get
Retrieve store listing details for one language or all languages.
Synopsis
gpc listings get [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | Language code (BCP 47). Omit to get all languages. |
Example
Get the default language listing:
gpc listings get --app com.example.myappGet a specific language:
gpc listings get --app com.example.myapp --lang ja-JP{
"language": "ja-JP",
"title": "My App",
"shortDescription": "Short description in Japanese",
"fullDescription": "Full description in Japanese",
"video": ""
}listings update
Update a store listing for a specific language.
Synopsis
gpc listings update --lang <language> [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | (required) | Language code (BCP 47) | |
--title | string | App title (max 30 chars) | ||
--short | string | Short description (max 80 chars) | ||
--full | string | Full description (max 4000 chars) | ||
--full-file | string | Read full description from a file | ||
--video | string | YouTube video URL |
Example
Update title and short description:
gpc listings update \
--app com.example.myapp \
--lang en-US \
--title "My App" \
--short "The best app for productivity"Update full description from a file:
gpc listings update \
--app com.example.myapp \
--lang en-US \
--full-file ./metadata/en-US/full_description.txtPreview changes without applying:
gpc listings update \
--app com.example.myapp \
--lang en-US \
--title "New Title" \
--dry-runlistings delete
Delete a store listing for a specific language.
Synopsis
gpc listings delete --lang <language>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | (required) | Language code (BCP 47) |
Example
gpc listings delete --app com.example.myapp --lang fr-FRlistings pull
Download all store listings to a local Fastlane-compatible directory structure.
Synopsis
gpc listings pull [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--dir | string | metadata | Output directory path |
Example
gpc listings pull --app com.example.myapp --dir ./metadataCreates the following directory structure:
metadata/
en-US/
title.txt
short_description.txt
full_description.txt
video.txt
ja-JP/
title.txt
short_description.txt
full_description.txt
video.txt{
"directory": "./metadata",
"languages": ["en-US", "ja-JP"],
"count": 2
}listings push
Upload store listings from a local Fastlane-compatible directory structure.
Synopsis
gpc listings push [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--dir | string | metadata | Source directory path | |
--dry-run | boolean | false | Preview changes without applying |
Example
Push all metadata:
gpc listings push --app com.example.myapp --dir ./metadataPreview what would change:
gpc listings push --app com.example.myapp --dir ./metadata --dry-run{
"dryRun": true,
"changes": [
{ "language": "en-US", "field": "title", "action": "update" },
{ "language": "ja-JP", "field": "fullDescription", "action": "update" }
]
}listings images list
List all images for a specific language and image type.
Synopsis
gpc listings images list --lang <language> --type <type>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | (required) | Language code (BCP 47) | |
--type | string | (required) | Image type (see below) |
Valid image types: phoneScreenshots, sevenInchScreenshots, tenInchScreenshots, tvScreenshots, wearScreenshots, icon, featureGraphic, tvBanner.
Example
gpc listings images list \
--app com.example.myapp \
--lang en-US \
--type phoneScreenshots{
"images": [
{ "id": "1", "sha256": "abc123", "url": "https://lh3.googleusercontent.com/..." },
{ "id": "2", "sha256": "def456", "url": "https://lh3.googleusercontent.com/..." }
]
}listings images upload
Upload an image file to a specific language and image type slot.
Synopsis
gpc listings images upload <file> --lang <language> --type <type>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | (required) | Language code (BCP 47) | |
--type | string | (required) | Image type |
Example
gpc listings images upload ./screenshots/home.png \
--app com.example.myapp \
--lang en-US \
--type phoneScreenshotslistings images delete
Delete a specific image by ID.
Synopsis
gpc listings images delete --lang <language> --type <type> --id <imageId>Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--lang | string | (required) | Language code (BCP 47) | |
--type | string | (required) | Image type | |
--id | string | (required) | Image ID to delete |
Example
gpc listings images delete \
--app com.example.myapp \
--lang en-US \
--type phoneScreenshots \
--id 1listings availability
Get country availability for a specific track.
Synopsis
gpc listings availability [options]Options
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--track | string | production | Track name |
Example
gpc listings availability --app com.example.myapp --track production{
"countries": [
{ "countryCode": "US", "available": true },
{ "countryCode": "JP", "available": true },
{ "countryCode": "DE", "available": true }
]
}Related
- publish -- End-to-end release workflow
- releases -- Release management
- Migration from Fastlane -- Fastlane directory compatibility