Forum Discussion
Extract Power BI metadata from Power BI Service
can it be possible to extract Power BI metadata from Power BI service like number of datasets, reports in workspace etc ? example using APIs or any external tool?
HI powerbiexpert22,
Yes, you can extract Power BI Service metadata, such as the number of datasets, reports, and dataflows in each workspace, by using the Power BI REST APIs or Admin (Scanner) APIs.
If you need information only for workspaces you have access to, the standard REST APIs can help:
GET /groups/{groupId}/datasets – lists datasets in a workspace
GET /groups/{groupId}/reports – lists reports in a workspace
You can loop through all your workspace IDs to count the total artifacts.
For tenant-wide metadata or automation, Microsoft offers the Admin Scanner API (PostWorkspaceInfo), which gathers detailed metadata like reports, datasets, dataflows, refresh schedules, RLS, and lineage across all workspaces.
This requires Fabric Admin permissions or a service principal with metadata scanning enabled in the Power BI admin portal.
After starting the scan (POST /admin/workspaces/getInfo), you can access results with GET /admin/workspaces/scanResult?scanId={id}.
Datasets - Get Datasets In Group - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Reports - Get Reports - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo PostWorkspaceInfo - REST API (Power BI Power BI REST APIs) | Microsoft LearnThank you.
4 Replies
- Shivu-2000
Responsive Resident
Hii powerbiexpert22
Yes — you can extract Power BI Service metadata (workspaces, number of reports, datasets, etc.) using the Power BI REST APIs.
To do so you can either use the Graph APIs available or Semantic link library
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Happy to help! - v-sgandrathi
Community Support
HI powerbiexpert22,
Yes, you can extract Power BI Service metadata, such as the number of datasets, reports, and dataflows in each workspace, by using the Power BI REST APIs or Admin (Scanner) APIs.
If you need information only for workspaces you have access to, the standard REST APIs can help:
GET /groups/{groupId}/datasets – lists datasets in a workspace
GET /groups/{groupId}/reports – lists reports in a workspace
You can loop through all your workspace IDs to count the total artifacts.
For tenant-wide metadata or automation, Microsoft offers the Admin Scanner API (PostWorkspaceInfo), which gathers detailed metadata like reports, datasets, dataflows, refresh schedules, RLS, and lineage across all workspaces.
This requires Fabric Admin permissions or a service principal with metadata scanning enabled in the Power BI admin portal.
After starting the scan (POST /admin/workspaces/getInfo), you can access results with GET /admin/workspaces/scanResult?scanId={id}.
Datasets - Get Datasets In Group - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Reports - Get Reports - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Admin - WorkspaceInfo PostWorkspaceInfo - REST API (Power BI Power BI REST APIs) | Microsoft LearnThank you.
- v-sgandrathi
Community Support
Hi powerbiexpert22,
Just checking in -- have you had a chance to review and try the provided solution? Kindly share the status whenever you get a chance.
Looking forward to your response.
- v-sgandrathi
Community Support
Hi powerbiexpert22,
Just looping once more to check if everything's good on your end. Let me know if you need any final support happy to assist if anything’s still open.
Thank you.