Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
I am hoping someone here has successfully done this type of project before. The organization I work for has multiple workspaces containing multiple semantic models. I am looking for a way (REST API, Python, etc) to extract all workspace names, semantic model names, and the tables in those semantic models. The goal is to be able to identify which models will be affected by field changes/deletions. Has anyone been able to accomplish this?
Solved! Go to Solution.
Thanks for the reply from GilbertQ.
Hi @ReignMaker22 ,
Based on your description of the problem, I'm going to offer an approach:
First we can get all the workspaces by using powershell, the following example will return all workspaces and their names:Get-PowerBIWorkspace (MicrosoftPowerBIMgmt.Workspaces) | Microsoft Learn.
Store the workspace just acquired and then use the workspace ID to get the semantic model of the corresponding workspace:Get-PowerBIDataset (MicrosoftPowerBIMgmt.Data) | Microsoft Learn.
At this point we can use the following three APIs to get the details of the semantic model corresponding to the workspace:
Admin - WorkspaceInfo PostWorkspaceInfo - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo GetScanStatus - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo GetScanResult - REST API (Power BI Power BI REST APIs) | Microsoft Learn
You need to know enough about powershell commands and API to implement it according to the documentation.
Best Regards,
Zhu
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
You can use the scanner API to get this data. I recently did a blog post on how to get the scanner API data using a Fabric notebook.
Downloading Scanner API data using a Microsoft Fabric Notebook - FourMoo | Fabric | Power BI
Thank you for the resonse Gilbert. Does this solution allow you to see what tables are in each semantic model?
Thanks for the reply from GilbertQ.
Hi @ReignMaker22 ,
Based on your description of the problem, I'm going to offer an approach:
First we can get all the workspaces by using powershell, the following example will return all workspaces and their names:Get-PowerBIWorkspace (MicrosoftPowerBIMgmt.Workspaces) | Microsoft Learn.
Store the workspace just acquired and then use the workspace ID to get the semantic model of the corresponding workspace:Get-PowerBIDataset (MicrosoftPowerBIMgmt.Data) | Microsoft Learn.
At this point we can use the following three APIs to get the details of the semantic model corresponding to the workspace:
Admin - WorkspaceInfo PostWorkspaceInfo - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo GetScanStatus - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo GetScanResult - REST API (Power BI Power BI REST APIs) | Microsoft Learn
You need to know enough about powershell commands and API to implement it according to the documentation.
Best Regards,
Zhu
Community Support Team
If there is any post helps, then please consider Accept it as the solution to help the other members find it more quickly.
If I misunderstand your needs or you still have problems on it, please feel free to let us know. Thanks a lot!
Thank you. I will be trying both solutions to see what will work for our needs.