Embed SDK Demo Stay organized with collections Save and categorize content based on your preferences.
The LookerEmbed SDK repository includes sample code and a demo of the Embed SDK. Because of Looker's security requirements, the demo requires a bit of setup. The demo also requires your Lookerembed secret. The embed secret grants access to all of your data, so note the following:
- Don't share your secret with anyone whom you don't want to have complete access to your instance.
- Don't reset your secret if you already are using it in another context.
- Don't set up your code to store the secret in the web browser.
Step 1: Enable embedding in your Looker instance
This is documented in more detail on theSigned embedding documentation page.
- Navigate toAdmin > Platform Embed on your Looker instance. This requires Admin privileges.
- The demo server runs by default at
http://localhost:8080. By adding that address to theEmbedded Domain Allowlist, you can enable the demo to receive messages from Looker. - Turn onEmbed Authentication.
- In order to view your embed secret you must reset it. Copy the secret to a secure place.
Step 2: Customize the demo settings for your Looker instance
Provide your embed secret to the server. You can do this in the following ways:
- Set it as
LOOKER_EMBED_SECRETin your shell environment. - Create a file named
.envin the root of the sdk directory. Add a line to that file:LOOKER_EMBED_SECRET="YourLookerSecret"
Provide your Looker instance host address to the server by using one of the following methods:
- Set it as
LOOKER_WEB_URLin your shell environment. - Add
LOOKER_WEB_URL="yourinstance.looker.com:yourport"to the.envfile.
LOOKER_EMBED_HOST can also be used instead ofLOOKER_WEB_URL.Edit the ENV file to specify the IDs of the content that you want to embed.
#LookerEmbedDataConfiguration#Setto-ifdemoneedstoignoreit#DashboardIDsLOOKER_DASHBOARD_ID=1LOOKER_DASHBOARD_ID_2=2#LookIDLOOKER_LOOK_ID=1#ExploreIDLOOKER_EXPLORE_ID=model::explore#ExtensionIDLOOKER_EXTENSION_ID=extension::my-great-extension#ReportIDLOOKER_REPORT_ID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee#QueryVisualizationIDLOOKER_QUERY_VISUALIZATION_ID=1234567890ABCDEF123456Edit thedemo/demo_user.json file to be appropriate for the type of user you want to embed.
{// External embed user ID. IDs are not shared with regular users. Required"external_user_id":"user1",// First and last name. Optional"first_name":"Pat","last_name":"Embed",// Duration before session expires, in seconds. Required."session_length":3600,// Enforce logging in with these permissions. Recommended."force_logout_login":true,// External embed group ID. Optional."external_group_id":"group1",// Looker Group IDs. Optional"group_ids":[],// Permissions. See documentation for details. Required.// Can any combination of:// access_data// see_looks// see_user_dashboards// see_lookml_dashboards// explore// create_table_calculations// download_with_limit// download_without_limit// see_drill_overlay// see_sql// save_content// embed_browse_spaces// schedule_look_emails// send_to_sftp// send_to_s3// send_outgoing_webhook// schedule_external_look_emails"permissions":["access_data","see_looks","see_user_dashboards","explore","save_content","embed_browse_spaces"],// Model access permissions. Required."models":["powered_by","thelook"],// User attributes. Optional."user_attributes":{"locale":"en_US"},}Step 3: Build and run the demo
To build and run the demo, follow the steps for the appropriate server.
Node server
- Run
npm install - Run
npm start
The server will print out what host and port it is running on. If it is different thanhttp://localhost:8080 then you will need to add it to yourEmbedded Domain Allowlist.
Python server
- Run
npm install - Run
npm run python
The server will print out what host and port it is running on.
You may need topip install six to install the Python 2/3 compatibility layer.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.