storelib_rs
A Rust port of StoreLib — a library for interacting with Microsoft Store endpoints to query product information and resolve package download URLs.
Supports native (tokio) and WebAssembly targets.
Features
- Query the Microsoft Store Display Catalog by Product ID, Package Family Name, Xbox Title ID, and more
- Resolve direct
.appx/.msix/.eappxdownload URLs via the FE3 delivery service - Search the catalog by query string and device family
- 7 endpoints (Production, Int, Xbox, XboxInt, Dev, OneP, OnePInt)
- 250+ markets and 150+ languages via
Locale - Optional MSA / XBL3.0 authentication token support for sandboxed and flighted listings
- Structured logging via the
logfacade (env_loggeron native, pluggable on WASM)
Installation
Add to your Cargo.toml:
[]
= { = "https://github.com/query-store-links/storelib_rs" }
For WebAssembly, enable the wasm feature:
[]
= { = "https://github.com/query-store-links/storelib_rs", = ["wasm"] }
Library usage
Query a product
use ;
let mut handler = production;
handler.query_dcat.await?;
if handler.is_found
Resolve package download URLs
let packages = handler.get_packages_for_product.await?;
for pkg in &packages
Search the catalog
use DeviceFamily;
let results = handler.search_dcat.await?;
println!;
Custom locale and endpoint
use ;
let locale = new;
let mut handler = new;
Authentication (sandboxed / flighted listings)
// MSA token or XBL3.0 token
handler.query_dcat.await?;
// Authenticated package resolution
let packages = handler.get_packages_for_product.await?;
CLI usage
storelib_rs [--log-level <LEVEL>] <COMMAND>
Commands:
packages Fetch direct download URLs for a product's packages
query Query detailed product information
search Search the store catalog
Options:
--log-level <LEVEL> error | warn | info | debug | trace [default: info]
Examples
# Resolve all package URLs for an app
# Query by Package Family Name
# Search for Xbox games
# Authenticated query (flighted / sandbox)
# Debug logging (shows HTTP requests, FE3 update IDs, URL resolution)
# Trace logging (also dumps raw SOAP response bodies)
RUST_LOG overrides --log-level:
RUST_LOG=storelib_rs=debug
Identifier types
--type value |
Description |
|---|---|
product-id (default) |
Microsoft Store Product ID (e.g. 9wzdncrfj3tj) |
pfn |
Package Family Name |
content-id |
Content ID |
xbox-title-id |
Xbox Title ID |
legacy-phone |
Legacy Windows Phone Product ID |
legacy-store |
Legacy Windows Store Product ID |
legacy-xbox |
Legacy Xbox Product ID |
Building
# Native
# WebAssembly
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v3.0 as published by the Free Software Foundation.
See LICENSE for the full text.