Skip to main content

Samsung Galaxy Store analysis tools

Project description

Samsung Galaxy Store

Python module to scrape application data from the Samsung Galaxy Store.

Installation

pip install samsung-galaxy-store

Usage

Available methods:

  • get_categories(...): Retrieves the list of store games or apps categories.
  • get_category_apps(...): Retrieves a list of apps for a specific category.
  • get_app_details(...): Retrieves expanded metadata for a specific app using the app guid (i.e sku).
  • get_app_reviews(...): Retrieves reviews for a specific app using the product id (i.e Samsung auto-generated numeric).

Get Categories

Retrieves the list of store categories. Options:

  • games: bool = Get game categories, False gets apps categories, default is True.

Example

store = SamsungGalaxyStore()
categories: List[Category] = list(store.get_categories(games=True))
for category in categories:
    print(category.json())

Results

{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}

Get Category Apps

Retrieves a list of apps for a specific category. Options:

  • category: Category = The Samsung category with the id, format is "G0000XXXXX".
  • start: int = The starting offset in the category list, default is 1.
  • end: int = The ending offset in the category list, default is 500.

Example

store = SamsungGalaxyStore()
category: Category = Category("G000060951", None, None, None, False, None)
apps: List[AppSummary] = list(store.get_category_apps(category, end=3))
for app in apps:
    print(app.json())

Results

{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000006109280', 'name': 'Tiles Hop - EDM Rush Ball & Endless Music Magic', 'icon_url': 'http://img.samsungapps.com/productNew/000006109280/IconImage_20220321044524279_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 3.0, 'release_date': '2022;01;13;', 'content_type': 'game', 'guid': 'com.GamesStore3D.TilesHopEndlessMusicMagic', 'version': '2.1.1', 'version_code': '1', 'size': 52878366, 'install_size': 52878366, 'restricted_age': '0', 'developer': 'Poppy Challenge Games', 'iap_support': True}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005751609', 'name': 'Tiles Hop: EDM Rush!', 'icon_url': 'http://img.samsungapps.com/productNew/000005751609/IconImage_20210625042847048_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.0, 'release_date': '2021;06;14;', 'content_type': 'game', 'guid': 'Music.tiles.hop.hot', 'version': '1.0', 'version_code': '1', 'size': 51295176, 'install_size': 51295176, 'restricted_age': '0', 'developer': 'VODOO GAMES', 'iap_support': False}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005250051', 'name': 'Drum Pad', 'icon_url': 'http://img.samsungapps.com/productNew/000005250051/IconImage_20210121025114863_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.5, 'release_date': '2020;09;24;', 'content_type': 'game', 'guid': 'cos.appofun_samfree.drumpad', 'version': 'Drum Pad Galaxy', 'version_code': '1', 'size': 21914755, 'install_size': 21914755, 'restricted_age': '4', 'developer': 'Free Beat Maker Machine', 'iap_support': False}

Get App Details

Retrieves expanded metadata for a specific app using the app guid (i.e sku). Options:

  • guid: str = The Samsung guid (i.e sku) for an app. The guid is set by the developer, but a common format is "com.company.app".

Example

store = SamsungGalaxyStore()
app: App = store.get_category_apps(guid="com.playrix.homescapes.samsung")
print(app.json())

Results

{'id': '000005514733', 'name': 'Homescapes', 'icon_url': 'http://img.samsungapps.com/productNew/000005514733/IconImage_20220505092438492_NEW_WEB_ICON.png', 'currency_symbol': '$', 'price': 0.0, 'is_discount': False, 'average_rating': 4.5, 'content_type': 'A', 'guid': 'com.playrix.homescapes.samsung', 'version': '5.3.3', 'restricted_age': '4', 'iap_support': True, 'developer': {'name': 'Playrix', 'url': 'https://www.playrix.com', 'phone': '896034189', 'address': 'RED OAK NORTH, SOUTH COUNTY BUSINESS PARK', 'representative': 'Mikhail Smachev', 'contact_first_name': 'PLR Worldwide Sales Limited'}, 'description': "Welcome to Homescapes, ...", 'release_notes': "What's new:\n- Bug fixes and improvements\n\nPlease update the game to the latest version.\n\nWEDDING MAKEOVER\n• Save Emma's wedding!\n• Change the character's style!\n• Decorate the wedding venue!\n\nKNIGHT'S TALE\n• Help William join the Knight Club and decorate the yard with medieval decorations!\n• Get the Knight's Castle decoration.\n\nALSO\n• Woolly Season! Use the Golden Ticket to get a cute little lamb!\n• Help Betty improve her smart home and meet a robot butler!", 'customer_support_email': 'homescapes@playrix.com', 'deeplink': 'samsungapps://ProductDetail/com.playrix.homescapes.samsung?session_id=W_8EE1FEC49C2C61700D7D11650B83BDEC', 'update_date': '2022.05.05', 'permissions': ['storage'], 'privacy_policy_url': 'https://www.playrix.com/privacy/index.html', 'youtube_url': 'https://www.youtube.com/embed/9FlvCL8_4r8?hd=1&rel=0&autohide=1&showinfo=0&wmode=transparent'}

Get App Reviews

Retrieves reviews for a specific app using the product id (i.e Samsung auto-generated numeric). Reviews are sorted by most recent. Options:

  • product_id: str = The Samsung generated numeric product id for an app.
  • max_reviews: Optional[int] = The max number of reviews to return, None of 0 for all reviews.

Example

store = SamsungGalaxyStore()
reviews: List[Review] = list(store.get_app_reviews(product_id="000005514733", max_reviews=3))
for review in reviews:
    print(review.json())

Results

{'text': '3vj93', 'user': 'brad**', 'updated_date': '2022.05.13', 'stars': 5.0, 'developer_responded': False}
{'text': 'I LOVE THIS GAME ❤', 'user': 'ruby**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
{'text': "Ex s d3 se rex wz ee's eeeed,,\nxz\nsix zzz x", 'user': 'coya**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}

CLI Usage

This package comes bundled with a CLI tool for exploring the Samsung Galaxy Store, succinctly named galaxy-store-cli that can be installed via poetry install.

usage: galaxy-store-cli [-h] {categories,apps,app,reviews} ...

Lookup Samsung Galaxy Store information.

positional arguments:
  {categories,apps,app,reviews}
    categories          Get store category information
    apps                Get bestselling apps in a specific category.
    app                 Get a specific app details using the guid (i.e sku)
    reviews             Get reviews for a specific app using the product id (i.e number)

options:
  -h, --help            show this help message and exit

Get Categories

>>> galaxy-store-cli categories --help
usage: galaxy-store-cli categories [-h] [--mode {games,apps}]

options:
  -h, --help           show this help message and exit
  --mode {games,apps}  Get games or apps categories. default=games

>>> galaxy-store-cli categories

{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}

Get Category Apps

>>> galaxy-store-cli apps --help      
usage: galaxy-store-cli apps [-h] [--max_apps MAX_APPS] category_id

positional arguments:
  category_id          Category id for which to lookup apps.

options:
  -h, --help           show this help message and exit
  --max_apps MAX_APPS  Number of apps to return. default=500

>>> galaxy-store-cli apps G000060951 --max_apps 3

{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000006109280', 'name': 'Tiles Hop - EDM Rush Ball & Endless Music Magic', 'icon_url': 'http://img.samsungapps.com/productNew/000006109280/IconImage_20220321044524279_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 3.0, 'release_date': '2022;01;13;', 'content_type': 'game', 'guid': 'com.GamesStore3D.TilesHopEndlessMusicMagic', 'version': '2.1.1', 'version_code': '1', 'size': 52878366, 'install_size': 52878366, 'restricted_age': '0', 'developer': 'Poppy Challenge Games', 'iap_support': True}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005751609', 'name': 'Tiles Hop: EDM Rush!', 'icon_url': 'http://img.samsungapps.com/productNew/000005751609/IconImage_20210625042847048_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.0, 'release_date': '2021;06;14;', 'content_type': 'game', 'guid': 'Music.tiles.hop.hot', 'version': '1.0', 'version_code': '1', 'size': 51295176, 'install_size': 51295176, 'restricted_age': '0', 'developer': 'VODOO GAMES', 'iap_support': False}
{'category_id': 'G000060951', 'category_name': 'Music', 'category_class': 'G', 'id': '000005250051', 'name': 'Drum Pad', 'icon_url': 'http://img.samsungapps.com/productNew/000005250051/IconImage_20210121025114863_NEW_WEB_ICON_135_135.png', 'currency_symbol': '$', 'price': '0.00', 'discount_price': '0.00', 'is_discount': False, 'average_rating': 4.5, 'release_date': '2020;09;24;', 'content_type': 'game', 'guid': 'cos.appofun_samfree.drumpad', 'version': 'Drum Pad Galaxy', 'version_code': '1', 'size': 21914755, 'install_size': 21914755, 'restricted_age': '4', 'developer': 'Free Beat Maker Machine', 'iap_support': False}

Get App Details

>>> galaxy-store-cli app --help 
usage: galaxy-store-cli app [-h] guid

positional arguments:
  guid        Get a specific app details using the guid (i.e sku)

options:
  -h, --help  show this help message and exit

>>> galaxy-store-cli app 'com.playrix.homescapes.samsung'

{'id': '000005514733', 'name': 'Homescapes', 'icon_url': 'http://img.samsungapps.com/productNew/000005514733/IconImage_20220505092438492_NEW_WEB_ICON.png', 'currency_symbol': '$', 'price': 0.0, 'is_discount': False, 'average_rating': 4.5, 'content_type': 'A', 'guid': 'com.playrix.homescapes.samsung', 'version': '5.3.3', 'restricted_age': '4', 'iap_support': True, 'developer': {'name': 'Playrix', 'url': 'https://www.playrix.com', 'phone': '896034189', 'address': 'RED OAK NORTH, SOUTH COUNTY BUSINESS PARK', 'representative': 'Mikhail Smachev', 'contact_first_name': 'PLR Worldwide Sales Limited'}, 'description': "Welcome to Homescapes, ...", 'release_notes': "What's new:\n- Bug fixes and improvements\n\nPlease update the game to the latest version.\n\nWEDDING MAKEOVER\n• Save Emma's wedding!\n• Change the character's style!\n• Decorate the wedding venue!\n\nKNIGHT'S TALE\n• Help William join the Knight Club and decorate the yard with medieval decorations!\n• Get the Knight's Castle decoration.\n\nALSO\n• Woolly Season! Use the Golden Ticket to get a cute little lamb!\n• Help Betty improve her smart home and meet a robot butler!", 'customer_support_email': 'homescapes@playrix.com', 'deeplink': 'samsungapps://ProductDetail/com.playrix.homescapes.samsung?session_id=W_8EE1FEC49C2C61700D7D11650B83BDEC', 'update_date': '2022.05.05', 'permissions': ['storage'], 'privacy_policy_url': 'https://www.playrix.com/privacy/index.html', 'youtube_url': 'https://www.youtube.com/embed/9FlvCL8_4r8?hd=1&rel=0&autohide=1&showinfo=0&wmode=transparent'}

Get App Reviews

>>> galaxy-store-cli reviews --help
usage: galaxy-store-cli reviews [-h] [--max_reviews MAX_REVIEWS] product_id

positional arguments:
  product_id            Get reviews for a specific app using the product id (i.e number)

options:
  -h, --help            show this help message and exit
  --max_reviews MAX_REVIEWS
                        Number of reviews to return for product, ordered by most recent. Default is all reviews.
                        
>>> galaxy-store-cli reviews 000005514733 --max_reviews 3

{'text': '3vj93', 'user': 'brad**', 'updated_date': '2022.05.13', 'stars': 5.0, 'developer_responded': False}
{'text': 'I LOVE THIS GAME ❤', 'user': 'ruby**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}
{'text': "Ex s d3 se rex wz ee's eeeed,,\nxz\nsix zzz x", 'user': 'coya**', 'updated_date': '2022.05.12', 'stars': 5.0, 'developer_responded': False}

Docker

Containers are automatically built off of the main branch and can be downloaded from: https://hub.docker.com/repository/docker/minormending/samsung-galaxy-store

Alternatively, you can build your own containers:

>>> docker build -t galaxy-store .
>>> docker run galaxy-store categories --mode=games

{'id': 'G000046957', 'translation_id': 'MIDS_SAPPS_BUTTON_LEISURE_PUZZLES', 'name': 'Puzzle', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0134/uploadfile_20190212013457076.png', 'watch_face': False, 'content_id': '0000005171'}
{'id': 'G000046960', 'translation_id': 'MIDS_SAPPS_BUTTON_ONLINE_GAMES', 'name': 'Online Game', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0135/uploadfile_20190212013557731.png', 'watch_face': False, 'content_id': '0000005172'}
{'id': 'G000046961', 'translation_id': 'MIDS_SAPPS_BUTTON_ACTION_ADVENTURE', 'name': 'Action/Adventure', 'icon_url': 'http://img.samsungapps.com/content/2019/0212/0136/uploadfile_20190212013636628.png', 'watch_face': False, 'content_id': '0000005173'}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

samsung-galaxy-store-0.1.10.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

samsung_galaxy_store-0.1.10-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file samsung-galaxy-store-0.1.10.tar.gz.

File metadata

  • Download URL: samsung-galaxy-store-0.1.10.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.13

File hashes

Hashes for samsung-galaxy-store-0.1.10.tar.gz
Algorithm Hash digest
SHA256 52583dcaa0d975bdf8998b72c0527d6a4823cb2e7262b17ab903b6c49ad2f0b3
MD5 be22080edb569ee457c0eb29b904bbc8
BLAKE2b-256 2b20ff4867b2cf4fe3de45f1612645ff8d9fd940671567454f88e3c6aed21e2a

See more details on using hashes here.

File details

Details for the file samsung_galaxy_store-0.1.10-py3-none-any.whl.

File metadata

File hashes

Hashes for samsung_galaxy_store-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2b51dd1ea010317d6f04e50d2b77f29a31f87b0ddb70be8e3d7ca6673e6128b6
MD5 8485285c5052cc5168b599fc1921f24c
BLAKE2b-256 9816494a37fb81edbd69130ac8b3685ddb58edc5a6c97ee650fb6fdcfcbd30e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page