JavaScript library for embedding Power BI into your apps. Check out the docs website and wiki for more information.
TypeScript JavaScript HTML
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.vscode Auto-format all files to use consistent tab size of 2. Aug 22, 2016
demo Merged PR 8774: Playground - new samples Aug 19, 2018
dist Fix merge conflicts Jul 31, 2018
src Merged PR 7685: Upgrade version Jul 23, 2018
test Merged PR 4587: initialized local accessToken fields on setAccessToke… Jun 6, 2018
.gitignore Merged PR 3730: fix http-server version. Jan 2, 2018
.travis.yml Merge branch 'master' into release Aug 31, 2016 Update report component to get filterPaneEnabled and navContentPaneEn… Jul 8, 2016 Merged PR 3605: Single Visual Embed implementation. Dec 18, 2017
LICENSE.txt Untrack tmpe2e files, rename the LICENSE and README files to be upper… Jun 7, 2016
NOTICE.txt Merged PR 18976: Merge dev to master Mar 19, 2017
PowerBI.JavaScript.nuspec remove typescript files from nuget (#134) Jan 16, 2017 Update Mar 13, 2018
bower.json Add bower install support Nov 28, 2016
gulpfile.js Fix typescript import Jul 24, 2017
karma.conf.js Add ability to test using Firefox browser. Aug 23, 2016
package.json Fix merge conflicts Jul 31, 2018
tsconfig.json Auto-format all files to use consistent tab size of 2. Aug 22, 2016
tslint.json merge external changes Jul 5, 2017
typings.json Move common interfaces between host and iframe to protocol file with … Jun 15, 2016
webpack.config.js Fix typescript import Jul 24, 2017
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


Reporting issues on this reporsitory has been disabled. Please use Stack Overflow - Tag:powerbi-embedded

Or our support pages Power BI Support Page

Power BI Ideas


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.


New 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

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.