Huawei AppGallery Scraper - App Data, Ratings & Reviews
Pricing
from $6.15 / 1,000 results
Huawei AppGallery Scraper - App Data, Ratings & Reviews
Huawei AppGallery scraper and app data API, no API key. Search or look up apps by ID, URL or Android package name and export name, developer, ratings, reviews, downloads, size, version, screenshots, permissions and privacy data across 10 locales. For ASO and app market research. JSON, CSV, Excel.
Pricing
from $6.15 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Huawei AppGallery Scraper - App Data, Ratings & Reviews
The most complete Huawei AppGallery scraper and app data API on Apify. Extract structured app metadata, ratings, reviews, downloads, screenshots, permissions and privacy signals from appgallery.huawei.com by keyword search, app ID, app URL or Android package name, across 10 store locales. No API key, no login, no browser extension. Export to JSON, CSV or Excel and use it for ASO (app store optimization), app market research, competitor tracking and mobile app intelligence.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this Huawei AppGallery scraper
- How we compare
- Quickstart
- Input reference
- Output reference
- Example output record
- Use cases
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
This actor scrapes the Huawei AppGallery store and writes one normalized record per app to the run's dataset. Find apps four ways:
- Search by keyword (for example
vpn,photo editor,game). - App IDs (paste bare IDs like
C101184875or full AppGallery URLs, the ID is extracted for you). - Android package names (for example
org.telegram.messenger), resolved to the matching AppGallery app. - Any of the above across 10 store locales that control region availability and the language of titles and descriptions.
With full details enabled, each app detail page is fetched for the complete description, screenshots, developer, exact size and version, permissions, rating histogram and user reviews. Missing source values are returned as null, never invented. Optional paid AI add-ons can write a concise summary, classify the app category and tags, and analyze aggregate review sentiment and themes.
Data covers apps on Huawei AppGallery in the locale you choose. This is an independent tool with no affiliation with Huawei.
Why this Huawei AppGallery scraper
- Every field the store exposes. Name, developer, package, ratings, rating histogram, written reviews, downloads, price and monetization label, size, version and version code, target SDK, release date, content rating, minimum age, permissions, privacy policy URL, safety badges, screenshots and full description.
- Four ways in. Keyword search, app ID, app URL and Android package name in one actor.
- 10 locales. English (US and UK), Spanish (Spain and Latin America), Portuguese (Brazil), Chinese, Russian, German, French and Italian.
- Clean, honest data. Every field is mapped to the source or set to
null. No fabricated values. - No API key, no login, no browser needed. Pure HTTP, fast and inexpensive.
- Pay per result with a spend cap you control, and no charge on failure.
How we compare
Compared with the other Huawei AppGallery option on Apify, and with the field bar set by mature Google Play and App Store scrapers:
| Capability | This actor | parseforge/huawei-app-gallery-scraper |
|---|---|---|
| Keyword search | Yes | Yes |
| App ID lookup | Yes (ID or full URL) | Yes (ID) |
| Android package name lookup | Yes | Yes |
| Store locales | 10 | locale + 4 regions |
| Ratings + rating histogram | Yes | Ratings only |
| User reviews | Yes | Not documented |
| Permissions (grouped, described) | Yes | Not documented |
| Screenshots | Yes | Not documented |
| Privacy policy URL + safety badges | Yes | Not documented |
| Version code + target SDK | Yes | Not documented |
| Monetization label (Free / In-app purchases / Paid) | Yes | Not documented |
| Optional AI summary, tags and review sentiment | Yes | No |
| No charge on failure + spend cap | Yes | Not documented |
We accept every input the competitor accepts (search, app ID, package name, locale, max) and return a strict superset of fields.
Quickstart
Open the actor, paste this into the input, and press Run. It looks up two apps by ID with full details.
{"mode": "appIds","appIds": ["C101184875", "C101130285"],"withDetails": true,"language": "en_US"}
To search by keyword, set mode to search and fill searchQuery (for example vpn, photo editor). To look up by Android package name, set mode to packageNames and fill packageNames (for example org.telegram.messenger). Every input field is optional; with an empty input the actor searches the prefilled keyword (whatsapp) in en_US.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
mode | enum | no | search | How to find apps: search by keyword, appIds for specific app IDs or URLs, or packageNames for Android package names. |
searchQuery | string | no | whatsapp | Keyword to search when mode is search (for example game, photo editor, vpn). |
appIds | string[] | no | ["C101184875","C101130285"] | App IDs or full app URLs when mode is appIds. IDs start with C followed by digits. |
packageNames | string[] | no | ["org.telegram.messenger","com.viber.voip"] | Android package names when mode is packageNames. The app must be listed in the chosen locale. |
withDetails | boolean | no | true | Fetch each app detail page (full description, screenshots, developer, release date, exact size and version, permissions, reviews). App IDs and package name modes always fetch full details. |
language | enum | no | en_US | Store locale and language: en_US, en_GB, es_ES, es_LA, pt_BR, zh_CN, ru_RU, de_DE, fr_FR, it_IT. |
maxApps | integer | no | 10 | Maximum apps to collect across the run. Free Apify plans are capped at 10 per run. |
withSummary | boolean | no | false | Paid AI add-on. Write a concise summary of each app. Charged per app summarized. Paid plans only. |
withCategorize | boolean | no | false | Paid AI add-on. Classify each app category and topical tags. Charged per app classified. Paid plans only. |
withReviewSentiment | boolean | no | false | Paid AI add-on. Analyze aggregate review sentiment and recurring themes (only when reviews are present). Charged per app analyzed. Paid plans only. |
proxyConfiguration | object | no | Apify Residential | Proxy used to reach the store. The default works out of the box; a non-US country is selected automatically to match your locale. |
Output reference
One dataset item per app. Types: string, number, integer, boolean, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
icon | string | App icon URL. |
name | string | App name. |
appId | string | AppGallery app ID (starts with C). |
url | string | AppGallery app URL. |
package | string | Android package name. |
developer | string | Developer name. |
developerWebsite | string | Developer website or privacy URL, or null. |
category | string | Store category, or null. |
rating | number | Average rating, or 0 when the store does not expose one. |
stars | number | Star rating value, or 0. |
ratingsCount | integer | Number of ratings, or 0. |
reviewsCount | integer | Number of written text reviews, or null. |
downloads | string | Install count as displayed (for example 2,090M installs). |
price | number | Price, 0 for free apps. |
free | boolean | Whether the app is free. |
priceLabel | string | Monetization label as shown in the store (for example Free, In-app purchases, Paid). |
size | string | Download size as displayed (for example 80.6 MB). |
sizeBytes | integer | Download size in bytes. |
version | string | App version name. |
versionCode | string | Version code (build number), or null. |
targetSdk | integer | Target Android SDK / API level, or null. |
releaseDate | string | Release or update date as displayed. |
whatsNew | string | Release notes, or null. |
editorReview | string | Editorial review text, or null. |
safetyLabels | string[] | Store safety and trust badges (for example Virus check, Manual check, No ads), or null. |
contentRating | string | Content rating label (for example Rated 18+). |
minAge | integer | Minimum age, or null. |
privacyPolicyUrl | string | Privacy policy URL, or null. |
description | string | Full app description (requires details). |
screenshots | string[] | Screenshot URLs (requires details), or null. |
permissions | object[] | Requested permissions, each with group, title, description (requires details), or null. |
ratingHistogram | object | Star-rating distribution star1..star5 (requires details), or null. |
reviews | object[] | User reviews, each with userName, rating, comment, date, avatar (requires details), or null. |
aiSummary | string | AI app summary (add-on), or null. |
aiCategory | string | AI app category (add-on), or null. |
aiTags | string[] | AI topical tags (add-on), or null. |
aiReviewSentiment | string | AI aggregate review sentiment (add-on), or null. |
aiReviewSentimentScore | number | AI sentiment score (add-on), or null. |
aiReviewThemes | string[] | AI recurring review themes (add-on), or null. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. A failed lookup writes a single item with a populated error field and is not charged. |
Example output record
Real record from a live run (input {"mode":"appIds","appIds":["C101184875"],"withDetails":true,"language":"en_US"}). The long description, permissions, screenshots and reviews are trimmed, and a long dash in the source editorReview and description is shown as a hyphen; the real scraped values are unchanged otherwise:
{"icon": "https://appimg-dre.dbankcdn.com/application/icon144/65/6a9bec062c064ed195b21662df649cc1.png","name": "Telegram","appId": "C101184875","url": "https://appgallery.huawei.com/app/C101184875","package": "org.telegram.messenger","developer": "Telegram FZ-LLC","developerWebsite": "https://telegram.org/privacy","category": null,"rating": 4.3,"stars": 4.5,"ratingsCount": 46,"reviewsCount": 23,"downloads": "2,090M installs","price": 0,"free": true,"priceLabel": "Free","size": "80.6 MB","sizeBytes": 84521386,"version": "12.9.2","versionCode": "69919","targetSdk": 35,"releaseDate": "8/7/2026","whatsNew": null,"editorReview": "Pure instant messaging - simple, fast, secure, and synced across all your device","safetyLabels": ["Virus check", "Manual check"],"contentRating": "Rated 18+","minAge": 18,"privacyPolicyUrl": "https://telegram.org/privacy","description": "Pure instant messaging - simple, fast, secure, and synced across all your devices. Over 200 million active users in four years. [trimmed]","screenshots": ["https://appimg-dre.dbankcdn.com/application/screenshut1/65/6a9bec062c064ed195b21662df649cc1.jpg","https://appimg-dre.dbankcdn.com/application/screenshut2/65/6a9bec062c064ed195b21662df649cc1.jpg"],"permissions": [{"group": "Contacts", "title": "Find accounts on the device", "description": "Allows the app to get a list of accounts for apps installed on the device."}],"ratingHistogram": {"star1": 6, "star2": 1, "star3": 2, "star4": 1, "star5": 36},"reviews": [{"userName": "hid77155896", "rating": 5, "comment": "Ok", "date": "7/12/2026, 02:13", "avatar": null}],"aiSummary": null,"aiCategory": null,"aiTags": null,"aiReviewSentiment": null,"aiReviewSentimentScore": null,"aiReviewThemes": null,"observedAt": "2026-09-04T00:00:00.000Z","error": null}
Use cases
- ASO and app store optimization. Track ratings, review sentiment, keywords and metadata for Huawei AppGallery listings.
- App market and competitor research. Compare apps by downloads, ratings, size, version cadence and monetization label.
- Mobile app intelligence. Monitor version, version code and target SDK changes over time.
- Trust and safety review. Inspect permissions, safety badges, content rating and privacy policy URLs.
- Cross-store analysis. Combine with our Google Play and App Store scrapers for a full picture of an app across stores.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~huawei-appgallery-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"appIds","appIds":["C101184875"],"withDetails":true,"language":"en_US"}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~huawei-appgallery-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"mode":"search","searchQuery":"vpn","maxApps":50,"language":"en_US"}'
Apify CLI:
apify call scrapers_lat/huawei-appgallery-scraper \--input '{"mode":"packageNames","packageNames":["org.telegram.messenger"],"language":"pt_BR"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per app record returned (
resultevent). See the pricing tab for the current per-result price. - Add-on events. Full-detail enrichment (
details), AI summary (ai_summary), AI category and tags (ai_categorize) and AI review sentiment (ai_sentiment) are billed separately, and only when they produce usable output. - No charge on failure. If a lookup fails, the actor writes an item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run. Upgrade for higher
maxApps.
FAQ and troubleshooting
Do I need a Huawei API key or developer account? No. This actor needs no API key, no login and no developer account. You only need an Apify account to run it.
Can I look up an app by its Android package name?
Yes. Set mode to packageNames and paste package names such as org.telegram.messenger. The app must be listed in the locale you choose. You can also look up by app ID or by pasting a full AppGallery app URL.
A run returned 0 records. Why?
The keyword matched no apps, or the app IDs or package names are not available in your chosen locale. Try a broader keyword, verify the identifiers, or change language. Zero-result runs are not charged.
Why are rating, screenshots or reviews empty for some apps?
AppGallery does not expose those fields for every app or locale. Missing source values are returned as null or 0, never invented. Region availability also varies by language.
Which proxy should I use? Leave the default (Apify Residential). Huawei AppGallery returns no search results to US IP addresses, so the actor automatically selects a non-US residential country matched to your locale. You can override the proxy or pin a specific country in the input.
Why does the editorial review show a hyphen where the store shows a long dash? The source text uses a long dash. To keep this README clean it is rendered as a hyphen here; the scraped value preserves the original text.
What do the AI add-ons return?
withSummary fills aiSummary; withCategorize fills aiCategory and aiTags; withReviewSentiment fills aiReviewSentiment, aiReviewSentimentScore and aiReviewThemes when reviews are present. All are billed only on usable output and require a paid Apify plan.
Is this an official Huawei tool? No. This actor is independent and has no affiliation with Huawei. It reads only publicly available AppGallery data. Use the results in accordance with the source's terms and applicable laws.
Related scrapers
- Google Play Apps Scraper: app details from the Google Play store.
- Google Play Reviews Scraper: user reviews from Google Play.
- Chrome Web Store Scraper: extension details from the Chrome Web Store.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Huawei. Accesses only publicly available AppGallery data. Use in accordance with the source's terms and applicable laws.
