How to Get List of Reports in Power BI Workspace

Cody Schneider••8 min read

Trying to manage a busy Power BI workspace can feel like organizing a library where books keep appearing on the shelves. Knowing exactly what reports you have, who owns them, and when they were last used is essential for effective data governance and a clutter-free environment. This tutorial will walk you through several methods for getting a complete list of all reports within a specific Power BI workspace, from a simple manual check to powerful automated scripts.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why You Need a List of Power BI Reports

Before jumping into the "how," let's quickly touch on the "why." Generating a list of your reports isn't just about satisfying curiosity. It's a fundamental task for good workspace management. Here are a few common scenarios where an inventory is invaluable:

  • Workspace Auditing and Housekeeping: Over time, workspaces collect unused, obsolete, or duplicate reports. A complete list helps you identify what can be archived or deleted, keeping your environment organized and efficient.
  • Migration Planning: When moving reports to a new workspace, consolidating content, or upgrading your Power BI infrastructure, having a comprehensive list is the first step in planning a smooth transition.
  • Permission and Security Review: Auditing who has access to which reports is much simpler when you have a complete inventory. You can export the list and cross-reference it with your user access policies.
  • Documentation: For teams that need to maintain documentation of their data assets, periodically exporting a list of reports provides an up-to-date catalog of available BI content.

Method 1: The Manual Approach (Simple but Not Scalable)

This is the most straightforward method and requires no special tools - just access to your Power BI workspace. It’s perfect for small workspaces with a dozen or so reports, but it quickly becomes impractical for larger environments.

Step-by-Step Instructions:

  1. Navigate to the Power BI service by going to https://app.powerbi.com.
  2. On the left-hand navigation pane, click on Workspaces and select the workspace you want to inspect.
  3. Inside the workspace, you’ll see several tabs at the top such as All, Content, and Datamodels & dataflows. Click on the Content tab.
  4. Use the filter option just below the tabs and select Reports to hide dashboards, datasets, and other assets.
  5. You now have a view of all the reports. You can manually copy the names of these reports into an Excel sheet or a text document.

Pros:

  • Easy and requires no technical knowledge.
  • Quick for very small workspaces.

Cons:

  • Extremely time-consuming for workspaces with many reports.
  • Prone to human error (missed reports, typos).
  • You can't easily get additional metadata like the Report ID, creation date, or dataset ID.

For anything more than a quick spot-check, you’ll want to move on to a more automated method.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Method 2: Using PowerShell to Create an Automated List

If you have dozens or hundreds of reports, using PowerShell is the way to go. This "power user" method allows you to programmatically connect to your Power BI environment and pull a detailed list of reports that you can easily export to a CSV file. It might look intimidating at first, but it just involves running a few simple commands.

Prerequisites:

  • PowerShell: This comes pre-installed on modern Windows machines.
  • Permissions: You need to be a Contributor, Member, or Admin in the workspace you want to query.

Step 1: Install the Power BI PowerShell Module

First, you need to install the official Microsoft Power BI management module. This only needs to be done once on your machine.

Open PowerShell (right-click the Start Menu and select "Windows PowerShell (Admin)" or "Terminal (Admin)") and run the following command:

Install-Module -Name MicrosoftPowerBIMgmt

If prompted about installing from an untrusted repository, type Y and press Enter to approve it.

Step 2: Connect to Your Power BI Account

Next, you need to authenticate your session. Run this command in PowerShell. A login window will pop up asking for your Power BI credentials.

Connect-PowerBIServiceAccount

Step 3: Get Your Workspace ID

PowerShell cmdlets often work best with the unique ID of your workspace rather than just its name. To find this ID:

  1. Navigate to your Power BI workspace in your web browser.
  2. Look at the URL in your address bar.
  3. The string of characters after /groups/ is your Workspace ID.

Example URL: https://app.powerbi.com/groups/123a4567-b89c-012d-e345-f67890gh1i23/list

Copy this ID and save it for the next step.

Step 4: Run the Script to Get the List

Now you can use the Get-PowerBIReport cmdlet to fetch the reports. In your PowerShell window, replace "YOUR_WORKSPACE_ID_HERE" with the ID you just copied and run the following script:

# Paste your Workspace ID into the variable
$workspaceId = "YOUR_WORKSPACE_ID_HERE"

# Get all reports in the specified workspace
$reports = Get-PowerBIReport -WorkspaceId $workspaceId

# Display the list of report names and their URLs
$reports | Format-Table Name, WebUrl

This will print a nice, clean table directly in your PowerShell console showing the name and direct URL of every report in that workspace. Much faster!

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 5: Exporting the List to a CSV File

Simply displaying the list is useful, but a CSV file is even better for documentation and analysis. Let’s tweak the script to export valuable details like the Report ID, Name, associated Dataset ID, and the web URL.

Create a folder on your computer (e.g., C:\Temp\) where you want to save the file. Then, run this script, making sure to update the $workspaceId and the -Path with your own details.

# Specify the Workspace ID
$workspaceId = "YOUR_WORKSPACE_ID_HERE"

# Define the file path for the CSV output
$exportPath = "C:\Temp\PowerBI_Report_List.csv"

# Get reports from the workspace
$reports = Get-PowerBIReport -WorkspaceId $workspaceId

# Select the properties you care about and export them to a CSV file
$reports | Select-Object -Property Id, Name, DatasetId, WebUrl | Export-Csv -Path $exportPath -NoTypeInformation

Write-Host "Success! The report list has been exported to $exportPath"

You now have a perfectly formatted CSV file with a complete inventory of your reports. You can repeat this process for any workspace, making auditing simple and repeatable.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Method 3: Using Power BI’s Metadata Scanning APIs

For administrators of very large Power BI tenants, you might need an inventory of everything - all reports across all workspaces in the entire organization. This is where Power BI's Metadata Scanning APIs, often called the "Scanner APIs," come into play.

This method is more advanced and is primarily intended for large-scale governance and compliance use cases.

  • What it is: A set of APIs that allows a Power BI administrator to perform a full scan of their tenant’s metadata. The output is a detailed inventory of every artifact, including its properties, lineage (how datasets and reports are connected), and endorsements.
  • How it works: The process is asynchronous. You use a PowerShell command like Invoke-PowerBIApi to kick off a scan for your entire tenant. Because this can take time, you then periodically run another command to check the scan's status. Once complete, you can download all the results.
  • Who is it for? Power BI admins in enterprise organizations who need a complete, tenant-wide picture for compliance, discovering orphan datasets, or building a custom governance portal.

Executing an end-to-end scanner API request is beyond a single blog post, but for those interested, the key cmdlets in the MicrosoftPowerBIMgmt module are Invoke-PowerBIScan and Get-PowerBIScanResult. For a detailed guide, refer to the official Microsoft documentation on Metadata Scanning.

Important Tips for Workspace Management

Getting a list of reports is the first step. Here are a few best practices to keep your workspace clean going forward:

  • Establish a Naming Convention: A consistent naming scheme (e.g., [Department] - [Report Subject] - V1) makes it infinitely easier to identify and search for reports.
  • Use Power BI Apps: Instead of sharing direct links to dozens of individual reports, bundle related content into a Power BI App. It provides a much cleaner, more professional viewing experience for your end-users and is simpler to manage from a permissions standpoint.
  • Regularly Audit Usage Metrics: Each Power BI report comes with a built-in “Usage metrics” report. Periodically check these to see what is being actively used and what is not. If a report hasn’t been viewed in six months, it might be time to retire it.

Final Thoughts

This overview covers a range of techniques for listing the reports in your Power BI workspace, from manual checks for quick wins to automated PowerShell scripts for detailed audits and large-scale API scans for enterprise governance. Having a clear inventory of your assets is the foundation of a well-governed and scalable business intelligence environment.

If dealing with APIs, PowerShell scripts, and complex interfaces like Power BI feels like a lot of overhead, we understand. We built Graphed to remove the technical hurdles between you and your data. Instead of learning query languages or installing modules, you simply connect your data sources (like Google Analytics, HubSpot, or Shopify) and describe the dashboard you want in plain English. Graphed automatically generates live, interactive dashboards in seconds, so you can focus on getting answers, not on configuring tools.

Related Articles