NinjaOne Data Extraction Guide (for SIM Template)
This guide provides detailed instructions for extracting software inventory data from NinjaOne (formerly NinjaRMM) to populate the Licenseware Software Inventory Management (SIM) Template.
NinjaOne consolidates asset and software data across managed devices via its Asset Inventory system.
The relevant information for SIM import is found in:
-
Devices – Contains device and hostname information.
-
Installed Applications – Lists software applications, including version and publisher details.
Data can be retrieved through either the NinjaOne Web Console export or the NinjaOne REST API.
Prerequisites
Before extracting data, ensure the following:
-
You have Administrator or Report Access permissions in NinjaOne.
-
Devices are actively reporting and have recent inventory data.
-
Access to the Reports section or API credentials (for automation).
-
(Optional) A working knowledge of PowerShell or command-line tools if using the API method.
Two main methods are supported for software inventory export from NinjaOne.
Option 1: Export via NinjaOne UI
This is the simplest and most commonly used method.
-
Log into the NinjaOne Admin Console.
-
Navigate to Reports → Assets → Installed Applications.
-
Use the filter options to include:
-
All devices (or a specific subset as required).
-
-
Click Generate Report.
-
Once the report is displayed, click Export → CSV.
-
Save the file (e.g.,
NinjaOne_SIM_Export.csv).
Ensure the following columns are visible in your export:
| Field Name | Description |
|---|---|
| Device Name | Hostname or endpoint identifier |
| Application Name | Installed software name |
| Version | Software version number |
| Publisher | Software vendor or publisher |
Option 2: Export via NinjaOne API (Advanced)
For automated or large-scale environments, use the NinjaOne REST API to programmatically extract the data.
Step 1: Obtain an API Token
-
In NinjaOne, go to Administration → Integrations → API.
-
Create an API key with
read-onlypermissions for devices and software inventory. -
Copy your API URL and Token.
Step 2: Run the PowerShell Script
# NinjaOne SIM Template Export Script
# Requires valid NinjaOne API credentials
# Set your API details
$NinjaBaseUrl = "https://api.ninjarmm.com/v2"
$ApiToken = "YOUR_API_TOKEN"
# Set headers
$Headers = @{
"Authorization" = "Bearer $ApiToken"
"Accept" = "application/json"
}
# Retrieve devices
$Devices = Invoke-RestMethod -Uri "$NinjaBaseUrl/devices" -Headers $Headers -Method Get
# Initialize array
$ExportData = @()
foreach ($Device in $Devices) {
# Retrieve installed applications per device
$Apps = Invoke-RestMethod -Uri "$NinjaBaseUrl/devices/$($Device.id)/software" -Headers $Headers -Method Get
foreach ($App in $Apps) {
$ExportData += [PSCustomObject]@{
"Device Name" = $Device.name
"Software Name" = $App.displayName
"Software Version" = $App.version
"Software Publisher" = $App.publisher
}
}
}
# Export to CSV
$ExportPath = "C:\Exports\NinjaOne_SIM_Export.csv"
$ExportData | Export-Csv -Path $ExportPath -NoTypeInformation -Encoding UTF8
Write-Host "Export complete: $ExportPath"
This script authenticates to NinjaOne’s API, iterates through each managed device, and collects all installed software records, outputting them in a SIM-compatible CSV format.
Exporting to CSV
If exporting manually from the UI:
-
Run the Installed Applications report.
-
Click Export → CSV.
-
Save the file as
NinjaOne_SIM_Export.csv. -
Confirm the exported headers match:
Device Name,Software Name,Software Version,Software Publisher
If using the PowerShell API script, the CSV is automatically generated at the specified path.
Preparing for SIM Import
-
Open the Licenseware SIM Template.
-
Go to the Software Inventory tab.
-
Paste or import the CSV data into the sheet.
-
Verify the column order:
Column Expected Field A Device Name B Software Name C Software Version D Software Vendor or Publisher
Ensure the data is clean and free of empty rows before saving.
Troubleshooting
| Issue | Cause | Resolution |
|---|---|---|
| Empty export | No devices or software found | Ensure devices have completed recent agent scans. |
| Unauthorized error (API) | Invalid or expired API token | Regenerate API credentials in NinjaOne’s integration settings. |
| Missing publisher field | Some applications don’t report vendor details | Manually fill missing publisher names before import if needed. |
| Encoding issues on import | File not saved as UTF-8 | Re-save the CSV ensuring UTF-8 encoding. |
| Rate limit errors | Too many API requests in a short time | Add a delay in the script between requests (e.g., Start-Sleep -Seconds 2). |
Example Output
Device Name,Software Name,Software Version,Software Publisher
WIN-101,Google Chrome,129.0.6668.90,Google LLC
WIN-101,Microsoft Edge,130.0.2849.68,Microsoft Corporation
SRV-002,Oracle Java SE Runtime Environment,8.0.411,Oracle Corporation
LAPTOP-05,Zoom,6.1.12,Zoom Video Communications