API Reference
This section provides detailed API documentation for all classes and methods.
GPlayScraper
- class gplay_scraper.GPlayScraper(http_client: str = None)[source]
Bases:
object
Main scraper class providing access to all Google Play Store scraping methods.
This class aggregates 7 method types: - App Methods: Extract 65+ fields from any app - Search Methods: Search for apps by keyword - Reviews Methods: Extract user reviews and ratings - Developer Methods: Get all apps from a developer - List Methods: Get top charts (free, paid, grossing) - Similar Methods: Find similar/competitor apps - Suggest Methods: Get search suggestions
- Parameters:
http_client – HTTP client to use (requests, curl_cffi, tls_client, httpx, urllib3, cloudscraper, aiohttp)
- __init__(http_client: str = None)[source]
Initialize GPlayScraper with all method types.
- Parameters:
http_client – Optional HTTP client name. Defaults to ‘requests’ with automatic fallback.
- app_analyze(app_id: str, lang: str = 'en', country: str = 'us') Dict [source]
Get complete app data with 65+ fields.
- Parameters:
app_id – Google Play app ID (e.g., ‘com.whatsapp’)
lang – Language code (default: ‘en’)
country – Country code (default: ‘us’)
- Returns:
Dictionary containing all app data
- app_get_field(app_id: str, field: str, lang: str = 'en', country: str = 'us') Any [source]
Get single field value from app data.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
lang – Language code
country – Country code
- Returns:
Value of the requested field
- app_get_fields(app_id: str, fields: List[str], lang: str = 'en', country: str = 'us') Dict[str, Any] [source]
Get multiple field values from app data.
- Parameters:
app_id – Google Play app ID
fields – List of field names to retrieve
lang – Language code
country – Country code
- Returns:
Dictionary with requested fields and values
- app_print_field(app_id: str, field: str, lang: str = 'en', country: str = 'us') None [source]
Print single field value to console.
- Parameters:
app_id – Google Play app ID
field – Field name to print
lang – Language code
country – Country code
- app_print_fields(app_id: str, fields: List[str], lang: str = 'en', country: str = 'us') None [source]
Print multiple field values to console.
- Parameters:
app_id – Google Play app ID
fields – List of field names to print
lang – Language code
country – Country code
- app_print_all(app_id: str, lang: str = 'en', country: str = 'us') None [source]
Print all app data as JSON to console.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- search_analyze(query: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Search for apps and get complete results.
- Parameters:
query – Search query string
count – Number of results to return
lang – Language code
country – Country code
- Returns:
List of dictionaries containing app data
- search_get_field(query: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from search results.
- Parameters:
query – Search query string
field – Field name to retrieve
count – Number of results
lang – Language code
country – Country code
- Returns:
List of field values
- search_get_fields(query: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from search results.
- Parameters:
query – Search query string
fields – List of field names
count – Number of results
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- search_print_field(query: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from search results.
- Parameters:
query – Search query string
field – Field name to print
count – Number of results
lang – Language code
country – Country code
- search_print_fields(query: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from search results.
- Parameters:
query – Search query string
fields – List of field names
count – Number of results
lang – Language code
country – Country code
- search_print_all(query: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print all search results as JSON.
- Parameters:
query – Search query string
count – Number of results
lang – Language code
country – Country code
- reviews_analyze(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Dict] [source]
Get user reviews for an app.
- Parameters:
app_id – Google Play app ID
count – Number of reviews to fetch
lang – Language code
country – Country code
sort – Sort order (NEWEST, RELEVANT, RATING)
- Returns:
List of review dictionaries
- reviews_get_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Any] [source]
Get single field from reviews.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- Returns:
List of field values
- reviews_get_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Dict[str, Any]] [source]
Get multiple fields from reviews.
- Parameters:
app_id – Google Play app ID
fields – List of field names
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- Returns:
List of dictionaries with requested fields
- reviews_print_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') None [source]
Print single field from reviews.
- Parameters:
app_id – Google Play app ID
field – Field name to print
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- reviews_print_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') None [source]
Print multiple fields from reviews.
- Parameters:
app_id – Google Play app ID
fields – List of field names
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- reviews_print_all(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') None [source]
Print all reviews as JSON.
- Parameters:
app_id – Google Play app ID
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- developer_analyze(dev_id: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get all apps from a developer.
- Parameters:
dev_id – Developer ID (numeric or string)
count – Number of apps to return
lang – Language code
country – Country code
- Returns:
List of app dictionaries
- developer_get_field(dev_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from developer apps.
- Parameters:
dev_id – Developer ID
field – Field name to retrieve
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of field values
- developer_get_fields(dev_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from developer apps.
- Parameters:
dev_id – Developer ID
fields – List of field names
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- developer_print_field(dev_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from developer apps.
- Parameters:
dev_id – Developer ID
field – Field name to print
count – Number of apps
lang – Language code
country – Country code
- developer_print_fields(dev_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from developer apps.
- Parameters:
dev_id – Developer ID
fields – List of field names
count – Number of apps
lang – Language code
country – Country code
- developer_print_all(dev_id: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print all developer apps as JSON.
- Parameters:
dev_id – Developer ID
count – Number of apps
lang – Language code
country – Country code
- similar_analyze(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get similar/competitor apps.
- Parameters:
app_id – Google Play app ID
count – Number of similar apps to return
lang – Language code
country – Country code
- Returns:
List of similar app dictionaries
- similar_get_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from similar apps.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
count – Number of similar apps
lang – Language code
country – Country code
- Returns:
List of field values
- similar_get_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from similar apps.
- Parameters:
app_id – Google Play app ID
fields – List of field names
count – Number of similar apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- similar_print_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from similar apps.
- Parameters:
app_id – Google Play app ID
field – Field name to print
count – Number of similar apps
lang – Language code
country – Country code
- similar_print_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from similar apps.
- Parameters:
app_id – Google Play app ID
fields – List of field names
count – Number of similar apps
lang – Language code
country – Country code
- similar_print_all(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print all similar apps as JSON.
- Parameters:
app_id – Google Play app ID
count – Number of similar apps
lang – Language code
country – Country code
- list_analyze(collection: str = 'TOP_FREE', category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get top charts (top free, top paid, top grossing).
- Parameters:
collection – Collection type (TOP_FREE, TOP_PAID, TOP_GROSSING)
category – App category
count – Number of apps to return
lang – Language code
country – Country code
- Returns:
List of app dictionaries from top charts
- list_get_field(collection: str, field: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from top charts.
- Parameters:
collection – Collection type
field – Field name to retrieve
category – App category
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of field values
- list_get_fields(collection: str, fields: List[str], category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from top charts.
- Parameters:
collection – Collection type
fields – List of field names
category – App category
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- list_print_field(collection: str, field: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from top charts.
- Parameters:
collection – Collection type
field – Field name to print
category – App category
count – Number of apps
lang – Language code
country – Country code
- list_print_fields(collection: str, fields: List[str], category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from top charts.
- Parameters:
collection – Collection type
fields – List of field names
category – App category
count – Number of apps
lang – Language code
country – Country code
- list_print_all(collection: str = 'TOP_FREE', category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print all top charts as JSON.
- Parameters:
collection – Collection type
category – App category
count – Number of apps
lang – Language code
country – Country code
- suggest_analyze(term: str, count: int = 5, lang: str = 'en', country: str = 'us') List[str] [source]
Get search suggestions for a term.
- Parameters:
term – Search term
count – Number of suggestions to return
lang – Language code
country – Country code
- Returns:
List of suggestion strings
- suggest_nested(term: str, count: int = 5, lang: str = 'en', country: str = 'us') Dict[str, List[str]] [source]
Get nested suggestions (suggestions for suggestions).
- Parameters:
term – Search term
count – Number of suggestions
lang – Language code
country – Country code
- Returns:
Dictionary mapping terms to their suggestions
Configuration
- class gplay_scraper.Config[source]
Bases:
object
Configuration class containing all settings and constants.
- DEFAULT_TIMEOUT = 30
- RATE_LIMIT_DELAY = 1.0
- USER_AGENTS = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15']
- PLAY_STORE_BASE_URL = 'https://play.google.com'
- APP_DETAILS_ENDPOINT = '/store/apps/details'
- BATCHEXECUTE_ENDPOINT = '/_/PlayStoreUi/data/batchexecute'
- DEVELOPER_NUMERIC_ENDPOINT = '/store/apps/dev'
- DEVELOPER_STRING_ENDPOINT = '/store/apps/developer'
- DEFAULT_LANGUAGE = 'en'
- DEFAULT_COUNTRY = 'us'
- DEFAULT_REVIEWS_SORT = 'NEWEST'
- DEFAULT_HTTP_CLIENT = 'requests'
- DEFAULT_LIST_COLLECTION = 'TOP_FREE'
- DEFAULT_LIST_CATEGORY = 'APPLICATION'
- DEFAULT_LIST_COUNT = 100
- DEFAULT_REVIEWS_COUNT = 100
- DEFAULT_REVIEWS_BATCH_SIZE = 50
- DEFAULT_SUGGEST_COUNT = 5
- DEFAULT_SIMILAR_COUNT = 100
- DEFAULT_DEVELOPER_COUNT = 100
- DEFAULT_SEARCH_COUNT = 100
- ERROR_MESSAGES = {'APP_FETCH_FAILED': 'Failed to fetch app page for {app_id}: {error}', 'APP_NOT_FOUND': 'App not found: {app_id}', 'CLIENT_FAILED_TRYING_NEXT': '{client_type} failed, trying next client: {error}', 'CLUSTER_FETCH_FAILED': 'Failed to fetch cluster page: {error}', 'CLUSTER_NOT_FOUND': 'Cluster not found: {cluster_url}', 'DEVELOPER_FETCH_FAILED': 'Failed to fetch developer page for {dev_id}: {error}', 'DEVELOPER_NOT_FOUND': 'Developer not found: {dev_id}', 'DS3_JSON_PARSE_FAILED': 'Failed to parse JSON: {error}', 'DS3_NOT_FOUND': 'Could not find data', 'DS5_NOT_FOUND': 'Could not find data', 'HTTP_CLIENT_NOT_AVAILABLE': '{client} not available', 'HTTP_ERROR': 'HTTP {status_code} Error', 'INVALID_APP_ID': 'app_id must be a non-empty string', 'INVALID_DEV_ID': 'dev_id must be a non-empty string', 'INVALID_QUERY': 'query must be a non-empty string', 'JSON_PARSE_FAILED': 'Failed to parse JSON: {error}', 'LIST_FETCH_FAILED': 'Failed to fetch list page: {error}', 'LIST_NOT_FOUND': 'List not found: {collection}/{category}', 'NO_DS3_DATA': 'No data found in dataset', 'NO_DS5_DATA': 'No data found in dataset', 'NO_HTTP_CLIENT': 'No HTTP client libraries found', 'RATE_LIMIT_SLEEP': 'Rate limiting: sleeping for {sleep_time:.2f} seconds', 'REVIEWS_FETCH_FAILED': 'Failed to fetch reviews batch for {app_id}: {error}', 'REVIEWS_NOT_FOUND': 'Reviews not found for app: {app_id}', 'REVIEWS_SCRAPE_FAILED': 'Failed to scrape reviews for {app_id}: {error}', 'SEARCH_FETCH_FAILED': "Failed to fetch search results for '{query}': {error}", 'SEARCH_NOT_FOUND': 'Search not found: {query}', 'SEARCH_PAGINATION_FAILED': 'Failed to fetch paginated search results: {error}', 'SUGGEST_FETCH_FAILED': "Failed to fetch suggestions for '{term}': {error}", 'SUGGEST_NOT_FOUND': 'Suggestions not found for: {term}', 'UNKNOWN_CLIENT_TYPE': 'Unknown client type: {client_type}'}
Exceptions
Custom exceptions for GPlay Scraper.
This module defines all custom exceptions used throughout the library.
- exception gplay_scraper.exceptions.GPlayScraperError[source]
Bases:
Exception
Base exception for all GPlay Scraper errors.
- exception gplay_scraper.exceptions.InvalidAppIdError[source]
Bases:
GPlayScraperError
Raised when an invalid app ID, dev ID, or query is provided.
- exception gplay_scraper.exceptions.AppNotFoundError[source]
Bases:
GPlayScraperError
Raised when an app, developer, or resource is not found (404 error).
- exception gplay_scraper.exceptions.RateLimitError[source]
Bases:
GPlayScraperError
Raised when rate limiting is triggered by Google Play Store.
- exception gplay_scraper.exceptions.NetworkError[source]
Bases:
GPlayScraperError
Raised when network requests fail.
- exception gplay_scraper.exceptions.DataParsingError[source]
Bases:
GPlayScraperError
Raised when parsing JSON or HTML data fails.
Core Method Classes
AppMethods
- class gplay_scraper.core.gplay_methods.AppMethods(http_client: str = None)[source]
Bases:
object
Methods for extracting app details with 65+ fields.
- __init__(http_client: str = None)[source]
Initialize AppMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- app_analyze(app_id: str, lang: str = 'en', country: str = 'us') Dict [source]
Get complete app data with all 65+ fields.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
Dictionary with all app data
- Raises:
InvalidAppIdError – If app_id is invalid
- app_get_field(app_id: str, field: str, lang: str = 'en', country: str = 'us') Any [source]
Get single field value from app data.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
lang – Language code
country – Country code
- Returns:
Value of the requested field
- app_get_fields(app_id: str, fields: List[str], lang: str = 'en', country: str = 'us') Dict[str, Any] [source]
Get multiple field values from app data.
- Parameters:
app_id – Google Play app ID
fields – List of field names to retrieve
lang – Language code
country – Country code
- Returns:
Dictionary with requested fields and values
- app_print_field(app_id: str, field: str, lang: str = 'en', country: str = 'us') None [source]
Print single field value to console.
- Parameters:
app_id – Google Play app ID
field – Field name to print
lang – Language code
country – Country code
SearchMethods
- class gplay_scraper.core.gplay_methods.SearchMethods(http_client: str = None)[source]
Bases:
object
Methods for searching apps by keyword.
- __init__(http_client: str = None)[source]
Initialize SearchMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- search_analyze(query: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Search for apps and get complete results with pagination support.
- Parameters:
query – Search query string
count – Number of results to return
lang – Language code
country – Country code
- Returns:
List of dictionaries containing app data
- Raises:
InvalidAppIdError – If query is invalid
- search_get_field(query: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from all search results.
- Parameters:
query – Search query string
field – Field name to retrieve
count – Number of results
lang – Language code
country – Country code
- Returns:
List of field values from all results
- search_get_fields(query: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from all search results.
- Parameters:
query – Search query string
fields – List of field names to retrieve
count – Number of results
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- search_print_field(query: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from all search results.
- Parameters:
query – Search query string
field – Field name to print
count – Number of results
lang – Language code
country – Country code
- search_print_fields(query: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from all search results.
- Parameters:
query – Search query string
fields – List of field names to print
count – Number of results
lang – Language code
country – Country code
ReviewsMethods
- class gplay_scraper.core.gplay_methods.ReviewsMethods(http_client: str = None)[source]
Bases:
object
Methods for extracting user reviews and ratings.
- __init__(http_client: str = None)[source]
Initialize ReviewsMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- reviews_analyze(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Dict] [source]
Get user reviews for an app.
- Parameters:
app_id – Google Play app ID
count – Number of reviews to fetch
lang – Language code
country – Country code
sort – Sort order (NEWEST, RELEVANT, RATING)
- Returns:
List of review dictionaries
- Raises:
InvalidAppIdError – If app_id is invalid
- reviews_get_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Any] [source]
Get single field from all reviews.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- Returns:
List of field values from all reviews
- reviews_get_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') List[Dict[str, Any]] [source]
Get multiple fields from all reviews.
- Parameters:
app_id – Google Play app ID
fields – List of field names to retrieve
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- Returns:
List of dictionaries with requested fields
- reviews_print_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') None [source]
Print single field from all reviews.
- Parameters:
app_id – Google Play app ID
field – Field name to print
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
- reviews_print_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us', sort: str = 'NEWEST') None [source]
Print multiple fields from all reviews.
- Parameters:
app_id – Google Play app ID
fields – List of field names to print
count – Number of reviews
lang – Language code
country – Country code
sort – Sort order
DeveloperMethods
- class gplay_scraper.core.gplay_methods.DeveloperMethods(http_client: str = None)[source]
Bases:
object
Methods for getting all apps from a developer.
- __init__(http_client: str = None)[source]
Initialize DeveloperMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- developer_analyze(dev_id: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get all apps from a developer.
- Parameters:
dev_id – Developer ID (numeric or string)
count – Number of apps to return
lang – Language code
country – Country code
- Returns:
List of app dictionaries
- Raises:
InvalidAppIdError – If dev_id is invalid
- developer_get_field(dev_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from all developer apps.
- Parameters:
dev_id – Developer ID
field – Field name to retrieve
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of field values from all apps
- developer_get_fields(dev_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from all developer apps.
- Parameters:
dev_id – Developer ID
fields – List of field names to retrieve
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- developer_print_field(dev_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from all developer apps.
- Parameters:
dev_id – Developer ID
field – Field name to print
count – Number of apps
lang – Language code
country – Country code
- developer_print_fields(dev_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from all developer apps.
- Parameters:
dev_id – Developer ID
fields – List of field names to print
count – Number of apps
lang – Language code
country – Country code
SimilarMethods
- class gplay_scraper.core.gplay_methods.SimilarMethods(http_client: str = None)[source]
Bases:
object
Methods for finding similar/competitor apps.
- __init__(http_client: str = None)[source]
Initialize SimilarMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- similar_analyze(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get similar/competitor apps.
- Parameters:
app_id – Google Play app ID
count – Number of similar apps to return
lang – Language code
country – Country code
- Returns:
List of similar app dictionaries
- Raises:
InvalidAppIdError – If app_id is invalid
- similar_get_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from all similar apps.
- Parameters:
app_id – Google Play app ID
field – Field name to retrieve
count – Number of similar apps
lang – Language code
country – Country code
- Returns:
List of field values from all similar apps
- similar_get_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from all similar apps.
- Parameters:
app_id – Google Play app ID
fields – List of field names to retrieve
count – Number of similar apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- similar_print_field(app_id: str, field: str, count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from all similar apps.
- Parameters:
app_id – Google Play app ID
field – Field name to print
count – Number of similar apps
lang – Language code
country – Country code
- similar_print_fields(app_id: str, fields: List[str], count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from all similar apps.
- Parameters:
app_id – Google Play app ID
fields – List of field names to print
count – Number of similar apps
lang – Language code
country – Country code
ListMethods
- class gplay_scraper.core.gplay_methods.ListMethods(http_client: str = None)[source]
Bases:
object
Methods for getting top charts (free, paid, grossing).
- __init__(http_client: str = None)[source]
Initialize ListMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- list_analyze(collection: str = 'TOP_FREE', category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Dict] [source]
Get top charts (top free, top paid, top grossing).
- Parameters:
collection – Collection type (TOP_FREE, TOP_PAID, TOP_GROSSING)
category – App category
count – Number of apps to return
lang – Language code
country – Country code
- Returns:
List of app dictionaries from top charts
- list_get_field(collection: str, field: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Any] [source]
Get single field from all list apps.
- Parameters:
collection – Collection type
field – Field name to retrieve
category – App category
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of field values from all apps
- list_get_fields(collection: str, fields: List[str], category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') List[Dict[str, Any]] [source]
Get multiple fields from all list apps.
- Parameters:
collection – Collection type
fields – List of field names to retrieve
category – App category
count – Number of apps
lang – Language code
country – Country code
- Returns:
List of dictionaries with requested fields
- list_print_field(collection: str, field: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print single field from all list apps.
- Parameters:
collection – Collection type
field – Field name to print
category – App category
count – Number of apps
lang – Language code
country – Country code
- list_print_fields(collection: str, fields: List[str], category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print multiple fields from all list apps.
- Parameters:
collection – Collection type
fields – List of field names to print
category – App category
count – Number of apps
lang – Language code
country – Country code
- list_print_all(collection: str = 'TOP_FREE', category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') None [source]
Print all list apps as JSON.
- Parameters:
collection – Collection type
category – App category
count – Number of apps
lang – Language code
country – Country code
SuggestMethods
- class gplay_scraper.core.gplay_methods.SuggestMethods(http_client: str = None)[source]
Bases:
object
Methods for getting search suggestions and autocomplete.
- __init__(http_client: str = None)[source]
Initialize SuggestMethods with scraper and parser.
- Parameters:
http_client – Optional HTTP client name
- suggest_analyze(term: str, count: int = 5, lang: str = 'en', country: str = 'us') List[str] [source]
Get search suggestions for a term.
- Parameters:
term – Search term
count – Number of suggestions to return
lang – Language code
country – Country code
- Returns:
List of suggestion strings
- Raises:
InvalidAppIdError – If term is invalid
- suggest_nested(term: str, count: int = 5, lang: str = 'en', country: str = 'us') Dict[str, List[str]] [source]
Get nested suggestions (suggestions for suggestions).
- Parameters:
term – Search term
count – Number of suggestions per level
lang – Language code
country – Country code
- Returns:
Dictionary mapping suggestions to their nested suggestions
- Raises:
InvalidAppIdError – If term is invalid
Core Scraper Classes
- class gplay_scraper.core.gplay_scraper.AppScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching app details from Google Play Store.
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize AppScraper with HTTP client.
- Parameters:
rate_limit_delay – Delay between requests
http_client – HTTP client name
- fetch_playstore_page(app_id: str, lang: str = 'en', country: str = 'us') str [source]
Fetch app page HTML from Google Play Store.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
HTML content of app page
- scrape_play_store_data(app_id: str, lang: str = 'en', country: str = 'us') Dict [source]
Extract dataset from app page HTML.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
5 dataset
- Return type:
Dictionary containing ds
- Raises:
DataParsingError – If dataset not found
- class gplay_scraper.core.gplay_scraper.SearchScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching search results from Google Play Store.
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize SearchScraper with HTTP client.
- fetch_playstore_search(query: str, count: int, lang: str = 'en', country: str = 'us') str [source]
Fetch search page HTML from Google Play Store.
- Parameters:
query – Search query string
count – Number of results needed
lang – Language code
country – Country code
- Returns:
HTML content of search page
- Raises:
InvalidAppIdError – If query is invalid
- scrape_play_store_data(query: str, count: int = 100, lang: str = 'en', country: str = 'us') Dict [source]
Scrape search results with automatic pagination support.
- Parameters:
query – Search query string
count – Total number of results to fetch
lang – Language code
country – Country code
- Returns:
Dictionary containing all search results
- Raises:
DataParsingError – If parsing fails
- class gplay_scraper.core.gplay_scraper.ReviewsScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching user reviews from Google Play Store.
- SORT_NAMES = {'NEWEST': 2, 'RATING': 3, 'RELEVANT': 1}
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize ReviewsScraper with HTTP client.
- fetch_reviews_batch(app_id: str, lang: str = 'en', country: str = 'us', sort: int = 'NEWEST', batch_count: int = 50, token: str = None) str [source]
Fetch single batch of reviews from API.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
sort – Sort order (NEWEST, RELEVANT, RATING)
batch_count – Number of reviews per batch
token – Pagination token for next batch
- Returns:
Raw API response content
- scrape_reviews_data(app_id: str, count: int = 100, lang: str = 'en', country: str = 'us', sort: int = 'NEWEST') Dict [source]
Scrape multiple batches of reviews.
- Parameters:
app_id – Google Play app ID
count – Total number of reviews to fetch
lang – Language code
country – Country code
sort – Sort order
- Returns:
Dictionary containing all review responses
- class gplay_scraper.core.gplay_scraper.DeveloperScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching developer portfolio from Google Play Store.
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize DeveloperScraper with HTTP client.
- fetch_developer_page(dev_id: str, lang: str = 'en', country: str = 'us') str [source]
Fetch developer page HTML from Google Play Store.
- Parameters:
dev_id – Developer ID (numeric or string)
lang – Language code
country – Country code
- Returns:
HTML content of developer page
- scrape_play_store_data(dev_id: str, lang: str = 'en', country: str = 'us') Dict [source]
Extract dataset from developer page HTML.
- Parameters:
dev_id – Developer ID
lang – Language code
country – Country code
- Returns:
3 dataset and dev_id
- Return type:
Dictionary containing ds
- Raises:
DataParsingError – If dataset not found
- class gplay_scraper.core.gplay_scraper.SimilarScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching similar apps from Google Play Store.
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize SimilarScraper with HTTP client.
- fetch_similar_page(app_id: str, lang: str = 'en', country: str = 'us') str [source]
Fetch app page HTML to extract similar apps cluster URL.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
HTML content of app page
- scrape_play_store_data(app_id: str, lang: str = 'en', country: str = 'us') Dict [source]
Extract similar apps dataset from cluster page.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
3 dataset
- Return type:
Dictionary containing ds
- Raises:
DataParsingError – If dataset not found
- class gplay_scraper.core.gplay_scraper.ListScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching top charts from Google Play Store.
- CLUSTER_NAMES = {'TOP_FREE': 'topselling_free', 'TOP_GROSSING': 'topgrossing', 'TOP_PAID': 'topselling_paid'}
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize ListScraper with HTTP client.
- scrape_play_store_data(collection: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') Dict [source]
Scrape top charts data from Google Play Store.
- Parameters:
collection – Collection type (TOP_FREE, TOP_PAID, TOP_GROSSING)
category – App category (e.g., GAME, SOCIAL)
count – Number of apps to fetch
lang – Language code
country – Country code
- Returns:
Dictionary containing collection data
- Raises:
DataParsingError – If JSON parsing fails
- class gplay_scraper.core.gplay_scraper.SuggestScraper(rate_limit_delay: float = None, http_client: str = None)[source]
Bases:
object
Scraper for fetching search suggestions from Google Play Store.
- __init__(rate_limit_delay: float = None, http_client: str = None)[source]
Initialize SuggestScraper with HTTP client.
- scrape_suggestions(term: str, lang: str = 'en', country: str = 'us') Dict [source]
Scrape search suggestions from Google Play Store.
- Parameters:
term – Search term for suggestions
lang – Language code
country – Country code
- Returns:
Dictionary containing list of suggestions
- Raises:
DataParsingError – If JSON parsing fails
Core Parser Classes
Parser classes for extracting and formatting data from raw responses.
This module contains 7 parser classes that handle JSON/HTML parsing and data formatting for all scraping methods.
- class gplay_scraper.core.gplay_parser.AppParser[source]
Bases:
object
Parser for extracting and formatting app data.
- class gplay_scraper.core.gplay_parser.SearchParser[source]
Bases:
object
Parser for extracting and formatting search results.
- parse_search_results(dataset: Dict, count: int) List[Dict] [source]
Parse search results from dataset.
- Parameters:
dataset – Raw dataset from scraper
count – Maximum number of results to parse
- Returns:
List of parsed search result dictionaries
- extract_search_result(data) Dict [source]
Extract single search result from raw data.
- Parameters:
data – Raw search result data
- Returns:
Dictionary with extracted search result or None if extraction fails
- format_search_result(result: dict) dict [source]
Format parsed search result into final structure.
- Parameters:
result – Parsed search result
- Returns:
Formatted dictionary with search result fields
- extract_pagination_token(dataset: Dict) str [source]
Extract pagination token from search dataset.
- Parameters:
dataset – Search dataset
- Returns:
Pagination token or None
- parse_html_content(html_content: str) Dict [source]
Extract datasets from search page HTML.
- Parameters:
html_content – HTML content of search page
- Returns:
Dictionary containing all datasets
- Raises:
DataParsingError – If no datasets found
- class gplay_scraper.core.gplay_parser.ReviewsParser[source]
Bases:
object
Parser for extracting and formatting user reviews.
- parse_reviews_response(content: str) Tuple[List[Dict], str | None] [source]
Parse reviews from API response content.
- Parameters:
content – Raw API response content
- Returns:
Tuple of (list of review dictionaries, next page token)
- extract_review_data(review_raw) Dict | None [source]
Extract single review from raw data.
- Parameters:
review_raw – Raw review data array
- Returns:
Dictionary with extracted review data or None if extraction fails
- class gplay_scraper.core.gplay_parser.DeveloperParser[source]
Bases:
object
Parser for extracting and formatting developer apps.
- class gplay_scraper.core.gplay_parser.SimilarParser[source]
Bases:
object
Parser for extracting and formatting similar apps.
- class gplay_scraper.core.gplay_parser.ListParser[source]
Bases:
object
Parser for extracting and formatting top chart apps.
HTTP Client
- class gplay_scraper.utils.http_client.HttpClient(rate_limit_delay: float = None, client_type: str = None)[source]
Bases:
object
HTTP client with automatic fallback support for 7 libraries.
- __init__(rate_limit_delay: float = None, client_type: str = None)[source]
Initialize HTTP client with specified or default client type.
- Parameters:
rate_limit_delay – Delay between requests in seconds
client_type – HTTP client to use (requests, curl_cffi, tls_client, etc.)
- fetch_app_page(app_id: str, lang: str = 'en', country: str = 'us') str [source]
Fetch app details page from Google Play Store.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
- Returns:
HTML content of app page
- Raises:
AppNotFoundError – If app not found
NetworkError – If request fails
- fetch_search_page(query: str = None, token: str = None, needed: int = None, lang: str = 'en', country: str = 'us') str [source]
Fetch search results from Google Play Store (initial or paginated).
- Parameters:
query – Search query string (for initial search)
token – Pagination token (for paginated search)
needed – Number of results needed (for pagination)
lang – Language code
country – Country code
- Returns:
HTML content (initial) or raw API response (pagination)
- Raises:
AppNotFoundError – If search fails
NetworkError – If request fails
- fetch_reviews_batch(app_id: str, lang: str = 'en', country: str = 'us', sort: int = 'NEWEST', batch_count: int = 50, token: str = None) str [source]
Fetch single batch of reviews from Google Play Store API.
- Parameters:
app_id – Google Play app ID
lang – Language code
country – Country code
sort – Sort order (1=RELEVANT, 2=NEWEST, 3=RATING)
batch_count – Number of reviews per batch
token – Pagination token for next batch
- Returns:
Raw API response text
- Raises:
AppNotFoundError – If reviews not found
NetworkError – If request fails
- fetch_developer_page(dev_id: str, lang: str = 'en', country: str = 'us') str [source]
Fetch developer portfolio page from Google Play Store.
- Parameters:
dev_id – Developer ID (numeric or string)
lang – Language code
country – Country code
- Returns:
HTML content of developer page
- Raises:
AppNotFoundError – If developer not found
NetworkError – If request fails
- fetch_cluster_page(cluster_url: str, lang: str = 'en', country: str = 'us') str [source]
Fetch cluster page (similar apps collection) from Google Play Store.
- Parameters:
cluster_url – Cluster URL path
lang – Language code
country – Country code
- Returns:
HTML content of cluster page
- Raises:
AppNotFoundError – If cluster not found
NetworkError – If request fails
- fetch_list_page(collection: str, category: str = 'APPLICATION', count: int = 100, lang: str = 'en', country: str = 'us') str [source]
Fetch top charts list page from Google Play Store.
- Parameters:
collection – Collection type (topselling_free, topselling_paid, topgrossing)
category – App category
count – Number of apps to fetch
lang – Language code
country – Country code
- Returns:
Raw API response text
- Raises:
AppNotFoundError – If list not found
NetworkError – If request fails
- fetch_suggest_page(term: str, lang: str = 'en', country: str = 'us') str [source]
Fetch search suggestions from Google Play Store.
- Parameters:
term – Search term for suggestions
lang – Language code
country – Country code
- Returns:
Raw API response text
- Raises:
AppNotFoundError – If suggestions not found
NetworkError – If request fails
Utility Functions
Helper functions for data processing and manipulation.
This module contains utility functions for: - Text unescaping and cleaning - JSON string cleaning - Date parsing and calculations - Install metrics calculations
- gplay_scraper.utils.helpers.unescape_text(s: str | None) str | None [source]
Unescape HTML entities and remove HTML tags from text.
- Parameters:
s – Input string with HTML
- Returns:
Cleaned text without HTML tags
- gplay_scraper.utils.helpers.clean_json_string(json_str: str) str [source]
Clean malformed JSON string from Google Play Store.
- Parameters:
json_str – Raw JSON string
- Returns:
Cleaned JSON string
- gplay_scraper.utils.helpers.alternative_json_clean(json_str: str) str [source]
Alternative JSON cleaning method using bracket matching.
- Parameters:
json_str – Raw JSON string
- Returns:
Cleaned JSON string
- gplay_scraper.utils.helpers.parse_release_date(release_date_str: str | None) datetime | None [source]
Parse release date string to datetime object.
- Parameters:
release_date_str – Date string in format ‘Mon DD, YYYY’
- Returns:
Datetime object or None if parsing fails
- gplay_scraper.utils.helpers.calculate_app_age(release_date_str: str | None, current_date: datetime) int | None [source]
Calculate app age in days since release.
- Parameters:
release_date_str – Release date string
current_date – Current date for calculation
- Returns:
Number of days since release or None
- gplay_scraper.utils.helpers.parse_installs_string(installs_str: str) int | None [source]
Parse install count string to integer.
- Parameters:
installs_str – Install count string (e.g., ‘1,000,000+’)
- Returns:
Integer install count or None
- gplay_scraper.utils.helpers.calculate_daily_installs(install_count, release_date_str: str | None, current_date: datetime) int | None [source]
Calculate average daily installs since release.
- Parameters:
install_count – Total install count
release_date_str – Release date string
current_date – Current date for calculation
- Returns:
Average daily installs or None
- gplay_scraper.utils.helpers.calculate_monthly_installs(install_count, release_date_str: str | None, current_date: datetime) int | None [source]
Calculate average monthly installs since release.
- Parameters:
install_count – Total install count
release_date_str – Release date string
current_date – Current date for calculation
- Returns:
Average monthly installs or None
Element Specifications
Element specifications for data extraction from Google Play Store.
This module defines ElementSpec class and ElementSpecs for all 7 method types. Each spec defines how to extract specific fields from raw JSON data.
- gplay_scraper.models.element_specs.nested_lookup(obj: Any, key_list: List[int]) Any [source]
Safely navigate nested dictionary/list structure.
- Parameters:
obj – Object to navigate
key_list – List of keys/indices to follow
- Returns:
Value at the nested location or None
- class gplay_scraper.models.element_specs.ElementSpec(ds_num: int | None, data_map: List[int], post_processor: Callable = None, fallback_value: Any = None)[source]
Bases:
object
Specification for extracting a single field from raw data.
- ds_num
Dataset number (not used, kept for compatibility)
- data_map
List of keys/indices to navigate to the field
- post_processor
Optional function to process extracted value
- fallback_value
Value to return if extraction fails
- class gplay_scraper.models.element_specs.ElementSpecs[source]
Bases:
object
Collection of element specifications for all method types.
Contains specs for: - App: 65+ fields for app details - Search: Fields for search results - Review: Fields for user reviews - Developer: Fields for developer apps - Similar: Fields for similar apps - List: Fields for top chart apps
- App = {'adSupported': <gplay_scraper.models.element_specs.ElementSpec object>, 'androidVersion': <gplay_scraper.models.element_specs.ElementSpec object>, 'appBundle': <gplay_scraper.models.element_specs.ElementSpec object>, 'appId': <gplay_scraper.models.element_specs.ElementSpec object>, 'available': <gplay_scraper.models.element_specs.ElementSpec object>, 'categories': <gplay_scraper.models.element_specs.ElementSpec object>, 'containsAds': <gplay_scraper.models.element_specs.ElementSpec object>, 'contentRating': <gplay_scraper.models.element_specs.ElementSpec object>, 'contentRatingDescription': <gplay_scraper.models.element_specs.ElementSpec object>, 'currency': <gplay_scraper.models.element_specs.ElementSpec object>, 'dataSafety': <gplay_scraper.models.element_specs.ElementSpec object>, 'description': <gplay_scraper.models.element_specs.ElementSpec object>, 'developer': <gplay_scraper.models.element_specs.ElementSpec object>, 'developerAddress': <gplay_scraper.models.element_specs.ElementSpec object>, 'developerEmail': <gplay_scraper.models.element_specs.ElementSpec object>, 'developerId': <gplay_scraper.models.element_specs.ElementSpec object>, 'developerPhone': <gplay_scraper.models.element_specs.ElementSpec object>, 'developerWebsite': <gplay_scraper.models.element_specs.ElementSpec object>, 'free': <gplay_scraper.models.element_specs.ElementSpec object>, 'genre': <gplay_scraper.models.element_specs.ElementSpec object>, 'genreId': <gplay_scraper.models.element_specs.ElementSpec object>, 'headerImage': <gplay_scraper.models.element_specs.ElementSpec object>, 'histogram': <gplay_scraper.models.element_specs.ElementSpec object>, 'icon': <gplay_scraper.models.element_specs.ElementSpec object>, 'inAppProductPrice': <gplay_scraper.models.element_specs.ElementSpec object>, 'installs': <gplay_scraper.models.element_specs.ElementSpec object>, 'lastUpdatedOn': <gplay_scraper.models.element_specs.ElementSpec object>, 'maxandroidapi': <gplay_scraper.models.element_specs.ElementSpec object>, 'minInstalls': <gplay_scraper.models.element_specs.ElementSpec object>, 'minandroidapi': <gplay_scraper.models.element_specs.ElementSpec object>, 'offersIAP': <gplay_scraper.models.element_specs.ElementSpec object>, 'originalPrice': <gplay_scraper.models.element_specs.ElementSpec object>, 'permissions': <gplay_scraper.models.element_specs.ElementSpec object>, 'price': <gplay_scraper.models.element_specs.ElementSpec object>, 'privacyPolicy': <gplay_scraper.models.element_specs.ElementSpec object>, 'ratings': <gplay_scraper.models.element_specs.ElementSpec object>, 'realInstalls': <gplay_scraper.models.element_specs.ElementSpec object>, 'released': <gplay_scraper.models.element_specs.ElementSpec object>, 'reviews': <gplay_scraper.models.element_specs.ElementSpec object>, 'sale': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'screenshots': <gplay_scraper.models.element_specs.ElementSpec object>, 'summary': <gplay_scraper.models.element_specs.ElementSpec object>, 'title': <gplay_scraper.models.element_specs.ElementSpec object>, 'updated': <gplay_scraper.models.element_specs.ElementSpec object>, 'url': <gplay_scraper.models.element_specs.ElementSpec object>, 'version': <gplay_scraper.models.element_specs.ElementSpec object>, 'video': <gplay_scraper.models.element_specs.ElementSpec object>, 'videoImage': <gplay_scraper.models.element_specs.ElementSpec object>, 'whatsNew': <gplay_scraper.models.element_specs.ElementSpec object>}
- Search = {'appId': <gplay_scraper.models.element_specs.ElementSpec object>, 'currency': <gplay_scraper.models.element_specs.ElementSpec object>, 'developer': <gplay_scraper.models.element_specs.ElementSpec object>, 'free': <gplay_scraper.models.element_specs.ElementSpec object>, 'icon': <gplay_scraper.models.element_specs.ElementSpec object>, 'price': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'scoreText': <gplay_scraper.models.element_specs.ElementSpec object>, 'summary': <gplay_scraper.models.element_specs.ElementSpec object>, 'title': <gplay_scraper.models.element_specs.ElementSpec object>, 'url': <gplay_scraper.models.element_specs.ElementSpec object>}
- Review = {'appVersion': <gplay_scraper.models.element_specs.ElementSpec object>, 'at': <gplay_scraper.models.element_specs.ElementSpec object>, 'content': <gplay_scraper.models.element_specs.ElementSpec object>, 'reviewId': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'thumbsUpCount': <gplay_scraper.models.element_specs.ElementSpec object>, 'userImage': <gplay_scraper.models.element_specs.ElementSpec object>, 'userName': <gplay_scraper.models.element_specs.ElementSpec object>}
- Developer = {'appId': <gplay_scraper.models.element_specs.ElementSpec object>, 'currency': <gplay_scraper.models.element_specs.ElementSpec object>, 'description': <gplay_scraper.models.element_specs.ElementSpec object>, 'developer': <gplay_scraper.models.element_specs.ElementSpec object>, 'free': <gplay_scraper.models.element_specs.ElementSpec object>, 'icon': <gplay_scraper.models.element_specs.ElementSpec object>, 'price': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'scoreText': <gplay_scraper.models.element_specs.ElementSpec object>, 'title': <gplay_scraper.models.element_specs.ElementSpec object>, 'url': <gplay_scraper.models.element_specs.ElementSpec object>}
- Similar = {'appId': <gplay_scraper.models.element_specs.ElementSpec object>, 'currency': <gplay_scraper.models.element_specs.ElementSpec object>, 'description': <gplay_scraper.models.element_specs.ElementSpec object>, 'developer': <gplay_scraper.models.element_specs.ElementSpec object>, 'free': <gplay_scraper.models.element_specs.ElementSpec object>, 'icon': <gplay_scraper.models.element_specs.ElementSpec object>, 'price': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'scoreText': <gplay_scraper.models.element_specs.ElementSpec object>, 'title': <gplay_scraper.models.element_specs.ElementSpec object>, 'url': <gplay_scraper.models.element_specs.ElementSpec object>}
- List = {'appId': <gplay_scraper.models.element_specs.ElementSpec object>, 'currency': <gplay_scraper.models.element_specs.ElementSpec object>, 'description': <gplay_scraper.models.element_specs.ElementSpec object>, 'developer': <gplay_scraper.models.element_specs.ElementSpec object>, 'free': <gplay_scraper.models.element_specs.ElementSpec object>, 'genre': <gplay_scraper.models.element_specs.ElementSpec object>, 'icon': <gplay_scraper.models.element_specs.ElementSpec object>, 'installs': <gplay_scraper.models.element_specs.ElementSpec object>, 'price': <gplay_scraper.models.element_specs.ElementSpec object>, 'score': <gplay_scraper.models.element_specs.ElementSpec object>, 'scoreText': <gplay_scraper.models.element_specs.ElementSpec object>, 'screenshots': <gplay_scraper.models.element_specs.ElementSpec object>, 'title': <gplay_scraper.models.element_specs.ElementSpec object>, 'url': <gplay_scraper.models.element_specs.ElementSpec object>}