Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
GGuenther
New Member

Power BI Rest API getting table Data

Hi everyone,

I'm currently working on a web application and I would like to access data from tables that were created in Power BI Desktop. These tables are part of a dataset that was published to the Power BI Service.

My main goal is to:

  • Read data from these tables programmatically (e.g. in JSON format)

  • Use this data within a JavaScript/Vue web app for visualization or further logic

I’ve read about the Power BI REST API and also started exploring Microsoft Fabric APIs, but I’m still unclear on a few things:

  1. Is it possible to directly access data from a dataset that was originally built and published via Power BI Desktop?

  2. If yes, which API endpoint or approach should I use? (e.g., Execute Queries, XMLA endpoint, DirectQuery?)

  3. Are there any specific limitations or licensing requirements I need to be aware of?

I'm not looking to push data (so no push datasets), and I’m not using Lakehouse at the moment. I just want to query and read data from my existing semantic model (dataset) in the simplest way possible.

Any guidance or examples would be greatly appreciated!

Thanks in advance 🙏

1 ACCEPTED SOLUTION
v-hashadapu
Community Support
Community Support

Hi @GGuenther , Thank you for reaching out to the Microsoft Community Forum.

 

Yes, it is possible to access data from a dataset that was created in Power BI Desktop and published to the Power BI Service. Once published, the dataset becomes a semantic model that can be queried programmatically using supported Power BI APIs.

 

The best and most straightforward approach is to use the Power BI REST API’s Execute Queries endpoint. This allows you to send DAX queries to the dataset and receive results in JSON format, which is ideal for consumption in a JavaScript or Vue web application. You should not use DirectQuery for this purpose, as it's a report-level connection mode, not a data access method. The XMLA endpoint is another option but requires Premium or Premium Per User (PPU) licensing and is typically more complex to implement, so it's not recommended for lightweight web applications.

 

In terms of licensing, to use the Execute Queries API, you'll need a Power BI Pro license at minimum. If you're using a service principal for authentication, you must enable the appropriate tenant settings in the Power BI admin portal and assign Dataset.Read.All or Dataset.ReadWrite.All permissions to your Azure AD app. Note that datasets with Row-Level Security (RLS) or Single Sign-On (SSO) do not support service principal access. Additionally, API limits include a maximum of 100,000 rows or 1,000,000 values, and a 15MB maximum response size per query. There are also rate limits, typically 120 queries per minute per user or service principal.

 

If this helped solve the issue, please consider marking it 'Accept as Solution' so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.

View solution in original post

1 REPLY 1
v-hashadapu
Community Support
Community Support

Hi @GGuenther , Thank you for reaching out to the Microsoft Community Forum.

 

Yes, it is possible to access data from a dataset that was created in Power BI Desktop and published to the Power BI Service. Once published, the dataset becomes a semantic model that can be queried programmatically using supported Power BI APIs.

 

The best and most straightforward approach is to use the Power BI REST API’s Execute Queries endpoint. This allows you to send DAX queries to the dataset and receive results in JSON format, which is ideal for consumption in a JavaScript or Vue web application. You should not use DirectQuery for this purpose, as it's a report-level connection mode, not a data access method. The XMLA endpoint is another option but requires Premium or Premium Per User (PPU) licensing and is typically more complex to implement, so it's not recommended for lightweight web applications.

 

In terms of licensing, to use the Execute Queries API, you'll need a Power BI Pro license at minimum. If you're using a service principal for authentication, you must enable the appropriate tenant settings in the Power BI admin portal and assign Dataset.Read.All or Dataset.ReadWrite.All permissions to your Azure AD app. Note that datasets with Row-Level Security (RLS) or Single Sign-On (SSO) do not support service principal access. Additionally, API limits include a maximum of 100,000 rows or 1,000,000 values, and a 15MB maximum response size per query. There are also rate limits, typically 120 queries per minute per user or service principal.

 

If this helped solve the issue, please consider marking it 'Accept as Solution' so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.