π₯π© Browse and search the Microsoft
π¦π¨ Intune Enterprise App Management (EAM) catalog β 1,568 Win32 apps available for zero-touch deployment via Microsoft Intune.
π¦ Download from here
| File | Purpose |
|---|---|
EAM-Catalog-Viewer-Public.html |
Browser-based catalog viewer β works offline, no server needed |
eam-catalog-public.json |
Pre-exported catalog snapshot (1,568 apps, 496 publishers) |
Download both files into the same folder. Open EAM-Catalog-Viewer-Public.html in your browser (Chrome, Edge, Firefox, or Safari).
π your-folder/
βββ EAM-Catalog-Viewer-Public.html
βββ eam-catalog-public.json
You will see the drop zone screen β drag your JSON file onto it or click Browse file.
Click Browse file and select eam-catalog-public.json. Or drag and drop the file onto the drop zone.
Tip: Click Load sample data to preview the viewer with 4 sample apps before loading the real file.
After loading, the dashboard shows 4 KPI cards (Total, Publishers, Auto-Update, Matching), a toolbar with filters, a sortable table, and pagination.
Clicking a row opens a detail panel showing:
- Version, Architecture, Auto-Update status, Branch, Min Windows, Release Date
- Package ID, Product ID, Branch ID β click any to copy to clipboard
- Graph API query reference for direct API access
| Filter | Options |
|---|---|
| Search | App name, publisher, or version (live, as you type) |
| Publisher | Dropdown of all 496 publishers |
| Architecture | x64 / x86 / arm64 |
| Auto-Update | All / Auto-Update: Yes / Manual only |
| Button | View |
|---|---|
| β° | Table view β sortable columns, click header to sort |
| β | Card view β visual grid |
Click β Export CSV to download all currently filtered apps as a CSV file with columns: App Name, Publisher, Version, Architecture, Auto-Update, Branch, Product ID, Package ID.
The pre-exported JSON is a point-in-time snapshot. To get the latest data, export it yourself.
PowerShell 7.x (recommended) or Windows PowerShell 5.1
Install the Microsoft Graph PowerShell SDK:
Install-Module Microsoft.Graph.Devices.CorporateManagement -Scope CurrentUser -ForceUsing the sub-module is faster than installing the full
Microsoft.Graphpackage.
Your account needs DeviceManagementApps.Read.All in Microsoft Entra (admin consent required).
Connect-MgGraph -Scopes "DeviceManagementApps.Read.All"A browser window opens for sign-in. To target a specific tenant:
Connect-MgGraph -TenantId "your-tenant-id-here" -Scopes "DeviceManagementApps.Read.All"Verify the connection:
Get-MgContext$AllApps = [System.Collections.Generic.List[object]]::new()
$Uri = "https://graph.microsoft.com/beta/deviceAppManagement/mobileAppCatalogPackages?`$top=999"
do {
$Response = Invoke-MgGraphRequest -Uri $Uri -Method GET
foreach ($app in $Response.value) { $AllApps.Add($app) }
$Uri = $Response.'@odata.nextLink'
Write-Host " Fetched $($AllApps.Count) apps so far..."
} while ($Uri)
Write-Host "Total packages fetched: $($AllApps.Count)"$ExportData = $AllApps | ForEach-Object {
[PSCustomObject]@{
id = [string]$_.id
productId = [string]$_.productId
productDisplayName = [string]$_.productDisplayName
publisherDisplayName = [string]$_.publisherDisplayName
versionDisplayName = [string]$_.versionDisplayName
branchName = [string]$_.branchName
branchId = [string]$_.branchId
applicableArchitectures = [string]$_.applicableArchitectures
packageAutoUpdateCapable = [bool]$_.packageAutoUpdateCapable
minimumSupportedWindowsRelease = [string]$_.minimumSupportedWindowsRelease
releaseDateTime = [string]$_.releaseDateTime
productDescription = [string]$_.productDescription
}
} | Sort-Object productDisplayName
$Output = [PSCustomObject]@{
totalCount = $ExportData.Count
apps = $ExportData
}
# Save to current directory (change path as needed)
$OutputPath = ".\eam-catalog-public.json"
$Output | ConvertTo-Json -Depth 5 | Out-File -FilePath $OutputPath -Encoding utf8NoBOM -Force
Write-Host "Exported $($ExportData.Count) apps to: $OutputPath"Note: Use
-Encoding utf8NoBOMin PowerShell 7. In Windows PowerShell 5.1, use-Encoding UTF8(the viewer handles BOM automatically).
Disconnect-MgGraphOpen EAM-Catalog-Viewer-Public.html β click Browse file β select your new JSON.
| Field | Description | Populated |
|---|---|---|
productDisplayName |
Application name | β Always |
publisherDisplayName |
Publisher / vendor | β Always |
versionDisplayName |
Latest available version | β Always |
applicableArchitectures |
x64, x86,x64, or arm64 |
β Always |
id |
Unique package ID (GUID) | β Always |
productId |
Product-level ID (GUID) | β Always |
branchId |
Branch ID (GUID) | β Always |
packageAutoUpdateCapable |
true if EAM manages updates automatically |
β ~23% (367/1,568) |
branchName |
Branch label (e.g. Stable, Beta) | β Rarely |
minimumSupportedWindowsRelease |
Min Windows version | β Rarely |
releaseDateTime |
Package release date | β Rarely |
productDescription |
App description | β Rarely |
Why no Installer Type (EXE/MSI)? The Microsoft Graph catalog API does not return
installerTypein its response β not in the list endpoint, and not in the individual package detail endpoint. This is a current Microsoft API limitation.
Why are some apps listed twice (same name, different Package ID)? The same Product ID with two Package IDs means Microsoft published the app in two different deployment packages β likely different installer types or install contexts (System vs User). The Product ID is the same; the Package ID is unique per package variant.
- The catalog reflects apps available in the Microsoft EAM catalog β not apps deployed in your tenant
- Microsoft updates the catalog regularly β re-export to get the latest versions
- The viewer works in Chrome, Edge, Firefox, and Safari (including iOS Safari)
- The JSON never leaves your device β everything runs locally in your browser
| Property | Value |
|---|---|
| Apps in snapshot | 1,568 |
| Publishers | 496 |
| Auto-update capable | 367 (23%) |
| Architectures | x64, x86,x64, arm64 |
| Source | Microsoft Graph beta β mobileAppCatalogPackages |
Created by β Vigneshwaran