# HUAWEI AppGallery Scraper (`parseforge/huawei-app-gallery-scraper`) Actor

Scrape HUAWEI AppGallery for app data at scale. Search by keyword, app ID, or package name. Returns app name, developer, category, downloads, ratings, version, size, price, descriptions, and more. Supports Europe, Singapore, Russia, and China regions. Perfect for market research and app analytics.

- **URL**: https://apify.com/parseforge/huawei-app-gallery-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Other, Developer tools
- **Stats:** 7 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🚀 HUAWEI AppGallery Scraper

> 🕒 **Last updated:** 2026-05-05


Collect comprehensive app data from HUAWEI AppGallery, the official app marketplace for Huawei devices with over 580 million monthly active users worldwide. This powerful data collection tool helps businesses, researchers, and analysts access detailed information about mobile applications across multiple regions.

Whether you're tracking market trends, analyzing competitor apps, or researching regional app availability, this tool simplifies the entire process. Search by keyword to discover apps in any category, or look up specific applications using their unique identifiers. No technical knowledge required.

With support for four major global regions (Europe, Singapore, Russia, and China), you can access different app catalogs and understand how the HUAWEI ecosystem varies across markets. Perfect for mobile industry professionals who need reliable, structured app data at scale.

### ✨ What Does It Do

This tool collects detailed app information from HUAWEI AppGallery and delivers it in a structured format ready for analysis. Here's the valuable data you'll get:

- **App Identity Information**: App name, unique app ID, package name, and direct link to the AppGallery listing for easy reference
- **Developer Details**: Publisher name and company information to track who creates the apps
- **Category Classification**: App category name and ID to understand market segments and app positioning
- **Popularity Metrics**: Download counts (both raw numbers and formatted display text like "26M installs") to measure app reach
- **User Ratings**: Star ratings to gauge user satisfaction and app quality
- **Version Information**: Current version number and version code to track updates and releases
- **Technical Specifications**: App file size (in bytes and formatted), target Android SDK version, SHA256 and MD5 hashes for verification
- **Content Details**: Full app descriptions, release dates, and minimum age ratings for compliance research
- **App Cost Details**: Cost information and whether the app is free or paid
- **Visual Assets**: Direct URLs to app icons for presentation and analysis
- **Regional Context**: Region and locale settings used for the search to track geographic availability

Perfect for building competitive intelligence databases, monitoring app portfolios, tracking market trends, or conducting academic research on mobile ecosystems.

### 🔧 Input

Configure your data collection with these simple settings. Choose one search method: keyword search for discovering multiple apps, app ID for specific lookups, or package name for Android-based searches.

**Search Options** (choose ONE method):

- **Search Query**: Enter any keyword to find apps (e.g., "fitness", "productivity", "games"). The tool will return matching apps up to your maximum item limit.
- **App ID**: Look up a specific app using its HUAWEI AppGallery ID (e.g., "C100315379" for TikTok). Returns detailed data for that single app.
- **Package Name**: Search by Android package name (e.g., "com.zhiliaoapp.musically"). Useful when you know the technical identifier.

**Region and Locale Settings**:

- **Region**: Choose which HUAWEI AppGallery regional server to search (Europe, Singapore, Russia, or China). Different regions may have different app catalogs and availability.
- **Locale**: Set the language for app descriptions and metadata (e.g., "en_US" for US English, "de_DE" for German, "zh_CN" for Chinese).

**Collection Limits**:

- **Maximum Items**: How many apps to collect (1 to 1,000,000).

Example input configuration:

```json
{
  "searchQuery": "tiktok",
  "maxItems": 10,
  "region": "europe",
  "locale": "en_US"
}
````

Example lookup by App ID:

```json
{
  "appId": "C100315379",
  "region": "europe",
  "locale": "en_US"
}
```

Example lookup by Package Name:

```json
{
  "packageName": "com.zhiliaoapp.musically",
  "region": "singapore",
  "locale": "en_US"
}
```

### 📊 Output

The tool delivers clean, structured data in JSON format, with each app as a separate record. You can download results as JSON for technical processing, CSV for spreadsheet analysis, or Excel for business reporting.

Here's what a typical app record looks like:

```json
{
  "iconUrl": "https://appimg-dre.dbankcdn.com/application/icon144/10119/fb1bf44afb79453683957c8d8a6b5f50.png",
  "appName": "TikTok",
  "appId": "C100315379",
  "packageName": "com.zhiliaoapp.musically",
  "developer": "TIKTOK PTE. LTD.",
  "category": "Entertainment",
  "categoryId": "23",
  "tagName": "Entertainment",
  "downloadCount": 2622110636,
  "downloadCountFormatted": "26M installs",
  "rating": 0,
  "commentCount": 0,
  "version": "43.8.3",
  "versionCode": "2024308030",
  "price": "0",
  "isFree": true,
  "sizeBytes": 472785983,
  "sizeFormatted": "450.9 MB",
  "description": "Videos cortos para ti",
  "releaseDate": "2026-02-12",
  "minimumAge": 12,
  "sha256": "fd6991906be000f709bdc6b5936a2d79d5af533cfec03773b560f7a08a0bcaa2",
  "md5": "84664D6337D7472FDAB8F76996F3CAC0",
  "targetSdk": 35,
  "appUrl": "https://appgallery.huawei.com/app/C100315379",
  "region": "europe",
  "locale": "en_US",
  "searchQuery": "tiktok",
  "scrapedAt": "2026-02-16T12:00:00.000Z"
}
```

**Understanding the Output**:

- **iconUrl**: Direct link to the app's icon image, perfect for displaying in reports or dashboards
- **appName**: The official app name as it appears in the store
- **appId**: HUAWEI's unique identifier for the app
- **packageName**: The Android package identifier (useful for cross-platform tracking)
- **developer**: The company or individual who published the app
- **category** / **categoryId**: The app store category name and ID (e.g., "Entertainment", "23")
- **tagName**: Sub-category or tag classification for the app
- **downloadCount**: Total number of downloads as a raw number for calculations
- **downloadCountFormatted**: Human-readable download count (e.g., "26M installs")
- **rating**: Average user rating (note: some apps may show 0 if ratings aren't publicly displayed)
- **commentCount**: Number of user comments/reviews
- **version** / **versionCode**: Current version string and internal version code
- **price**: Price value ("0" for free apps)
- **isFree**: Boolean value indicating if the app is free or paid
- **sizeBytes** / **sizeFormatted**: File size in both raw bytes and readable format (e.g., "450.9 MB")
- **description**: App description text from the store listing
- **releaseDate**: When the current version was published
- **minimumAge**: Age rating for content appropriateness
- **sha256** / **md5**: Security hashes for app verification
- **targetSdk**: Target Android SDK version (indicates compatibility requirements)
- **appUrl**: Direct link to the app's AppGallery page
- **region** / **locale**: Which regional server and language setting was used
- **searchQuery**: The keyword you searched for (helpful when processing multiple searches)
- **scrapedAt**: Timestamp when the data was collected

All data can be exported in CSV, Excel, or JSON formats for immediate use in your analysis tools, databases, or reporting systems.

### 💎 Why Choose the HUAWEI AppGallery Scraper?

**Access Untapped Market Data**: HUAWEI AppGallery is the third-largest app marketplace globally, yet many analytics tools ignore it. This tool gives you visibility into a massive ecosystem of 580+ million monthly active users, especially strong in Asia, Europe, and emerging markets.

**Multi-Region Intelligence**: Unlike other tools, this supports four distinct regional servers. Understand how app availability and metadata differ between Europe, Singapore, Russia, and China. Perfect for global market research and international expansion planning.

**Complete Data Extraction**: Get everything from basic app names to technical details like SDK versions and security hashes. Whether you need high-level market overviews or deep technical analysis, all the data is included.

**Fast and Reliable**: Optimized for speed and accuracy. Collect data on hundreds of apps in minutes, not hours. Built-in error handling ensures you get complete results even when individual apps have missing information.

**No Technical Skills Required**: Simple configuration, clear instructions, and business-friendly output formats. If you can fill out a form, you can collect app data. No coding, no complicated setup, no headaches.

**Flexible Search Options**: Search by keyword to discover apps, lookup by App ID when you know exactly what you want, or use package names to track apps across multiple platforms. Three search methods for maximum flexibility.

### 📋 How to Use

Follow these simple steps to start collecting HUAWEI AppGallery data:

1. **Sign Up**: [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) on the Apify platform (takes less than 2 minutes).

2. **Find the Tool**: Search for "HUAWEI AppGallery Scraper" in the Apify Store or use the direct link from this page.

3. **Configure Your Search**: Choose your search method:
   - Enter a keyword in "Search Query" to find multiple apps (e.g., "social media")
   - Enter an App ID to look up one specific app (e.g., "C100315379")
   - Enter a Package Name for Android-based lookup (e.g., "com.zhiliaoapp.musically")

4. **Set Your Region**: Select which regional AppGallery to search (Europe, Singapore, Russia, or China). Different regions may have different app catalogs.

5. **Choose Your Locale**: Pick the language for app descriptions (e.g., "en\_US", "de\_DE", "zh\_CN").

6. **Set Maximum Items**: Decide how many apps to collect.

7. **Run the Tool**: Click "Start" and watch the progress. The tool typically completes within a few minutes.

8. **Download Your Data**: Once finished, download results in CSV, JSON, or Excel format. Your data is ready for analysis, reporting, or database import.

**No Technical Skills Required**: The entire process uses a simple web interface. No programming, no complex software installation, no technical expertise needed.

### 🎯 Business Use Cases

**Market Researchers**

- Track app market trends across HUAWEI's ecosystem in different geographic regions
- Analyze category growth patterns and identify emerging app verticals
- Monitor download counts and ratings to measure app popularity over time
- Compare app availability between regions to understand market-specific preferences

**Competitive Intelligence Teams**

- Monitor competitor app versions, updates, and feature releases in real-time
- Track competitor download numbers and rating trends to gauge market performance
- Analyze competitor app descriptions and positioning strategies
- Identify which regions competitors are targeting with localized app versions

**Mobile App Developers**

- Research category leaders to understand what makes successful apps in your niche
- Analyze technical specifications like target SDK versions and app sizes in your category
- Monitor competitor release cycles and update frequencies
- Identify gaps in regional coverage where your app could have an advantage

**Business Development Professionals**

- Identify high-performing apps for potential partnership or acquisition opportunities
- Evaluate app publishers and developers for investment or collaboration
- Track app portfolio performance across multiple developers
- Research market entry opportunities in underserved categories or regions

**Data Analysts and Scientists**

- Build datasets for machine learning models predicting app success
- Conduct statistical analysis on app characteristics and performance metrics
- Create market segmentation models based on app categories and user demographics
- Analyze correlation between app features (size, rating, category) and download success

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 🎯 | **Built for the job.** Scoped specifically to this data source so you skip the parser engineering entirely. |
| 🔖 | **Structured output.** Clean, typed fields ready for analysis, dashboards, or downstream pipelines. |
| ⚡ | **Fast.** Optimized request patterns return results in seconds, not minutes. |
| 🔁 | **Always fresh.** Every run pulls live data, so the dataset reflects the source as of run time. |
| 🌐 | **No infra to manage.** Apify handles proxies, retries, scaling, scheduling, and storage. |
| 🛡️ | **Reliable.** Battle-tested across many runs and edge cases, with graceful error handling. |
| 🚫 | **No code required.** Configure in the UI, run from CLI, schedule via cron, or call from any language with the Apify SDK. |

> 📊 Production-grade structured data without the engineering overhead of building and maintaining your own scraper.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ HUAWEI AppGallery Scraper** *(this Actor)* | $5 free credit, then pay-per-use | Full source coverage | **Live per run** | Source-native filters supported | ⚡ 2 min |
| Build your own scraper | Engineering hours | Full once built | Whenever you maintain it | Custom code | 🐢 Days to weeks |
| Paid managed APIs | $$$ monthly | Vendor-defined | Live | Vendor-defined | ⏳ Hours |
| Third-party data dumps | Varies | Subset, often stale | Periodic | None | 🕒 Variable |

Pick this Actor when you want broad coverage, server-side filtering, and no pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the HUAWEI AppGallery Scraper page on the Apify Store.
3. 🎯 **Set input.** Configure the input fields in the form (or paste a JSON), then set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 📊 Data & Analytics

- Build trend reports and dashboards from live source data
- Feed BI tools, warehouses, and ML pipelines with structured records
- Run periodic snapshots to track changes over time
- Compare segments, regions, or categories with consistent fields

</td>
<td width="50%" valign="top">

#### 🏢 Operations & Strategy

- Monitor competitor moves, pricing, and inventory shifts
- Build internal directories and lookup tools backed by current data
- Power workflows that depend on fresh source records
- Cut manual data-gathering time from hours to minutes

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### 🎯 Marketing & Growth

- Identify market opportunities and trending topics
- Research target audiences and customer personas at scale
- Power lead-generation pipelines with verified records
- Track sentiment, reviews, or social signals over time

</td>
<td width="50%" valign="top">

#### 🛠️ Engineering & Product

- Prototype features that need real-world data without owning a crawler
- Replace fragile in-house scrapers with a managed Actor
- Wire datasets into your apps via the Apify API or webhooks
- Skip the proxy, retry, and parsing maintenance entirely

</td>
</tr>
</table>

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Empirical datasets for papers, thesis work, and coursework
- Longitudinal studies tracking changes across snapshots
- Reproducible research with cited, versioned data pulls
- Classroom exercises on data analysis and ethical scraping

</td>
<td width="50%">

#### 🎨 Personal and creative

- Side projects, portfolio demos, and indie app launches
- Data visualizations, dashboards, and infographics
- Content research for bloggers, YouTubers, and podcasters
- Hobbyist collections and personal trackers

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Transparency reporting and accountability projects
- Advocacy campaigns backed by public-interest data
- Community-run databases for local issues
- Investigative journalism on public records

</td>
<td width="50%">

#### 🧪 Experimentation

- Prototype AI and machine-learning pipelines with real data
- Validate product-market hypotheses before engineering spend
- Train small domain-specific models on niche corpora
- Test dashboard concepts with live input

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=What%20is%20the%20HUAWEI%20AppGallery%20Scraper%20on%20Apify%20and%20how%20do%20I%20use%20it%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=What%20is%20the%20HUAWEI%20AppGallery%20Scraper%20on%20Apify%20and%20how%20do%20I%20use%20it%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=What%20is%20the%20HUAWEI%20AppGallery%20Scraper%20on%20Apify%20and%20how%20do%20I%20use%20it%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=What%20is%20the%20HUAWEI%20AppGallery%20Scraper%20on%20Apify%20and%20how%20do%20I%20use%20it%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

### ❓ Frequently Asked Questions

**How does the HUAWEI AppGallery Scraper work?**

This tool is designed for maximum simplicity. Just enter your search criteria (a keyword, App ID, or package name), select your region and language preferences, and click start. The tool automatically collects all the app data and organizes it into clean, structured records. No technical knowledge needed - if you can use a web form, you can collect app data.

**How accurate and up-to-date is the data?**

The tool collects data directly from HUAWEI AppGallery's live servers, so you always get the most current information available. This includes real-time download counts, the latest version numbers, current ratings, and up-to-date app descriptions. Every data point includes a timestamp showing exactly when it was collected.

**What's the difference between regions?**

HUAWEI operates separate AppGallery servers for different global regions (Europe, Singapore, Russia, and China). Each region may have different app catalogs based on local regulations, partnerships, and market preferences. For example, some apps might be available in Europe but not in China, or have different versions/descriptions in different regions. Choose the region that matches your target market.

**Can I schedule regular data collection runs?**

Yes! The platform supports scheduling, so you can automatically collect fresh app data daily, weekly, or at any interval you need. This is perfect for tracking changes over time, monitoring competitor updates, or building historical trend databases. Set it once and get fresh data automatically.

**Why do some apps show a 0.0 rating?**

HUAWEI AppGallery sometimes returns 0.0 for app ratings. This typically means the app either has no user ratings yet, or the ratings aren't publicly displayed in that region. It's a data quirk from the AppGallery platform itself, not an error in the tool.

**What if I need help or have questions?**

Check the FAQ section first for common questions. If you need additional assistance, visit the support page or contact us directly. We're here to help you succeed with your data collection projects.

### 🔗 Integrate HUAWEI AppGallery Scraper with any app

Connect this actor with your favorite tools:

- [Make](https://docs.apify.com/platform/integrations/make) - Automate workflows
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - Connect 5000+ apps
- [GitHub](https://docs.apify.com/platform/integrations/github) - Version control integration
- [Slack](https://docs.apify.com/platform/integrations/slack) - Get notifications
- [Airbyte](https://docs.apify.com/platform/integrations/airbyte) - Data pipelines
- [Google Drive](https://docs.apify.com/platform/integrations/drive) - Export to spreadsheets

### 🔌 Integrate with any app

HUAWEI AppGallery Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get run notifications in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe results into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh data into your product backend, or alert your team in Slack.

***

### 🔗 Recommended Actors

Check out these related actors from our collection:

| Actor | Description | Link |
|-------|-------------|------|
| PR Newswire Scraper | Press releases | [View](https://apify.com/parseforge/pr-newswire-scraper) |
| FINRA BrokerCheck Scraper | Financial broker data | [View](https://apify.com/parseforge/finra-brokercheck-scraper) |
| GSA eLibrary Scraper | Government contracts | [View](https://apify.com/parseforge/gsa-elibrary-scraper) |
| AWS Marketplace Scraper | AWS apps and services | [View](https://apify.com/parseforge/aws-marketplace-scraper) |
| Hugging Face Model Scraper | AI/ML model data | [View](https://apify.com/parseforge/hugging-face-model-scraper) |

### 🆘 Need Help?

**Start Here**: Check the FAQ section above for answers to common questions about regions, data accuracy, scheduling, and more.

**Documentation**: Visit the [Apify documentation](https://docs.apify.com) for detailed guides on running actors, scheduling, integrations, and downloading data.

**Community Support**: Join the [Apify Discord community](https://discord.gg/apify) to connect with other users, share tips, and get quick answers.

**Custom Solutions**: Need specialized data collection, custom integration, or enterprise-scale deployment? We offer custom development services for unique requirements.

### 📞 Contact

Contact us to request a new scraper, propose a custom data project, or report a technical issue with this actor at https://tally.so/r/BzdKgA

### ⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by HUAWEI or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 100. Paid users: Optional, max 1,000,000

## `searchQuery` (type: `string`):

Search for apps by keyword (e.g., 'game', 'social', 'music'). Use this OR appId/packageName, not both.

## `appId` (type: `string`):

HUAWEI AppGallery app ID (e.g., 'C100315379'). Use this OR searchQuery/packageName, not both.

## `packageName` (type: `string`):

Android package name (e.g., 'com.zhiliaoapp.musically'). Use this OR searchQuery/appId, not both.

## `region` (type: `string`):

AppGallery region to search in. Different regions may have different app catalogs.

## `locale` (type: `string`):

Locale for app descriptions and metadata (e.g., 'en\_US', 'de\_DE', 'zh\_CN').

## `proxyConfiguration` (type: `object`):

Proxy configuration to use. Residential proxies are required for reliable access.

## Actor input object example

```json
{
  "maxItems": 10,
  "searchQuery": "tiktok",
  "region": "europe",
  "locale": "en_US",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset with scraped app data

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "searchQuery": "tiktok",
    "region": "europe",
    "locale": "en_US",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/huawei-app-gallery-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "searchQuery": "tiktok",
    "region": "europe",
    "locale": "en_US",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/huawei-app-gallery-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "searchQuery": "tiktok",
  "region": "europe",
  "locale": "en_US",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parseforge/huawei-app-gallery-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/huawei-app-gallery-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "HUAWEI AppGallery Scraper",
        "description": "Scrape HUAWEI AppGallery for app data at scale. Search by keyword, app ID, or package name. Returns app name, developer, category, downloads, ratings, version, size, price, descriptions, and more. Supports Europe, Singapore, Russia, and China regions. Perfect for market research and app analytics.",
        "version": "1.1",
        "x-build-id": "882mkgfLPBZgmihRF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~huawei-app-gallery-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-huawei-app-gallery-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~huawei-app-gallery-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-huawei-app-gallery-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~huawei-app-gallery-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-huawei-app-gallery-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 100. Paid users: Optional, max 1,000,000"
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Search for apps by keyword (e.g., 'game', 'social', 'music'). Use this OR appId/packageName, not both."
                    },
                    "appId": {
                        "title": "App ID",
                        "type": "string",
                        "description": "HUAWEI AppGallery app ID (e.g., 'C100315379'). Use this OR searchQuery/packageName, not both."
                    },
                    "packageName": {
                        "title": "Package Name",
                        "type": "string",
                        "description": "Android package name (e.g., 'com.zhiliaoapp.musically'). Use this OR searchQuery/appId, not both."
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "europe",
                            "singapore",
                            "russia",
                            "china"
                        ],
                        "type": "string",
                        "description": "AppGallery region to search in. Different regions may have different app catalogs.",
                        "default": "europe"
                    },
                    "locale": {
                        "title": "Locale",
                        "type": "string",
                        "description": "Locale for app descriptions and metadata (e.g., 'en_US', 'de_DE', 'zh_CN').",
                        "default": "en_US"
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy configuration to use. Residential proxies are required for reliable access."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
