POST /api/huaweiappgallery/apps
Price: 5 credits
Get one Huawei AppGallery app
The Android package name is returned on the record but is not accepted as input anywhere on the store, and searching for it is not a reliable substitute: measured live against the real search backend over 91 packages harvested from that same backend's catalog, matching the package against /huaweiappgallery/apps/search results found the exact package anywhere on page one only about 29% of the time, and about 3% of those queries returned zero rows at all. A caller holding only a package name has no reliable way in through this store. This is the endpoint to trust for ratings: it reads the storefront a European visitor sees, while /huaweiappgallery/apps/search reads the store's global catalog and its rows carry a different rating for the same app, or none. reviews stops at the sixteen the store prints on the listing, so take review_count for the real total instead of counting the list. Many apps genuinely have no rating, and a null there is the store's silence rather than a zero score. Description, tagline, announcement and the review text are whatever publishers and reviewers wrote, so a record can come back in German, Chinese or Russian.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)regional_catalog boolean — Read the catalog of the region the request comes from instead of the store's global one. It changes the result on /huaweiappgallery/apps/search only; the other endpoints already read a regional storefront and return the same apps either way (default: false)app string required — AppGallery app id, or an AppGallery app URL carrying one (examples: "C101585519", "https://appgallery.huawei.com/app/C101585519", "https://appgallery.cloud.huawei.com/ag/n/app/C101585519"; minLength: 1)@type string (default: "HuaweiAppgalleryApp")id string requiredurl string requiredname string requiredpackage_name string nullabledescription string nullabletagline string nullableeditor_review string nullableannouncement string nullabledeveloper string nullableimage string nullableimages array (default: [])videos array (default: [])@type string (default: "HuaweiAppgalleryAppVideo")url string requiredimage string nullableduration_seconds integer nullableresolution string nullableversion string nullableversion_code string nullableversion_release_date string nullablesize_bytes integer nullablesize_text string nullablesha256 string nullablemd5 string nullabletarget_sdk integer nullablemin_age integer nullableage_rating string nullableage_rating_image string nullableis_game boolean nullableprice number nullableprice_text string nullablehas_in_app_purchases boolean nullableavailability_note string nullablerating number nullablerating_count integer nullablerating_distribution array (default: [])@type string (default: "HuaweiAppgalleryRatingBucket")stars integer requiredrating_count integer requiredreview_count integer nullablereviews array (default: [])@type string (default: "HuaweiAppgalleryAppReview")author string nullableimage string nullabletext string nullablerating number nullablecreated_at integer nullableinstall_count integer nullableinstall_count_text string nullableweb_url string nullableprivacy_policy_url string nullablesafety_labels array (default: [])permissions array (default: [])@type string (default: "HuaweiAppgalleryPermission")group string requiredname string requireddescription string nullablehms_sdk object nullable@type string (default: "HuaweiAppgalleryHmsSdk")core_version string nullableaccount_version string nullablein_app_purchases_version string nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No app with this id in the AppGallery catalog. Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.