JavaScript library for embedding Power BI into your apps. Check out the docs website and wiki for more information.
TypeScript JavaScript HTML CSS
Pull request Compare This branch is 2 commits ahead, 5 commits behind Microsoft:master.
Latest commit 1583d57 Dec 20, 2016 @jonbgallant Clean up some text.
Failed to load latest commit information.
.vscode Auto-format all files to use consistent tab size of 2. Aug 22, 2016
demo Clean up some text. Dec 20, 2016
dist Merge Dev into master. (#115) Dec 8, 2016
src Merge Dev into master. (#115) Dec 8, 2016
test Add pageView to loadDashboardConfiguration Nov 13, 2016
.gitignore Revert .gitignore change which excluded all dotfiles. Aug 30, 2016
.travis.yml Merge branch 'master' into release Aug 31, 2016 Update report component to get filterPaneEnabled and navContentPaneEn… Jul 8, 2016 Use correct command `build:docs` instead of `docs` in… Sep 16, 2016
LICENSE.txt Untrack tmpe2e files, rename the LICENSE and README files to be upper… Jun 7, 2016
PowerBI.JavaScript.nuspec Updated build generation for v1.1 package (#20) Jul 8, 2016 Added missing - from npm command (#55) Sep 12, 2016
bower.json Add bower install support Nov 28, 2016
gulpfile.js Added dts files for es6 promise and pbi models (#41) Aug 30, 2016
karma.conf.js Add ability to test using Firefox browser. Aug 23, 2016
package.json Merge Dev into master. (#115) Dec 8, 2016
tsconfig.json Auto-format all files to use consistent tab size of 2. Aug 22, 2016
tslint.json Setup tslint on build and test to enforce good practices and consiste… Aug 22, 2016
typings.json Move common interfaces between host and iframe to protocol file with … Jun 15, 2016
webpack.config.js Consolidate generate of banner to single location for better maintenance Jun 29, 2016
webpack.test.config.js Consolidate all tests so they can be run with single command: gulp te… Jun 16, 2016
webpack.test.tsconfig.json Auto-format all files to use consistent tab size of 2. Aug 22, 2016


JavaScript library for embedding Power BI into your apps.

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


See the wiki for more details about embedding, service configuration, setting default page, page navigation, dynamically applying filters, and more.

Code Docs

See the code docs for detailed information about classes, interfaces, types, etc.


See the live demo for sample application using the powerbi-client library in scenarios such as page navigation, applying filters, updating settings, and more.


Install via Nuget:

Install-Package Microsoft.PowerBI.JavaScript -Pre

Install from NPM:

npm install --save powerbi-client

Install from Bower:

bower install powerbi-client --save

Installing beta versions:

npm install --save powerbi-client@beta

Include the library via import or manually

Ideally you would use module loader or 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 apps closing </body> tag as:

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

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