This is a static GitHub Pages site, not a server-side search API. Query parameters such as
?q=nssm are handled by JavaScript in a browser. Scripts and agents should download
the catalog and search it locally.
Catalog endpoint
https://solrevdev.com/winget-search/packages.json
The response contains extraction metadata and a packages array. Package records include
the ID, name, moniker (short alias), publisher, version, descriptions, tags, homepage, and license.
Some values may be null. English locale fields override default-locale fields when present.
macOS and Linux
Requires curl and jq. Download once, then change query for additional searches.
curl -fsSL https://solrevdev.com/winget-search/packages.json -o packages.json
query='nssm'
jq --arg q "$query" '
.packages
| map(select(
[.id, .name, .moniker, .publisher, .shortDescription, .description, ((.tags // []) | join(" "))]
| map(. // "")
| join(" ")
| ascii_downcase
| contains($q | ascii_downcase)
))
| .[:10]
| map({id, name, version, publisher})
' packages.json
Windows PowerShell and PowerShell 7+
This example is compatible with Windows PowerShell 5.1 and cross-platform PowerShell 7 or later.
$catalog = Invoke-RestMethod -Uri 'https://solrevdev.com/winget-search/packages.json'
$query = 'nssm'
$catalog.packages |
Where-Object {
$text = (@($_.id, $_.name, $_.moniker, $_.publisher, $_.shortDescription, $_.description) + @($_.tags) |
Where-Object { $_ } |
ForEach-Object { [string]$_ }) -join ' '
$text.IndexOf($query, [System.StringComparison]::OrdinalIgnoreCase) -ge 0
} |
Select-Object -First 10 id, name, version, publisher
Create install commands
After filtering results in either shell, use the exact package ID:
winget install -e --id NSSM.NSSM
Machine-oriented instructions are also available in llms.txt.