Microsoft Store Scraper: Apps, Games & Reviews
Pricing
from $0.70 / 1,000 search results
Microsoft Store Scraper: Apps, Games & Reviews
Search Microsoft Store apps and games, extract 106-field product details with localized prices, rating trends, system requirements and media, or collect filtered reviews across multiple countries. No API key.
Pricing
from $0.70 / 1,000 search results
Rating
0.0
(0)
Developer
ScrapingMonkey
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Microsoft Store Scraper - Search, Complete Product Details and Reviews
Search Microsoft Store apps and games, extract complete product metadata, compare prices and system requirements, or collect public customer reviews. This all-in-one Apify Actor uses structured JSON responses and requires no Microsoft account, API key, browser, or proxy configuration.
- Three modes in one Actor:
search,details, andreviews - Batch input for multiple keywords, Product IDs, Microsoft Store URLs, or up to 50 markets
- Stable 64-field Search, 106-field Details, and 35-field Review records
- Prices, SKU offers, ratings, permissions, installation data, media, and requirements
- Cursor-based Search pagination and page-based Reviews pagination
- Four review sorting options plus score, date, and keyword filters
- Single-market or multi-country collection through Microsoft Store
glandhl - Controlled concurrent processing for faster multi-input runs
- Mandatory built-in Apify Proxy, retries, deduplication, and partial-failure handling
What can you do with this Actor?
| Mode | Input | Dataset output | Typical use |
|---|---|---|---|
search | One or more keywords | Ranked 64-field product records | Product discovery, keyword monitoring, app and game research |
details | Product IDs or URLs | One 106-field record per available product | Catalog, pricing, rating momentum, requirements, installer, and SKU research |
reviews | Product IDs or URLs | One 35-field row per matching public review | Sentiment analysis, issue discovery, review monitoring |
One mode runs per execution. Use Search to discover productId values, pass them to Details for complete profiles, and use Reviews when each review should be a separate dataset item.
Quick start
- Open the Actor and choose Try for free.
- Select
search,details, orreviews. - Enter search terms or Microsoft Store Product IDs/URLs.
- Choose the limit, market, locale, filters, and review ordering.
- Start the run, then preview or download the default dataset.
Input examples
Search for apps
{"mode": "search","searchTerms": ["video editor", "photo viewer"],"maxResults": 20,"countries": ["US", "DE"],"language": "en-US","maxConcurrency": 5,"mediaType": "apps","age": "all","price": "all"}
maxResults applies independently to each search term. Every row includes its searchTerm, global searchRank, source page, source-page position, and requested filters.
Get complete product details
{"mode": "details","appIds": ["9NLVZ8WTBGW1", "https://apps.microsoft.com/detail/vlc/xpdm1zw6815mqm"],"country": "US","language": "en-US","includeReviews": false}
Product IDs are normalized to uppercase and duplicate IDs are removed before requests.
Collect recent reviews
{"mode": "reviews","appIds": ["9PMF91N3LZ3M"],"maxResults": 100,"country": "US","language": "en-US","reviewSort": "mostRecent","reviewScores": ["1", "2"],"reviewsFrom": "2026-01-01","reviewsTo": "2026-12-31","reviewKeywords": ["crash", "support"]}
Review filters are optional. maxResults is the maximum number of reviews that match all score and date filters and at least one requested keyword.
Get details with embedded reviews
{"mode": "details","appIds": ["9NLVZ8WTBGW1"],"includeReviews": true,"maxResults": 50,"reviewSort": "mostHelpful","country": "US","language": "en-US"}
Complete output examples
Live titles, prices, ratings, availability, versions, reviews, and regional values change over time. Values below are representative, while the field sets are complete.
Search result - all 64 top-level fields
{"productId": "9NLVZ8WTBGW1","title": "Beauty Video Player","description": "Play and organize videos.","categories": ["Photo & video"],"publisherName": "Example Publisher","images": [{"imageType": "logo","backgroundColor": null,"foregroundColor": null,"caption": null,"imagePositionInfo": null,"url": "https://example.com/icon.png","height": 300,"width": 300}],"averageRating": 4.5,"price": 45,"displayPrice": "PHP 45.00","strikethroughPrice": "PHP 60.00","productFamilyName": "Apps","packageFamilyNames": ["Example.Package_abc"],"isGamingAppOnly": false,"installer": {"type": "WindowsUpdate","id": "9NLVZ8WTBGW1","productCode": null,"architectures": {}},"previews": [{"$type": "ImageItem","imageType": "Screenshot","backgroundColor": null,"foregroundColor": null,"caption": null,"title": null,"imagePositionInfo": null,"url": "https://example.com/screen.png","height": 1080,"width": 1920,"videoPurpose": null,"audioEncoding": null,"videoEncoding": null,"image": {"imageType": "thumbnail","caption": "Preview thumbnail","url": "https://example.com/preview.jpg","height": 720,"width": 1280},"bitrate": null,"videoPositionInfo": null,"sortOrder": null}],"typeTag": "app","ratingCountFormatted": "128","iconUrl": "https://example.com/icon.png","posterArtUrl": "https://example.com/poster.png","boxArtUrl": "https://example.com/box.png","iconUrlBackground": "transparent","screenshots": [],"encodedTitle": "beauty-video-player","isApplication": true,"isGame": false,"isTvSeries": false,"isMovie": false,"isMoviesOrTVs": false,"isPwa": false,"isTheme": false,"isCoreGame": false,"isAllowed": true,"isBrowsable": true,"isPurchaseEnabled": true,"isAd": false,"isSparkProduct": false,"isAndroid": false,"isHardware": false,"isSubscription": false,"isTencent": false,"isTencentMini": false,"pageTitleLocalization": "Common.PageAppsTitle","disableDownload": false,"cardActions": ["Install","Purchase"],"productRatings": [{"ratingSystem": "IARC","ratingSystemShortName": "IARC","ratingSystemId": "IARC","ratingSystemUrl": "https://www.globalratings.com/","ratingValue": "3+","ratingId": "IARC:3","ratingValueLogoUrl": "https://example.com/iarc-3.png","ratingAge": 0,"restrictMetadata": false,"restrictPurchase": false,"ratingDescriptors": [],"ratingDescriptorLogoUrls": [],"ratingDisclaimers": [],"interactiveElements": ["In-App Purchases"],"longName": "3+","shortName": "3+","description": "For ages 3 and up","hasInAppPurchases": true}],"skusSummary": [{"msrp": 45,"displayMSRP": "PHP 45.00","salePrices": [{"price": 45,"displayPrice": "PHP 45.00","badgeId": "default"}]}],"releaseDateUtc": "2026-08-07T07:40:25Z","appExtCategoryNames": [],"priceInfo": {"msrp": 45,"price": 45,"badgeText": "On sale","displayPrice": "PHP 45.00","forceToDisplayPrice": false,"narratorText": "PHP 45.00","ownership": 0},"redirectUrl": null,"url": "https://apps.microsoft.com/detail/9nlvz8wtbgw1?hl=en-US&gl=US","searchPage": 1,"searchPosition": 1,"country": "US","language": "en-US","requestedMediaType": "apps","requestedAge": "all","requestedPrice": "all","searchRank": 1,"recordType": "search","searchTerm": "video editor","source": "microsoft-store","schemaVersion": "2.0","scrapedAt": "2026-08-10T10:00:00Z"}
Every Search top-level field and every known nested field for images, previews, preview thumbnails, ratings, installer information, SKU summaries, sale prices, and price information is shown.
Product details result - all 106 top-level fields
{"shortDescription": "A lightweight video player.","categoryId": "Photo & video","developerName": "Example Publisher","durationInSeconds": 0,"hasAddOns": true,"hasThirdPartyIAPs": false,"language": "en-us","mediaType": "Apps","publisherId": "72169360","ratingCount": 0,"additionalLicenseTerms": "Standard publisher license terms.","appWebsiteUrl": "https://example.com/","disclaimerText": "Seller compliance information.","features": ["Video playback"],"gamingOptionsXboxLive": false,"isMsixvc": false,"lastUpdateDateUtc": "2026-08-07T07:40:25Z","notes": ["Added trial and performance improvements."],"permissionsRequired": ["Access your Internet connection"],"platforms": ["x64"],"privacyUrl": "https://example.com/privacy","productRatings": [{"ratingSystem": "IARC","ratingSystemShortName": "IARC","ratingSystemId": "IARC","ratingSystemUrl": "https://www.globalratings.com/","ratingValue": "3+","ratingId": "IARC:3","ratingValueLogoUrl": "https://example.com/iarc-3.png","ratingAge": 0,"restrictMetadata": false,"restrictPurchase": false,"ratingDescriptors": [],"ratingDescriptorLogoUrls": [],"ratingDisclaimers": [],"interactiveElements": ["In-App Purchases"],"longName": "3+","shortName": "3+","description": "For ages 3 and up","hasInAppPurchases": true}],"publisherCopyrightInformation": "Copyright Example Publisher","packageLastUpdateDateUtc": "2026-08-07T07:40:25Z","supportedLanguages": ["English"],"supportUris": [{"uri": "https://example.com/support"}],"systemRequirements": {"minimum": {"title": "Minimum","items": [{"level": "HardBlock","itemCode": "ops","name": "OS","description": "Windows 10","validationHint": "required","helpLink": "https://example.com/windows","helpTitle": "Supported Windows versions","isValidationPassed": true,"priority": "Default"}]},"recommended": {"title": "Recommended","items": [{"level": "SoftBlock","itemCode": "mem","name": "Memory","description": "8 GB","validationHint": "recommended","helpLink": "https://example.com/requirements","helpTitle": "Requirements help","isValidationPassed": true,"priority": "Default"}]}},"warningMessages": [{"header": "Seizure warning","text": "Photosensitive seizure warning","target": "https://support.xbox.com/help"}],"pdpImageUrl": "https://example.com/pdp.png","productId": "9NLVZ8WTBGW1","title": "Beauty Video Player","description": "Play and organize videos.","categories": ["Photo & video"],"publisherName": "Example Publisher","images": [{"imageType": "logo","backgroundColor": null,"foregroundColor": null,"caption": null,"imagePositionInfo": null,"url": "https://example.com/icon.png","height": 300,"width": 300}],"averageRating": 4.5,"price": 45,"displayPrice": "PHP 45.00","strikethroughPrice": null,"productFamilyName": null,"packageFamilyNames": ["Example.Package_abc"],"installer": {"type": "WPM","id": "9NLVZ8WTBGW1","productCode": "example","architectures": {"x64": {"version": "1.0","sourceUri": "https://example.com/app.exe","cdnUri": "https://cdn.example.com/app.exe","args": "/S","hash": "abc"}}},"eventsInfo": [],"previews": [{"$type": "ImageItem","imageType": "Screenshot","backgroundColor": null,"foregroundColor": null,"caption": null,"title": null,"imagePositionInfo": null,"url": "https://example.com/screen.png","height": 1080,"width": 1920,"videoPurpose": null,"audioEncoding": null,"videoEncoding": null,"image": {"imageType": "thumbnail","caption": "Preview thumbnail","url": "https://example.com/preview.jpg","height": 720,"width": 1280},"bitrate": null,"videoPositionInfo": null,"sortOrder": null}],"ratingCountFormatted": "128","productType": "Application","skus": [{"skuId": "0010","actions": ["Purchase"],"availabilityId": "ABC","price": 45,"displayPrice": "PHP 45.00","fulfillmentData": "{}","skuType": "full","msrp": 45,"displayMSRP": "PHP 45.00","salePrices": [{"price": 45,"displayPrice": "PHP 45.00","badgeId": "default"}]}],"catalogSource": "BigCat","iconUrl": "https://example.com/icon.png","posterArtUrl": "https://example.com/poster.png","boxArtUrl": "https://example.com/box.png","iconUrlBackground": "transparent","screenshots": [{"imageType": "Screenshot","backgroundColor": null,"foregroundColor": null,"caption": null,"imagePositionInfo": null,"url": "https://example.com/screen.png","height": 1080,"width": 1920}],"encodedTitle": "beauty-video-player","isApplication": true,"isGame": false,"isTvSeries": false,"isMovie": false,"isMoviesOrTVs": false,"isPwa": false,"isTheme": false,"isCoreGame": false,"isAllowed": true,"isBrowsable": true,"isPurchaseEnabled": true,"isAd": false,"isSparkProduct": false,"isAndroid": false,"isHardware": false,"isSubscription": false,"isTencent": false,"isTencentMini": false,"pageTitleLocalization": "Common.PageAppsTitle","disableDownload": false,"cardActions": ["Details","Purchase"],"shortTitle": "Beauty Player","categoryIds": ["Photo & video"],"subcategoryName": "Video players","approximateSizeInBytes": 66790402,"capabilities": ["internetClient"],"maxInstallSizeInBytes": 136364032,"installationTerms": "Install on up to ten Windows devices.","isMicrosoftProduct": false,"version": "1.0.0","isGamingAppOnly": false,"skusSummary": [{"msrp": 45,"displayMSRP": "PHP 45.00","salePrices": [{"price": 45,"displayPrice": "PHP 45.00","badgeId": "default"}]}],"releaseDateUtc": "2026-08-01T07:40:25Z","priceInfo": {"msrp": 45,"price": 45,"badgeText": "On sale","displayPrice": "PHP 45.00","forceToDisplayPrice": false,"narratorText": "PHP 45.00","ownership": 0},"allowedPlatforms": ["Windows.Desktop"],"trailers": [],"ratingAllTimeAverage": 4.5,"ratingAllTimeCount": 128,"rating7DaysAverage": 4.6,"rating7DaysCount": 7,"rating30DaysAverage": 4.5,"rating30DaysCount": 32,"ratingWindows": [{"aggregateTimeSpan": "7Days","averageRating": 4.6,"playCount": 0,"ratingCount": 7,"rentalCount": 0,"trialCount": 0,"purchaseCount": 0},{"aggregateTimeSpan": "30Days","averageRating": 4.5,"playCount": 0,"ratingCount": 32,"rentalCount": 0,"trialCount": 0,"purchaseCount": 0},{"aggregateTimeSpan": "AllTime","averageRating": 4.5,"playCount": 0,"ratingCount": 128,"rentalCount": 0,"trialCount": 0,"purchaseCount": 0}],"url": "https://apps.microsoft.com/detail/9nlvz8wtbgw1?hl=en-US&gl=US","country": "US","requestedLanguage": "en-US","available": true,"includedReviews": [{"productId": "9NLVZ8WTBGW1","reviewerName": "Example User","rating": 4,"market": "PH","locale": "EN-US","helpfulPositive": 15,"helpfulNegative": 1,"osVersion": "10.0.26200.8894","reviewId": "review-id","reviewText": "Useful app.","title": "Works well","submittedDateTimeUtc": "2026-07-23T22:31:52.005323Z","isProductTrial": false,"isTakenDown": false,"violationsFound": false,"isPublished": true,"isRevised": true,"updatedSinceResponse": false,"isAppInstalled": true,"packageFullName": "Example.Package_1.0.0.0_x64__abc","deviceFamily": "Windows.Desktop","reviewUrl": "https://ratingsedge.rnr.microsoft.com/example/review-id","reviewRank": 1,"reviewSort": "mostRecent","totalReviews": 25,"requestedCountry": "US","requestedLanguage": "en-US","requestedScores": [],"requestedFrom": null,"requestedTo": null,"requestedKeywords": []}],"recordType": "details","source": "microsoft-store","schemaVersion": "2.0","scrapedAt": "2026-08-10T10:00:00Z"}
Every Details top-level field and every known nested field for ratings, support links, requirements, warnings, images, previews, installer architectures, SKUs, sale prices, screenshots, pricing, and embedded reviews is shown. Real arrays can contain more items; the Actor returns all received items and does not truncate individual objects.
eventsInfo and trailers are empty in the captured Microsoft responses. If Microsoft publishes source-defined objects in those arrays, the Actor preserves them without inventing undocumented meanings.
Review result - all 35 top-level fields
{"productId": "9NLVZ8WTBGW1","reviewerName": "Example User","rating": 4,"market": "PH","locale": "EN-US","helpfulPositive": 15,"helpfulNegative": 1,"osVersion": "10.0.26200.8894","reviewId": "review-id","reviewText": "Useful app.","title": "Works well","submittedDateTimeUtc": "2026-07-23T22:31:52.005323Z","isProductTrial": false,"isTakenDown": false,"violationsFound": false,"isPublished": true,"isRevised": true,"updatedSinceResponse": false,"isAppInstalled": true,"packageFullName": "Example.Package_1.0.0.0_x64__abc","deviceFamily": "Windows.Desktop","reviewUrl": "https://ratingsedge.rnr.microsoft.com/example/review-id","reviewRank": 1,"reviewSort": "mostRecent","totalReviews": 25,"requestedCountry": "US","requestedLanguage": "en-US","requestedScores": [1, 2],"requestedFrom": "2026-01-01","requestedTo": "2026-12-31","requestedKeywords": ["crash", "support"],"recordType": "review","source": "microsoft-store","schemaVersion": "2.0","scrapedAt": "2026-08-10T10:00:00Z"}
The captured review API does not expose reviewer profile images or developer replies. The Actor does not fabricate those fields.
Missing products do not abort a batch. They are reported in the run log and are never charged as successful result events.
What data can you extract?
Complete Search fields
All 64 top-level fields are: recordType, source, schemaVersion, scrapedAt, searchTerm, searchRank, productId, title, description, categories, publisherName, images, averageRating, price, displayPrice, strikethroughPrice, productFamilyName, packageFamilyNames, isGamingAppOnly, installer, previews, typeTag, ratingCountFormatted, iconUrl, posterArtUrl, boxArtUrl, iconUrlBackground, screenshots, encodedTitle, isApplication, isGame, isTvSeries, isMovie, isMoviesOrTVs, isPwa, isTheme, isCoreGame, isAllowed, isBrowsable, isPurchaseEnabled, isAd, isSparkProduct, isAndroid, isHardware, isSubscription, isTencent, isTencentMini, pageTitleLocalization, disableDownload, cardActions, productRatings, skusSummary, releaseDateUtc, appExtCategoryNames, priceInfo, redirectUrl, url, searchPage, searchPosition, country, language, requestedMediaType, requestedAge, requestedPrice.
Complete Details fields
All 106 top-level fields are: recordType, source, schemaVersion, scrapedAt, shortDescription, categoryId, developerName, durationInSeconds, hasAddOns, hasThirdPartyIAPs, language, mediaType, publisherId, ratingCount, additionalLicenseTerms, appWebsiteUrl, disclaimerText, features, gamingOptionsXboxLive, isMsixvc, lastUpdateDateUtc, notes, permissionsRequired, platforms, privacyUrl, productRatings, publisherCopyrightInformation, packageLastUpdateDateUtc, supportedLanguages, supportUris, systemRequirements, warningMessages, pdpImageUrl, productId, title, description, categories, publisherName, images, averageRating, price, displayPrice, strikethroughPrice, productFamilyName, packageFamilyNames, installer, eventsInfo, previews, ratingCountFormatted, productType, skus, catalogSource, iconUrl, posterArtUrl, boxArtUrl, iconUrlBackground, screenshots, encodedTitle, isApplication, isGame, isTvSeries, isMovie, isMoviesOrTVs, isPwa, isTheme, isCoreGame, isAllowed, isBrowsable, isPurchaseEnabled, isAd, isSparkProduct, isAndroid, isHardware, isSubscription, isTencent, isTencentMini, pageTitleLocalization, disableDownload, cardActions, shortTitle, categoryIds, subcategoryName, approximateSizeInBytes, capabilities, maxInstallSizeInBytes, installationTerms, isMicrosoftProduct, version, isGamingAppOnly, skusSummary, releaseDateUtc, priceInfo, allowedPlatforms, trailers, ratingAllTimeAverage, ratingAllTimeCount, rating7DaysAverage, rating7DaysCount, rating30DaysAverage, rating30DaysCount, ratingWindows, url, country, requestedLanguage, available, includedReviews.
Complete Review fields
All 35 top-level fields are: recordType, source, schemaVersion, scrapedAt, productId, reviewerName, rating, market, locale, helpfulPositive, helpfulNegative, osVersion, reviewId, reviewText, title, submittedDateTimeUtc, isProductTrial, isTakenDown, violationsFound, isPublished, isRevised, updatedSinceResponse, isAppInstalled, packageFullName, deviceFamily, reviewUrl, reviewRank, reviewSort, totalReviews, requestedCountry, requestedLanguage, requestedScores, requestedFrom, requestedTo, requestedKeywords.
Complete nested object schemas
| Nested value | Complete fields |
|---|---|
| Images and screenshots | imageType, backgroundColor, foregroundColor, caption, imagePositionInfo, url, height, width |
| Previews | $type, imageType, backgroundColor, foregroundColor, caption, title, imagePositionInfo, url, height, width, videoPurpose, audioEncoding, videoEncoding, image, bitrate, videoPositionInfo, sortOrder |
| Preview thumbnail | imageType, caption, url, height, width |
| Content rating | ratingSystem, ratingSystemShortName, ratingSystemId, ratingSystemUrl, ratingValue, ratingId, ratingValueLogoUrl, ratingAge, restrictMetadata, restrictPurchase, ratingDescriptors, ratingDescriptorLogoUrls, ratingDisclaimers, interactiveElements, longName, shortName, description, hasInAppPurchases |
| Installer | type, id, productCode, architectures |
| Installer architecture | version, sourceUri, cdnUri, args, hash |
| SKU summary | msrp, displayMSRP, salePrices |
| SKU | skuId, actions, availabilityId, price, displayPrice, fulfillmentData, skuType, msrp, displayMSRP, salePrices |
| Sale price | price, displayPrice, badgeId |
| Price information | msrp, price, badgeText, displayPrice, forceToDisplayPrice, narratorText, ownership |
| Requirement item | level, itemCode, name, description, validationHint, helpLink, helpTitle, isValidationPassed, priority |
| Warning | header, text, target |
| Support URI | uri |
| Rating window | aggregateTimeSpan, averageRating, playCount, ratingCount, rentalCount, trialCount, purchaseCount |
| Embedded review | productId, reviewerName, rating, market, locale, helpfulPositive, helpfulNegative, osVersion, reviewId, reviewText, title, submittedDateTimeUtc, isProductTrial, isTakenDown, violationsFound, isPublished, isRevised, updatedSinceResponse, isAppInstalled, packageFullName, deviceFamily, reviewUrl, reviewRank, reviewSort, totalReviews, requestedCountry, requestedLanguage, requestedScores, requestedFrom, requestedTo, requestedKeywords |
Architecture names inside installer.architectures, such as x64 or ARM64, are dynamic Microsoft keys. Their value schema is fully listed.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | search | search, details, or reviews |
searchTerms | string[] | Search mode | ["video editor"] | One or more Microsoft Store keywords |
appIds | string[] | Details/reviews | - | Product IDs or full Microsoft Store URLs |
maxResults | integer | No | 50 | Maximum Search results per term or Reviews per product, 1-500 |
country | string | No | US | Two-letter market passed as gl |
countries | string[] | No | [] | Up to 50 markets; overrides country when non-empty |
language | string | No | en-US | Locale passed as hl |
maxConcurrency | integer | No | 5 | Simultaneous country, keyword, or product jobs, 1-20 |
includeReviews | boolean | No | false | Populate includedReviews in Details |
reviewSort | string | No | mostHelpful | mostHelpful, mostRecent, highestRating, or lowestRating |
reviewScores | string[] | No | [] | Star filters from "1" through "5"; empty means all |
reviewsFrom | string | No | "" | Inclusive review start date in YYYY-MM-DD format |
reviewsTo | string | No | "" | Inclusive review end date in YYYY-MM-DD format |
reviewKeywords | string[] | No | [] | Keep reviews whose title or text contains any keyword |
mediaType | string | No | all | Search filter: all, apps, or games |
age | string | No | all | Search filter: all or TO3 through TO17 |
price | string | No | all | Search filter: all, Free, Paid, or Sale |
Search filters are ignored by Details and Reviews. Review filters apply to Reviews and embedded Details reviews. In Details, maxResults applies only when includeReviews is enabled. Every keyword or Product ID is processed once for every selected country.
Use cases
Microsoft Store market research
- Discover products ranking for target keywords
- Compare apps and games by publisher, category, rating, price, and product type
- Detect rating momentum with all-time, 7-day, and 30-day averages and counts
- Build recurring catalogs across countries and locales
Pricing and technical intelligence
- Track regular, sale, display, and strikethrough prices
- Compare SKUs, trials, versions, package families, sizes, architectures, and platforms
- Review permissions, capabilities, requirements, content ratings, and update dates
Review monitoring
- Collect newest, most helpful, highest-rated, or lowest-rated reviews
- Analyze text, helpful votes, Windows version, package version, and device family
- Track revised reviews and installation or trial indicators
Performance and cost
The Actor uses lightweight JSON requests instead of launching a browser. Independent country, keyword, and product jobs run concurrently up to maxConcurrency. Details makes one additional lightweight DisplayCatalog request for rating windows. Search and Reviews use more requests as maxResults grows; restrictive Review filters can require scanning additional pages, and includeReviews adds review pagination to every Details record.
The repository does not define a public Actor price or repeatable production benchmarks, so this README does not claim fixed runtime or cost. Check the Actor's Pricing tab before a large run. Usage depends on pages, product count, response size, retries, and proxy traffic.
Pay-per-event billing
search-resultis charged once for every saved Search row.app-detailsis charged once for every saved Details row.reviewis charged once for every saved standalone review and every review visible insideincludedReviews.- Missing products and failed requests are logged and do not call a custom billing event.
- Remove the synthetic
apify-default-dataset-itemevent from the Actor pricing configuration to avoid charging every Dataset row a second time.
Retries and proxy behavior
- Every Microsoft Store request is routed through Apify Proxy.
- The input schema has no proxy field; users do not configure networking.
- Direct Microsoft Store traffic is disabled.
- No sticky proxy session ID is supplied.
- Temporary HTTP failures, timeouts, proxy failures, and invalid JSON structures are retried with exponential backoff.
- Products and reviews are deduplicated by stable IDs.
- One failed Product ID does not discard successful batch records or create a paid error row.
x-api-refis calculated for each exact request URL with SHA-256; saved browser tokens are not reused.
API usage
Replace YOUR_ACTOR_ID and YOUR_APIFY_TOKEN with values from the Actor's API page:
curl "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \-X POST \-H "Content-Type: application/json" \-d '{"mode":"search","searchTerms":["password manager"],"maxResults":20,"country":"US","language":"en-US"}'
Results are available in the default dataset. Export JSON, CSV, Excel, XML, RSS, or JSONL, or connect Make, Zapier, n8n, Google Sheets, webhooks, schedules, and warehouses.
The Output tab contains one unified Results view instead of separate mode tabs. It exposes the complete 144-field union of Search, Details, and Review outputs. Columns that do not apply to a particular recordType remain empty, while every available field stays accessible in the same table without switching views or opening the automatic All fields view.
Best for / not for
Best for: public Microsoft Store discovery, product catalogs, regional prices, compatibility research, SKU analysis, and public review monitoring.
Not for: Partner Center data, authenticated account information, purchasing or installing products, executing installer URLs, licensing operations, or guaranteeing every historical review.
Limits and good to know
- One mode runs per execution.
maxResultsis an upper limit of 500 per term, product, and selected country; Microsoft can expose fewer records.- Search processes the final page before stopping when
hasMorePagesbecomesfalse, including a page withoutcursor. - Reviews are returned in pages of 10.
- The Reviews endpoint uses the same empty envelope for an unknown product and a valid product with no reviews. Standalone Reviews verifies empty results through Details.
- Details differs between WindowsUpdate/MSIX, WPM, apps, and games. Stable fields use
null,[], or{}when unpublished. - Prices, ratings, languages, availability, and totals can differ by country and locale.
- Rating-window enrichment is non-fatal: if DisplayCatalog is unavailable, its six summary fields are
nullandratingWindowsis empty while the main Details record is still saved. languagein Details is Microsoft's product value;requestedLanguageis the requested locale.- Review score, date, and keyword filters are applied while paginating the public review response.
- Missing products are recorded in logs rather than the Dataset and do not stop other jobs.
- Public response structures can change. The Actor validates them and fails visibly.
- The Actor does not download packages or execute installer links.
Frequently asked questions
Do I need a Microsoft account, API key, or proxy?
No. The Actor uses public responses and configures Apify Proxy automatically.
Can I pass full Microsoft Store URLs?
Yes. Product IDs and URLs from apps.microsoft.com or www.microsoft.com can be mixed in appIds.
Can I process several keywords or products?
Yes. Add multiple values to searchTerms or appIds. maxResults applies independently.
Why are some fields null or empty?
Microsoft publishes different metadata for different product, installer, catalog, and regional variants. The Actor keeps stable keys.
Does language translate reviews?
No. It selects the Store interface locale. Review text remains as published; locale and market contain Microsoft's review metadata.
Why can Reviews perform an extra Details request?
An empty Reviews response does not reveal whether the product exists. Details is checked only for that edge case.
Can I schedule recurring runs?
Yes. Use Apify schedules and webhooks for recurring searches, snapshots, and review collection.
Responsible use
Use the Actor in accordance with applicable laws and Microsoft Store terms. Do not use reviewer or publisher information for spam, harassment, deception, or unlawful profiling.
This independent Actor is not affiliated with, endorsed by, or sponsored by Microsoft Corporation. Microsoft, Windows, Xbox, and Microsoft Store are trademarks of their respective owners.
Support
For a missing field, changed response, or unexpected empty result, create an issue in the Actor's Issues tab. Include the run ID, mode, country, locale, and a non-sensitive reproducible input.
Local development
Use Python 3.11 or newer:
python -m venv .venv.\.venv\Scripts\python.exe -m pip install -r requirements.txt.\.venv\Scripts\python.exe -m unittest discover -s tests -v
The production image uses Python 3.13 and starts with python -m my_actor.