Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time


A client side library for embedding Power BI using JavaScript or TypeScript into your apps.

Build Status NPM Version Nuget Version NPM Total Downloads NPM Monthly Downloads GitHub tag Gitter


See the Power BI embedded analytics Client APIs documentation to learn how to embed a Power BI report in your application and how to use the client APIs.


See the library reference for detailed information about classes, interfaces, types, etc.


The playground is the home for Power BI embedded analytics, where you can get hands-on coding experience, embed your own reports, and interact with our client APIs to see instant results. In addition, you’ll find there our interactive showcases to get inspiration regarding how you can apply these features in your applications. Lastly, we’ve created a new learning center to help you find all the relevant samples, tutorials, and documentation you’ll need for a successful integration.


Install via Nuget:

Install-Package Microsoft.PowerBI.JavaScript

Install from NPM:

npm install --save powerbi-client

Installing beta versions:

npm install --save powerbi-client@beta

Include the library via import or manually

Ideally you would use a module loader or a compilation step to import using ES6 modules as:

import * as pbi from 'powerbi-client';

However, the library is exported as a Universal Module and the powerbi.js script can be included before your app's closing </body> tag as:

<script src="/powerbi-client/dist/powerbi.js"></script>

When included directly, the library is exposed as a global named powerbi-client. There is also another global named powerbi which is an instance of the service.


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments