Huawei AppGallery App Details & Reviews Scraper avatar

Huawei AppGallery App Details & Reviews Scraper

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Huawei AppGallery App Details & Reviews Scraper

Huawei AppGallery App Details & Reviews Scraper

Scrape app listings and details from Huawei AppGallery by search keyword or app ID. Extract app name, developer, rating, downloads, size, version, screenshots, permissions and reviews. Export to JSON, CSV or Excel.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Huawei AppGallery App Details & Reviews Scraper

Huawei AppGallery App Details & Reviews Scraper

Here is one real result, with every field the actor returns (the long description and permissions are trimmed, and two em dashes in the source editorReview and description are shown as hyphens; the real 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": 0,
"stars": 0,
"ratingsCount": 0,
"downloads": "2,089M installs",
"price": 0,
"free": true,
"size": "80.6 MB",
"sizeBytes": 84521386,
"version": "12.9.2",
"releaseDate": "8/7/2026",
"whatsNew": null,
"editorReview": "Pure instant messaging - simple, fast, secure, and synced across all your device",
"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": null,
"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."},
{"group": "Contacts", "title": "Read your contacts", "description": "Allows the app to read, save, and share data related to your phone and email contacts."}
],
"ratingHistogram": null,
"reviews": null,
"aiSummary": "Telegram is a fast and secure instant messaging app designed for users who value privacy and seamless communication across devices. With features like unlimited media sharing, large group chats, and end-to-end encryption for Secret Chats, it caters to both personal and professional communication needs.",
"aiCategory": "Social",
"aiTags": ["messaging", "secure", "cloud storage", "group chats", "privacy", "media sharing", "cross-platform", "customization"],
"aiReviewSentiment": null,
"aiReviewSentimentScore": null,
"aiReviewThemes": null,
"observedAt": "2026-08-14T08:27:26.976Z",
"error": null
}

The most complete Huawei AppGallery scraper available. It returns every field an AppGallery app exposes (developer, package, version, size, downloads, rating, permissions, screenshots and reviews), plus optional AI summary, category tags and review sentiment, and gives you keyword search or direct app-ID lookup across ten locales.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor scrapes the Huawei AppGallery store, either by keyword search or by direct app-ID lookup, and writes one normalized record per app to the run's dataset. With full details enabled, each app detail page is fetched for the full description, screenshots, developer, exact size and version, permissions and reviews. Missing source values are returned as null, and 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. It is independent and has no affiliation with Huawei.

Quickstart

Open the actor, paste this into the input, and press Run. It looks up two apps by ID with full details and all three AI add-ons on.

{
"mode": "appIds",
"appIds": ["C101184875", "C101130285"],
"withDetails": true,
"language": "en_US",
"withSummary": true,
"withCategorize": true,
"withReviewSentiment": true
}

To search by keyword, set mode to search and fill searchQuery (for example vpn, photo editor). Every input field is optional; with an empty input the actor searches the prefilled keyword (whatsapp) in en_US.

Input reference

FieldTypeRequiredDefaultDescription
modeenumnosearchHow to find apps: search by keyword, or appIds to look up specific AppGallery app IDs.
searchQuerystringnowhatsappKeyword to search when mode is search (for example game, photo editor, vpn).
appIdsstring[]no["C101184875","C101130285"]AppGallery app IDs when mode is appIds. They start with C followed by digits (from the end of an app URL).
withDetailsbooleannotrueFetch each app detail page (full description, screenshots, developer, release date, exact size and version). App IDs mode always fetches full details.
languageenumnoen_USStore locale and language: en_US, en_GB, es_ES, es_LA, pt_BR, zh_CN, ru_RU, de_DE, fr_FR, it_IT.
maxAppsintegerno10Maximum apps to collect across the run. Free Apify plans are capped at 10 per run.
withSummarybooleannofalsePaid AI add-on. Write a concise summary of each app. Charged per app summarized. Paid plans only.
withCategorizebooleannofalsePaid AI add-on. Classify each app category and topical tags. Charged per app classified. Paid plans only.
withReviewSentimentbooleannofalsePaid AI add-on. Analyze aggregate review sentiment and recurring themes (only when reviews are present). Charged per app analyzed. Paid plans only.

Output reference

One dataset item per app. Types: string, number, integer, boolean, object[], or null when the source value is absent.

FieldTypeDescription
iconstringApp icon URL.
namestringApp name.
appIdstringAppGallery app ID (starts with C).
urlstringAppGallery app URL.
packagestringAndroid package name.
developerstringDeveloper name.
developerWebsitestringDeveloper website or privacy URL, or null.
categorystringStore category, or null.
ratingnumberAverage rating, or 0 when the store does not expose one.
starsnumberStar rating, or 0.
ratingsCountintegerNumber of ratings, or 0.
downloadsstringInstall count as displayed (for example 2,089M installs).
pricenumberPrice, 0 for free apps.
freebooleanWhether the app is free.
sizestringDownload size as displayed (for example 80.6 MB).
sizeBytesintegerDownload size in bytes.
versionstringApp version.
releaseDatestringRelease or update date as displayed.
whatsNewstringRelease notes, or null.
editorReviewstringEditorial review text, or null.
contentRatingstringContent rating label (for example Rated 18+).
minAgeintegerMinimum age, or null.
privacyPolicyUrlstringPrivacy policy URL, or null.
descriptionstringFull app description (requires details).
screenshotsstring[]Screenshot URLs (requires details), or null.
permissionsobject[]Requested permissions, each with group, title, description (requires details), or null.
ratingHistogramobjectStar-rating distribution (requires details), or null.
reviewsobject[]User reviews (requires details), or null.
aiSummarystringAI app summary (add-on), or null.
aiCategorystringAI app category (add-on), or null.
aiTagsstring[]AI topical tags (add-on), or null.
aiReviewSentimentstringAI aggregate review sentiment (add-on), or null.
aiReviewSentimentScorenumberAI sentiment score (add-on), or null.
aiReviewThemesstring[]AI recurring review themes (add-on), or null.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Example output record

Real record from a live run (input {"mode":"appIds","appIds":["C101184875","C101130285"],"withDetails":true,"language":"en_US","withSummary":true,"withCategorize":true,"withReviewSentiment":true}). The long description and permissions are trimmed, and two em dashes in the source editorReview and description are shown as hyphens; the real 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": 0,
"downloads": "2,089M installs",
"price": 0,
"free": true,
"size": "80.6 MB",
"sizeBytes": 84521386,
"version": "12.9.2",
"releaseDate": "8/7/2026",
"editorReview": "Pure instant messaging - simple, fast, secure, and synced across all your device",
"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]",
"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."}
],
"aiSummary": "Telegram is a fast and secure instant messaging app designed for users who value privacy and seamless communication across devices. With features like unlimited media sharing, large group chats, and end-to-end encryption for Secret Chats, it caters to both personal and professional communication needs.",
"aiCategory": "Social",
"aiTags": ["messaging", "secure", "cloud storage", "group chats", "privacy", "media sharing", "cross-platform", "customization"],
"aiReviewSentiment": null,
"observedAt": "2026-08-14T08:27:26.976Z",
"error": null
}

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":"search","searchQuery":"photo editor","language":"pt_BR"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "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 (result event). 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 run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on 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

A run returned 0 records. Why? The keyword matched no apps, or the app IDs are not available in your chosen locale. Try a broader keyword, verify the app IDs, or change language. Zero-result runs are not charged.

How do I look up a specific app? Set mode to appIds and paste the app IDs (they start with C, from the end of an AppGallery app URL). App IDs mode always fetches full details.

Why are rating, screenshots or reviews empty? 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.

Why does the editorial review show a hyphen where the store shows a long dash? The source text uses an em dash. To keep the output clean it is rendered as a hyphen in this README; 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.

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.