# Microsoft Store App Scraper (`maximedupre/microsoft-store-apps`) Actor

Find Microsoft Store apps by keyword, listing URL, or product ID. Get listing details, prices, ratings, media, and direct package links. Add reviews and regional data when requested and available.

- **URL**: https://apify.com/maximedupre/microsoft-store-apps.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Developer tools, Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.45 / 1,000 app listings

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🧭 Microsoft Store app research for Windows teams

For Windows developers, IT teams, QA teams, and app researchers, Microsoft Store App Scraper finds public Microsoft Store apps by keyword, listing URL, or product ID. It returns app identity, listing text, prices, ratings, media, supported architectures, package links, and optional reviews so you can compare apps and inspect package details.

- Search public Store listings and package data with **[Microsoft Store Download](https://apify.com/maximedupre/microsoft-store-apps/examples/microsoft-store-download)**.
- Explore public app matches for **[Android Apps on Windows 11](https://apify.com/maximedupre/microsoft-store-apps/examples/android-apps-on-windows-11)** by sending the phrase as a keyword.
- Review app update dates and listing fields with **[Microsoft Store Update](https://apify.com/maximedupre/microsoft-store-apps/examples/microsoft-store-update)**.
- Build a filtered **[Free Apps List](https://apify.com/maximedupre/microsoft-store-apps/examples/free-apps-list)** from keyword results.
- Find PC app listings and package details with **[PC App Store Download](https://apify.com/maximedupre/microsoft-store-apps/examples/pc-app-store-download)**.
- Compare public listing fields for **[Best Apps for Windows 11](https://apify.com/maximedupre/microsoft-store-apps/examples/best-apps-for-windows-11)** keyword matches.

#### 📦 Microsoft Store listings, packages, and reviews

Each saved row describes one app or game from the public Microsoft Store. A row can include identity, publisher links, descriptions, category, product type, Store dates, regional pricing, ratings, media, supported architectures, available markets, package details, and reviews. Fields that the public Store does not provide can be absent or null.

Keyword rows include the keyword and result position that produced the first saved match. Store URL and product ID lookups do not include that discovery context. If the same source app appears again through another keyword, URL, or ID, the first eligible row is saved and later matches are ignored. The saved row describes only the first match. It does not merge evidence from later matches.

Package rows contain direct source links and package metadata. The Store can set an expiration time for a link, so check packages\[].expiresAt before using it. This Actor returns links and metadata. It does not store or install package files.

#### ▶️ Find a Microsoft Store app by keyword, URL, or ID

1. Choose keywords, storeUrls, or productIds in Find apps by.
2. Enter one or more keywords, public Store listing URLs, or Store product IDs for the selected method.
3. Add keyword filters, a market, listing language, package settings, or a review limit when needed.
4. Start the run and open datasetItems in the Output tab to review the returned rows.

Keyword values are searched separately. Set maxResults to a positive per-keyword limit, or leave it empty to request all available results until the Store source is exhausted. Set maxReviews to request reviews for each returned app. Leave it empty to skip reviews.

#### ⚙️ Input

Choose one discovery method. Fill in only the fields for that method. Fields for other methods are ignored.

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| discoveryMethod | string | Chooses keyword search, Store listing URL lookup, or Product ID lookup. |
| keywords | array of strings | Searches each phrase separately and keeps the search keyword and result position in keyword rows. |
| maxResults | integer | Sets the positive result limit for each keyword. Leave it empty to request all available results until the Store source is exhausted. |
| listingTypes | array of strings | Keeps keyword results for apps, games, or both. Leave it empty to include both. |
| priceStatuses | array of strings | Keeps keyword results that are free, paid, or on sale. Leave it empty to include all price statuses. |
| storeUrls | array of objects | Lists public Microsoft Store listing URLs. Each URL is looked up as one app. |
| storeUrls\[].url | string | Gives one public Microsoft Store listing URL, such as https://apps.microsoft.com/detail/9wzdncrfj3tj. |
| productIds | array of strings | Lists Microsoft Store product IDs. Each ID is looked up as one app. |
| market | string | Chooses the Store market for localized listing text and regional pricing. Leave it empty for the source default. |
| language | string | Chooses the language for listing text. It does not choose the package language. |
| packageArchitecture | string | Chooses a package CPU architecture when the Store exposes it. Leave it empty for the source default. |
| packageLanguage | string | Chooses the installation package language when the Store exposes it. It does not change listing text. |
| releaseChannel | string | Chooses a package release channel when the Store exposes it. Leave it empty for the source default. |
| maxReviews | integer | Requests up to this many customer reviews for each returned app. Leave it empty to skip reviews. Review results use a separate charge. |

**Default input example**

This example is copied from the public input of a successful current-beta default-input run:

```json
{
  "discoveryMethod": "keywords",
  "keywords": [
    "microsoft store"
  ],
  "maxResults": 10
}
```

#### 🧾 Output

The Output tab exposes datasetItems, a link to the overview table for all saved app rows. Keyword, Store URL, and Product ID runs use the same app result fields. The optional discovery object appears for keyword rows, and the optional reviews array appears when review data is requested and available.

**Output link**

| Field | Type | What it does |
| --- | --- | --- |
| datasetItems | string | Opens the overview table for all returned app rows. |

**Dataset row fields**

| Field | Type | What it does |
| --- | --- | --- |
| productId | string | Microsoft Store product ID for the app. |
| title | string | App or game title shown by the Store. |
| publisher | object | Publisher name and links listed for the app. |
| publisher.name | string | Publisher name shown by the Store. |
| publisher.websiteUrl | URI string | Publisher website listed by the Store. |
| publisher.supportUrl | URI string | App support link listed by the Store. |
| shortDescription | string | Short description shown in the listing. |
| description | string | Full description shown in the listing. |
| category | string | Store category for the app or game. |
| productType | string | Says whether the Store lists the product as an app or a game. |
| storeUrl | URI string | Public Microsoft Store listing URL. |
| releaseDate | date-time string | Release date reported by the Store. |
| lastUpdatedDate | date-time string | Latest update date reported by the Store. |
| pricing | object | Regional price and purchase details. |
| pricing.price | number | Numeric regional price. |
| pricing.formattedPrice | string | Price formatted by the Store. |
| pricing.currency | string | Currency used for the regional price. |
| pricing.status | string | Store price status: free, paid, or sale. |
| pricing.hasInAppPurchases | boolean | Says whether the Store lists in-app purchases. |
| ratings | object | Rating averages and counts for available time windows. |
| ratings.allTime | object | All-time rating values. |
| ratings.allTime.average | number | Average all-time rating. |
| ratings.allTime.count | integer | Number of all-time ratings. |
| ratings.last7Days | object | Seven-day rating values. |
| ratings.last7Days.average | number | Average rating for the last seven days. |
| ratings.last7Days.count | integer | Number of ratings from the last seven days. |
| ratings.last30Days | object | Thirty-day rating values. |
| ratings.last30Days.average | number | Average rating for the last thirty days. |
| ratings.last30Days.count | integer | Number of ratings from the last thirty days. |
| media | object | App icon and screenshots listed by the Store. |
| media.icon | object | App icon and its image variants. |
| media.icon.url | URI string | Main app icon URL. |
| media.icon.variants | array of objects | Other icon image variants. |
| media.icon.variants\[].url | URI string | URL for one icon variant. |
| media.icon.variants\[].width | integer | Width of one icon variant in pixels. |
| media.icon.variants\[].height | integer | Height of one icon variant in pixels. |
| media.screenshots | array of objects | Screenshots and captions listed by the Store. |
| media.screenshots\[].url | URI string | Main URL for one screenshot. |
| media.screenshots\[].caption | string | Caption listed for one screenshot. |
| media.screenshots\[].variants | array of objects | Other image variants for one screenshot. |
| media.screenshots\[].variants\[].url | URI string | URL for one screenshot variant. |
| media.screenshots\[].variants\[].width | integer | Width of one screenshot variant in pixels. |
| media.screenshots\[].variants\[].height | integer | Height of one screenshot variant in pixels. |
| supportedArchitectures | array of strings | CPU architectures supported by the app according to the Store. |
| availableMarkets | array of strings | Markets where the Store lists the app as available. |
| packageFamilyName | string | App package-family name listed by the Store. |
| packages | array of objects | Direct package links and their source metadata. |
| packages\[].downloadUrl | URI string | Direct source URL to download one package. |
| packages\[].version | string | Package version listed by the Store. |
| packages\[].fileName | string | Package file name. |
| packages\[].sizeBytes | integer | Package size in bytes. |
| packages\[].sha1 | string | SHA1 hash listed for the package. |
| packages\[].expiresAt | date-time string | Time when the Store says the package link expires. |
| packages\[].sourceUrl | URI string | Source URL that provided the package record. It is metadata, not another download choice. |
| packages\[].productName | string | Product name listed for the package. |
| packages\[].category | string | Category listed for the package. |
| packages\[].architecture | string | CPU architecture selected for the package. |
| packages\[].language | string | Language selected for the package. |
| packages\[].releaseChannel | string | Release channel selected for the package. |
| reviews | array of objects | Customer reviews returned for the app. |
| reviews\[].rating | integer | Star rating given in the review. |
| reviews\[].title | string | Review title. |
| reviews\[].body | string | Review text. |
| reviews\[].reviewerName | string | Reviewer name shown by the Store. |
| reviews\[].submittedAt | date-time string | Date and time when the review was submitted. |
| reviews\[].helpfulPositiveVotes | integer | Helpful positive vote count. |
| reviews\[].helpfulNegativeVotes | integer | Helpful negative vote count. |
| reviews\[].market | string | Store market for the review. |
| reviews\[].locale | string | Locale associated with the review. |
| reviews\[].deviceFamily | string | Device family associated with the review. |
| reviews\[].operatingSystem | string | Operating-system context associated with the review. |
| reviews\[].revisionState | string | Review revision state reported by the Store. |
| discovery | object | Keyword and position that led to the app row. |
| discovery.keyword | string | Submitted keyword that found the app. |
| discovery.resultPosition | integer | App position in the results for the submitted keyword. |

**Keyword search row**

This is a complete row from a successful current-beta keyword run:

```json
{
  "productId": "9P53PC5S0PHJ",
  "title": "Microsoft Store Developer CLI",
  "publisher": {
    "name": "Microsoft Corporation",
    "websiteUrl": "http://www.microsoft.com/",
    "supportUrl": "https://github.com/microsoft/msstore-cli"
  },
  "productType": "app",
  "storeUrl": "https://apps.microsoft.com/detail/9P53PC5S0PHJ",
  "description": "The Microsoft Store Developer Command Line Tool is a CLI that helps developers configure their API access to the Microsoft Store, for both managed, as well as unmanaged applications. It helps developers by creating required Azure resources to access the APIs without having to understand the complexity of Azure Active Directory, as well as later setting up their applications (UWPs, Win32s, Flutter, PWAs, Electron, React-Native, .NET MAUI, Windows App SDK, as well as any type of Windows application) to be ready to ship to the Microsoft Store, going from the initial steps of configuring the application's manifest, as well as the actual publishing of an MSIX or MSI/EXE.",
  "category": "Developer tools",
  "releaseDate": "2022-11-11T05:47:10.589Z",
  "lastUpdatedDate": "2026-09-22T09:08:25.000Z",
  "pricing": {
    "price": 0,
    "formattedPrice": "Free",
    "currency": "USD",
    "status": "free",
    "hasInAppPurchases": false
  },
  "ratings": {
    "allTime": {
      "average": 3.9,
      "count": 38
    },
    "last7Days": {
      "average": 0,
      "count": 0
    },
    "last30Days": {
      "average": 4,
      "count": 1
    }
  },
  "media": {
    "icon": {
      "url": "https://store-images.s-microsoft.com/image/apps.59914.14576631282753185.b2d4d79f-8a32-4527-a0e7-e0d1057361eb.58a05bdc-c507-4b14-ba40-23d58cea434a",
      "variants": [
        {
          "url": "https://store-images.s-microsoft.com/image/apps.59914.14576631282753185.b2d4d79f-8a32-4527-a0e7-e0d1057361eb.58a05bdc-c507-4b14-ba40-23d58cea434a",
          "width": 50,
          "height": 50
        }
      ]
    },
    "screenshots": [
      {
        "url": "https://store-images.s-microsoft.com/image/apps.24626.14576631282753185.ce149442-24db-4bba-aa91-56260bf0455e.8132b6a3-4f12-4071-9e38-c9739b740794",
        "variants": [
          {
            "url": "https://store-images.s-microsoft.com/image/apps.24626.14576631282753185.ce149442-24db-4bba-aa91-56260bf0455e.8132b6a3-4f12-4071-9e38-c9739b740794",
            "width": 1115,
            "height": 628
          }
        ]
      }
    ]
  },
  "supportedArchitectures": [
    "x64"
  ],
  "availableMarkets": [
    "US",
    "DZ",
    "AR",
    "AU",
    "AT",
    "BH",
    "BD",
    "BE",
    "BR",
    "BG",
    "CA",
    "CL",
    "CN",
    "CO",
    "CR",
    "HR",
    "CY",
    "CZ",
    "DK",
    "EG",
    "EE",
    "FI",
    "FR",
    "DE",
    "GR",
    "GT",
    "HK",
    "HU",
    "IS",
    "IN",
    "ID",
    "IQ",
    "IE",
    "IL",
    "IT",
    "JP",
    "JO",
    "KZ",
    "KE",
    "KW",
    "LV",
    "LB",
    "LI",
    "LT",
    "LU",
    "MY",
    "MT",
    "MR",
    "MX",
    "MA",
    "NL",
    "NZ",
    "NG",
    "NO",
    "OM",
    "PK",
    "PE",
    "PH",
    "PL",
    "PT",
    "QA",
    "RO",
    "RU",
    "SA",
    "RS",
    "SG",
    "SK",
    "SI",
    "ZA",
    "KR",
    "ES",
    "SE",
    "CH",
    "TW",
    "TH",
    "TT",
    "TN",
    "TR",
    "UA",
    "AE",
    "GB",
    "VN",
    "YE",
    "LY",
    "LK",
    "UY",
    "VE",
    "AF",
    "AX",
    "AL",
    "AS",
    "AO",
    "AI",
    "AQ",
    "AG",
    "AM",
    "AW",
    "BO",
    "BQ",
    "BA",
    "BW",
    "BV",
    "IO",
    "BN",
    "BF",
    "BI",
    "KH",
    "CM",
    "CV",
    "KY",
    "CF",
    "TD",
    "TL",
    "DJ",
    "DM",
    "DO",
    "EC",
    "SV",
    "GQ",
    "ER",
    "ET",
    "FK",
    "FO",
    "FJ",
    "GF",
    "PF",
    "TF",
    "GA",
    "GM",
    "GE",
    "GH",
    "GI",
    "GL",
    "GD",
    "GP",
    "GU",
    "GG",
    "GN",
    "GW",
    "GY",
    "HT",
    "HM",
    "HN",
    "AZ",
    "BS",
    "BB",
    "BY",
    "BZ",
    "BJ",
    "BM",
    "BT",
    "KM",
    "CG",
    "CD",
    "CK",
    "CX",
    "CC",
    "CI",
    "CW",
    "JM",
    "SJ",
    "JE",
    "KI",
    "KG",
    "LA",
    "LS",
    "LR",
    "MO",
    "MK",
    "MG",
    "MW",
    "IM",
    "MH",
    "MQ",
    "MU",
    "YT",
    "FM",
    "MD",
    "MN",
    "MS",
    "MZ",
    "MM",
    "NA",
    "NR",
    "NP",
    "MV",
    "ML",
    "NC",
    "NI",
    "NE",
    "NU",
    "NF",
    "PW",
    "PS",
    "PA",
    "PG",
    "PY",
    "RE",
    "RW",
    "BL",
    "MF",
    "WS",
    "ST",
    "SN",
    "MP",
    "PN",
    "SX",
    "SB",
    "SO",
    "SC",
    "SL",
    "GS",
    "SH",
    "KN",
    "LC",
    "PM",
    "VC",
    "TJ",
    "TZ",
    "TG",
    "TK",
    "TO",
    "TM",
    "TC",
    "TV",
    "UM",
    "UG",
    "VI",
    "VG",
    "WF",
    "EH",
    "ZM",
    "ZW",
    "UZ",
    "VU",
    "SR",
    "SZ",
    "AD",
    "MC",
    "SM",
    "ME",
    "VA",
    "NEUTRAL"
  ],
  "packageFamilyName": "Microsoft.MicrosoftStoreCLI_8wekyb3d8bbwe",
  "packages": [
    {
      "downloadUrl": "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/4ed4b188-6bc4-4b1f-8130-d7e58c8390bb?P1=1790492895&P2=404&P3=2&P4=dQps7rwmtY%2bFtcUFgc7UjtiARHTlVL3HYw%2b5W7ZGz07e8TJVOFOd9ssMUZFWQzRoZ4xg4oAT%2fP6wkrEgsR33TA%3d%3d",
      "version": "0.4.3.0",
      "fileName": "Microsoft.MicrosoftStoreCLI_0.4.3.0_x64__8wekyb3d8bbwe.msix",
      "sizeBytes": 63175083,
      "sha1": "e87d85c447d622d71c1a27f4b24f26f83f3a7981",
      "expiresAt": "2026-09-27T07:08:15.000Z",
      "sourceUrl": "https://store.rg-adguard.net/api/GetFiles",
      "productName": "Microsoft Store Developer CLI",
      "category": "Developer tools",
      "architecture": "x64",
      "language": "en-us",
      "releaseChannel": "retail"
    }
  ],
  "discovery": {
    "keyword": "microsoft store",
    "resultPosition": 1
  }
}
```

**Direct lookup row**

This is a complete row from a successful current-beta product ID lookup with localized market and package settings:

```json
{
  "productId": "9P53PC5S0PHJ",
  "title": "Microsoft Store Developer CLI",
  "publisher": {
    "name": "Microsoft Corporation",
    "websiteUrl": "http://www.microsoft.com/",
    "supportUrl": "https://github.com/microsoft/msstore-cli"
  },
  "productType": "app",
  "storeUrl": "https://apps.microsoft.com/detail/9P53PC5S0PHJ",
  "description": "The Microsoft Store Developer Command Line Tool is a CLI that helps developers configure their API access to the Microsoft Store, for both managed, as well as unmanaged applications. It helps developers by creating required Azure resources to access the APIs without having to understand the complexity of Azure Active Directory, as well as later setting up their applications (UWPs, Win32s, Flutter, PWAs, Electron, React-Native, .NET MAUI, Windows App SDK, as well as any type of Windows application) to be ready to ship to the Microsoft Store, going from the initial steps of configuring the application's manifest, as well as the actual publishing of an MSIX or MSI/EXE.",
  "category": "Entwicklungstools",
  "releaseDate": "2022-11-11T05:47:10.589Z",
  "lastUpdatedDate": "2026-09-22T09:08:25.000Z",
  "pricing": {
    "price": 0,
    "formattedPrice": "Kostenlos",
    "currency": "EUR",
    "status": "free",
    "hasInAppPurchases": false
  },
  "ratings": {
    "allTime": {
      "average": 3.9,
      "count": 38
    },
    "last7Days": {
      "average": 0,
      "count": 0
    },
    "last30Days": {
      "average": 4,
      "count": 1
    }
  },
  "media": {
    "icon": {
      "url": "https://store-images.s-microsoft.com/image/apps.59914.14576631282753185.b2d4d79f-8a32-4527-a0e7-e0d1057361eb.58a05bdc-c507-4b14-ba40-23d58cea434a",
      "variants": [
        {
          "url": "https://store-images.s-microsoft.com/image/apps.59914.14576631282753185.b2d4d79f-8a32-4527-a0e7-e0d1057361eb.58a05bdc-c507-4b14-ba40-23d58cea434a",
          "width": 50,
          "height": 50
        }
      ]
    },
    "screenshots": [
      {
        "url": "https://store-images.s-microsoft.com/image/apps.24626.14576631282753185.ce149442-24db-4bba-aa91-56260bf0455e.8132b6a3-4f12-4071-9e38-c9739b740794",
        "variants": [
          {
            "url": "https://store-images.s-microsoft.com/image/apps.24626.14576631282753185.ce149442-24db-4bba-aa91-56260bf0455e.8132b6a3-4f12-4071-9e38-c9739b740794",
            "width": 1115,
            "height": 628
          }
        ]
      }
    ]
  },
  "supportedArchitectures": [
    "x64"
  ],
  "availableMarkets": [
    "US",
    "DZ",
    "AR",
    "AU",
    "AT",
    "BH",
    "BD",
    "BE",
    "BR",
    "BG",
    "CA",
    "CL",
    "CN",
    "CO",
    "CR",
    "HR",
    "CY",
    "CZ",
    "DK",
    "EG",
    "EE",
    "FI",
    "FR",
    "DE",
    "GR",
    "GT",
    "HK",
    "HU",
    "IS",
    "IN",
    "ID",
    "IQ",
    "IE",
    "IL",
    "IT",
    "JP",
    "JO",
    "KZ",
    "KE",
    "KW",
    "LV",
    "LB",
    "LI",
    "LT",
    "LU",
    "MY",
    "MT",
    "MR",
    "MX",
    "MA",
    "NL",
    "NZ",
    "NG",
    "NO",
    "OM",
    "PK",
    "PE",
    "PH",
    "PL",
    "PT",
    "QA",
    "RO",
    "RU",
    "SA",
    "RS",
    "SG",
    "SK",
    "SI",
    "ZA",
    "KR",
    "ES",
    "SE",
    "CH",
    "TW",
    "TH",
    "TT",
    "TN",
    "TR",
    "UA",
    "AE",
    "GB",
    "VN",
    "YE",
    "LY",
    "LK",
    "UY",
    "VE",
    "AF",
    "AX",
    "AL",
    "AS",
    "AO",
    "AI",
    "AQ",
    "AG",
    "AM",
    "AW",
    "BO",
    "BQ",
    "BA",
    "BW",
    "BV",
    "IO",
    "BN",
    "BF",
    "BI",
    "KH",
    "CM",
    "CV",
    "KY",
    "CF",
    "TD",
    "TL",
    "DJ",
    "DM",
    "DO",
    "EC",
    "SV",
    "GQ",
    "ER",
    "ET",
    "FK",
    "FO",
    "FJ",
    "GF",
    "PF",
    "TF",
    "GA",
    "GM",
    "GE",
    "GH",
    "GI",
    "GL",
    "GD",
    "GP",
    "GU",
    "GG",
    "GN",
    "GW",
    "GY",
    "HT",
    "HM",
    "HN",
    "AZ",
    "BS",
    "BB",
    "BY",
    "BZ",
    "BJ",
    "BM",
    "BT",
    "KM",
    "CG",
    "CD",
    "CK",
    "CX",
    "CC",
    "CI",
    "CW",
    "JM",
    "SJ",
    "JE",
    "KI",
    "KG",
    "LA",
    "LS",
    "LR",
    "MO",
    "MK",
    "MG",
    "MW",
    "IM",
    "MH",
    "MQ",
    "MU",
    "YT",
    "FM",
    "MD",
    "MN",
    "MS",
    "MZ",
    "MM",
    "NA",
    "NR",
    "NP",
    "MV",
    "ML",
    "NC",
    "NI",
    "NE",
    "NU",
    "NF",
    "PW",
    "PS",
    "PA",
    "PG",
    "PY",
    "RE",
    "RW",
    "BL",
    "MF",
    "WS",
    "ST",
    "SN",
    "MP",
    "PN",
    "SX",
    "SB",
    "SO",
    "SC",
    "SL",
    "GS",
    "SH",
    "KN",
    "LC",
    "PM",
    "VC",
    "TJ",
    "TZ",
    "TG",
    "TK",
    "TO",
    "TM",
    "TC",
    "TV",
    "UM",
    "UG",
    "VI",
    "VG",
    "WF",
    "EH",
    "ZM",
    "ZW",
    "UZ",
    "VU",
    "SR",
    "SZ",
    "AD",
    "MC",
    "SM",
    "ME",
    "VA",
    "NEUTRAL"
  ],
  "packageFamilyName": "Microsoft.MicrosoftStoreCLI_8wekyb3d8bbwe",
  "packages": [
    {
      "downloadUrl": "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/4ed4b188-6bc4-4b1f-8130-d7e58c8390bb?P1=1790493227&P2=404&P3=2&P4=b3vhbHurpG55Z4%2f8M2krbIYZGU9mPAyuwBqGW83d%2bBSOQlcmyKh7TbNrI3jaXdKdT%2ftpfinoNuGqKEP2LU2u8Q%3d%3d",
      "version": "0.4.3.0",
      "fileName": "Microsoft.MicrosoftStoreCLI_0.4.3.0_x64__8wekyb3d8bbwe.msix",
      "sizeBytes": 63175083,
      "sha1": "e87d85c447d622d71c1a27f4b24f26f83f3a7981",
      "expiresAt": "2026-09-27T07:13:47.000Z",
      "sourceUrl": "https://store.rg-adguard.net/api/GetFiles",
      "productName": "Microsoft Store Developer CLI",
      "category": "Entwicklungstools",
      "architecture": "x64",
      "language": "de-de",
      "releaseChannel": "preview"
    }
  ]
}
```

**Review-enriched direct lookup row**

This is a complete row from a successful current-beta product ID lookup with one requested review:

```json
{
  "productId": "9MV0B5HZVK9Z",
  "title": "XBOX",
  "publisher": {
    "name": "Microsoft Corporation",
    "websiteUrl": "http://www.xbox.com",
    "supportUrl": "http://www.xbox.com"
  },
  "productType": "app",
  "storeUrl": "https://apps.microsoft.com/detail/9MV0B5HZVK9Z",
  "shortDescription": "Discover, download, play games, and more with PC Game Pass via the XBOX app for Windows PC. Play hundreds of PC games for one low monthly price. Download and enjoy new games on day one like Starfield from Bethesda Softworks, as well as iconic franchises like Microsoft Flight Simulator, indie games, blockbusters, and more. Launch games at the click of a button, browse the catalog, view recommendations, and more. See what friends are playing and chat while you play together. Plus, purchase favorite titles, DLC, and add-ons from the Store – all in one place.*",
  "description": "Discover, download, play games, and more with PC Game Pass via the XBOX app for Windows PC. Play hundreds of PC games for one low monthly price. Download and enjoy new games on day one like Starfield from Bethesda Softworks, as well as iconic franchises like Microsoft Flight Simulator, indie games, blockbusters, and more. Launch games at the click of a button, browse the catalog, view recommendations, and more. See what friends are playing and chat while you play together. Plus, purchase favorite titles, DLC, and add-ons from the Store – all in one place.*\n\n*XBOX Game Pass sold separately",
  "category": "Entertainment",
  "releaseDate": "2019-06-09T16:00:00.000Z",
  "lastUpdatedDate": "2026-09-25T00:09:09.000Z",
  "pricing": {
    "price": 0,
    "formattedPrice": "Free",
    "currency": "USD",
    "status": "free",
    "hasInAppPurchases": true
  },
  "ratings": {
    "allTime": {
      "average": 4.5,
      "count": 2501857
    },
    "last7Days": {
      "average": 4.5,
      "count": 982
    },
    "last30Days": {
      "average": 4.4,
      "count": 4647
    }
  },
  "media": {
    "icon": {
      "url": "https://store-images.s-microsoft.com/image/apps.63945.13798539581762600.abe1643f-1704-4a4d-a61b-47ccc25da012.b6f37e08-5e02-432c-82c8-b999d60ab5a5",
      "variants": [
        {
          "url": "https://store-images.s-microsoft.com/image/apps.63945.13798539581762600.abe1643f-1704-4a4d-a61b-47ccc25da012.b6f37e08-5e02-432c-82c8-b999d60ab5a5",
          "width": 50,
          "height": 50
        }
      ]
    },
    "screenshots": [
      {
        "url": "https://store-images.s-microsoft.com/image/apps.63050.13798539581762600.3133c3f5-e69e-435e-97e0-3bfe09e882f7.da377473-4897-4931-8f8a-e03c66f38562",
        "variants": [
          {
            "url": "https://store-images.s-microsoft.com/image/apps.63050.13798539581762600.3133c3f5-e69e-435e-97e0-3bfe09e882f7.da377473-4897-4931-8f8a-e03c66f38562",
            "width": 1920,
            "height": 1080
          }
        ]
      },
      {
        "url": "https://store-images.s-microsoft.com/image/apps.1756.13798539581762600.3133c3f5-e69e-435e-97e0-3bfe09e882f7.1d332231-dc77-4413-81da-5eafc588ddf4",
        "variants": [
          {
            "url": "https://store-images.s-microsoft.com/image/apps.1756.13798539581762600.3133c3f5-e69e-435e-97e0-3bfe09e882f7.1d332231-dc77-4413-81da-5eafc588ddf4",
            "width": 1920,
            "height": 1080
          }
        ]
      }
    ]
  },
  "supportedArchitectures": [
    "ARM64",
    "x64"
  ],
  "availableMarkets": [
    "US",
    "DZ",
    "AR",
    "AU",
    "AT",
    "BH",
    "BD",
    "BE",
    "BR",
    "BG",
    "CA",
    "CL",
    "CN",
    "CO",
    "CR",
    "HR",
    "CY",
    "CZ",
    "DK",
    "EG",
    "EE",
    "FI",
    "FR",
    "DE",
    "GR",
    "GT",
    "HK",
    "HU",
    "IS",
    "IN",
    "ID",
    "IQ",
    "IE",
    "IL",
    "IT",
    "JP",
    "JO",
    "KZ",
    "KE",
    "KW",
    "LV",
    "LB",
    "LI",
    "LT",
    "LU",
    "MY",
    "MT",
    "MR",
    "MX",
    "MA",
    "NL",
    "NZ",
    "NG",
    "NO",
    "OM",
    "PK",
    "PE",
    "PH",
    "PL",
    "PT",
    "QA",
    "RO",
    "RU",
    "SA",
    "RS",
    "SG",
    "SK",
    "SI",
    "ZA",
    "KR",
    "ES",
    "SE",
    "CH",
    "TW",
    "TH",
    "TT",
    "TN",
    "TR",
    "UA",
    "AE",
    "GB",
    "VN",
    "YE",
    "LY",
    "LK",
    "UY",
    "VE",
    "AF",
    "AX",
    "AL",
    "AS",
    "AO",
    "AI",
    "AQ",
    "AG",
    "AM",
    "AW",
    "BO",
    "BQ",
    "BA",
    "BW",
    "BV",
    "IO",
    "BN",
    "BF",
    "BI",
    "KH",
    "CM",
    "CV",
    "KY",
    "CF",
    "TD",
    "TL",
    "DJ",
    "DM",
    "DO",
    "EC",
    "SV",
    "GQ",
    "ER",
    "ET",
    "FK",
    "FO",
    "FJ",
    "GF",
    "PF",
    "TF",
    "GA",
    "GM",
    "GE",
    "GH",
    "GI",
    "GL",
    "GD",
    "GP",
    "GU",
    "GG",
    "GN",
    "GW",
    "GY",
    "HT",
    "HM",
    "HN",
    "AZ",
    "BS",
    "BB",
    "BY",
    "BZ",
    "BJ",
    "BM",
    "BT",
    "KM",
    "CG",
    "CD",
    "CK",
    "CX",
    "CC",
    "CI",
    "CW",
    "JM",
    "SJ",
    "JE",
    "KI",
    "KG",
    "LA",
    "LS",
    "LR",
    "MO",
    "MK",
    "MG",
    "MW",
    "IM",
    "MH",
    "MQ",
    "MU",
    "YT",
    "FM",
    "MD",
    "MN",
    "MS",
    "MZ",
    "MM",
    "NA",
    "NR",
    "NP",
    "MV",
    "ML",
    "NC",
    "NI",
    "NE",
    "NU",
    "NF",
    "PW",
    "PS",
    "PA",
    "PG",
    "PY",
    "RE",
    "RW",
    "BL",
    "MF",
    "WS",
    "ST",
    "SN",
    "MP",
    "PN",
    "SX",
    "SB",
    "SO",
    "SC",
    "SL",
    "GS",
    "SH",
    "KN",
    "LC",
    "PM",
    "VC",
    "TJ",
    "TZ",
    "TG",
    "TK",
    "TO",
    "TM",
    "TC",
    "TV",
    "UM",
    "UG",
    "VI",
    "VG",
    "WF",
    "EH",
    "ZM",
    "ZW",
    "UZ",
    "VU",
    "SR",
    "SZ",
    "AD",
    "MC",
    "SM",
    "ME",
    "VA",
    "NEUTRAL"
  ],
  "packageFamilyName": "Microsoft.GamingApp_8wekyb3d8bbwe",
  "packages": [
    {
      "downloadUrl": "http://tlu.dl.delivery.mp.microsoft.com/filestreamingservice/files/bcedb4c1-c5ea-476c-b810-1ca6b97ceb31?P1=1790492108&P2=404&P3=2&P4=COzK1E1nkz4HC35U1j%2f4JR1cysW%2fOM%2ffgCUSygSdonKGiXUzHmCFHaxARosv1pw4Exg2%2bXdv%2byYnN%2fx398eQQg%3d%3d",
      "version": "8.2501.31001.0",
      "fileName": "Microsoft.UI.Xaml.2.8_8.2501.31001.0_arm64__8wekyb3d8bbwe.appx",
      "sizeBytes": 5051909,
      "sha1": "90964f7e5bba97e990fd7ec4cae27854cc7b3906",
      "expiresAt": "2026-09-27T06:55:08.000Z",
      "sourceUrl": "https://store.rg-adguard.net/api/GetFiles",
      "productName": "XBOX",
      "category": "Entertainment",
      "architecture": "arm64",
      "language": "en-us",
      "releaseChannel": "insider"
    }
  ],
  "reviews": [
    {
      "rating": 2,
      "title": "Needs a lot of quality of life updates",
      "body": "also very hard to actually sort through playable owned games on pc",
      "reviewerName": "Jake",
      "submittedAt": "2026-09-27T05:23:59.972Z",
      "helpfulPositiveVotes": 0,
      "helpfulNegativeVotes": 0,
      "market": "US",
      "locale": "EN-US",
      "deviceFamily": "Windows.Desktop",
      "operatingSystem": "10.0.26200.9457",
      "revisionState": "original"
    }
  ]
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. Charges apply to the events shown in the Pricing tab:

| Buyer-facing event | Machine event | What it covers |
| --- | --- | --- |
| App match | app-search-result | One app returned by a keyword search. |
| App listing | app-listing | One app listing returned by a Store URL or Product ID lookup. |
| App review | app-review | One customer review returned when reviews are requested. |
| Package link | direct-package-link | One direct package link and its package metadata returned. |

One run can use more than one event type when it returns app rows, package links, and requested reviews. This page does not assume a charge when no matching event is returned. See the Pricing tab for current rates.

#### 🔌 Integrations

Use the Apify API to start runs and read dataset items. You can also schedule repeated runs in Apify when you need to check public Store listings again.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can I search for a phrase such as Windows 10 download?

Yes. Submit the phrase as a keyword. The Actor returns matching public Microsoft Store listings and package data when the Store provides them. It does not provide Windows ISO files or install packages from other sources.

##### Can I look up a known Store listing?

Yes. Choose Store listing URL or Product ID and submit one or more known public values. Each value is looked up as one app.

##### Can I request public reviews?

Yes. Set maxReviews to a positive number to request up to that many reviews for each returned app. Review charges are separate, and the Store may provide fewer reviews than requested.

##### What happens when the same app appears more than once?

The first eligible match is saved. Later matches for the same source app are ignored. The saved row does not merge evidence from later keywords, URLs, or IDs.

##### Do package links stay valid forever?

No. The Store can set an expiration time. Check packages\[].expiresAt and use the link while the source says it is available. The Actor does not permanently archive package files.

##### Does the Actor download or install packages?

No. It returns direct source links and package metadata when the Store provides them. It does not download, store, install, or manage package licenses.

##### Can I choose a market and language?

Yes. market and language set the requested listing region and listing text language. packageLanguage is separate and applies to the installation package when the Store exposes that choice.

##### Do I need a Microsoft account or API key?

No buyer-supplied Store account, login, or API key is needed for the public data used by this Actor.

##### Does it cover Google Play or Apple App Store data?

No. This Actor focuses on public Microsoft Store data. See the related Actors below for other app stores.

##### What does an empty maximum search result mean?

An empty maxResults value requests all available results until the Store source is exhausted. An empty maxReviews value is different: it skips review collection.

### 📝 Changelog

**v0.0** (27-09-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~microsoft-store-apps/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Google Play Store Scraper](https://apify.com/maximedupre/google-play-store-scraper): Collect Android app listings, prices, ratings, reviews, and other public Google Play data.
- [Apple App Store Scraper](https://apify.com/maximedupre/apple-app-store-scraper): Collect iOS app listings, ratings, prices, versions, and public reviews.
- [Samsung Galaxy Store Apps Scraper](https://apify.com/maximedupre/samsung-galaxy-store): Look up known Samsung Galaxy Store apps with localized metadata.
- [Microsoft Store Scraper — App Details, Search & Reviews](https://apify.com/freshactors/microsoft-store-scraper): Compare another Microsoft Store workflow for app details, search, and reviews.
- [Microsoft Store App Downloader](https://apify.com/rixin/microsoft-store-app-downloader): Focus on direct MSIX or APPX package links and package metadata.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `discoveryMethod` (type: `string`):

Choose one way to find Microsoft Store app listings.

## `keywords` (type: `array`):

Enter one or more words or phrases. Each value is searched separately, and results keep the query and result position.

## `maxResults` (type: `integer`):

Optional positive limit for each keyword. Leave it blank to request all available results until the Store source is exhausted.

## `listingTypes` (type: `array`):

Optionally keep keyword results for apps, games, or both. Leave it empty to include both.

## `priceStatuses` (type: `array`):

Optionally keep keyword results that are free, paid, or on sale. Leave it empty to include all price statuses.

## `storeUrls` (type: `array`):

Enter one or more public Microsoft Store listing URLs. Each URL is looked up as one app.

## `productIds` (type: `array`):

Enter one or more Microsoft Store product IDs. Each ID is looked up as one app.

## `market` (type: `string`):

Choose the Store market for localized listing text and regional pricing, such as US or DE. Leave it blank to use the source default.

## `language` (type: `string`):

Choose the language for listing text, such as en-us or de-de. It does not choose the installation package language.

## `packageArchitecture` (type: `string`):

Choose a package CPU architecture when the Store exposes it, such as x64 or arm64. Leave it blank for the source default.

## `packageLanguage` (type: `string`):

Choose the installation package language when the Store exposes it, such as en-us. This does not change listing text.

## `releaseChannel` (type: `string`):

Choose a package release channel when the Store exposes it, such as retail or preview. Leave it blank for the source default.

## `maxReviews` (type: `integer`):

Set a positive number to request up to that many customer reviews for each returned app. Leave it blank to skip reviews; review results use a separate charge.

## Actor input object example

```json
{
  "discoveryMethod": "keywords",
  "keywords": [
    "microsoft store"
  ],
  "maxResults": 10
}
```

# Actor output Schema

## `datasetItems` (type: `string`):

Open all app results in the overview table.

# 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 = {
    "discoveryMethod": "keywords",
    "keywords": [
        "microsoft store"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/microsoft-store-apps").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 = {
    "discoveryMethod": "keywords",
    "keywords": ["microsoft store"],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/microsoft-store-apps").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "discoveryMethod": "keywords",
  "keywords": [
    "microsoft store"
  ],
  "maxResults": 10
}' |
apify call maximedupre/microsoft-store-apps --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/microsoft-store-apps"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7wulOZddWP6MMoqW7/builds/zqy6vPva3RGqjlMbv/openapi.json
