Tableau API Guide

Tableau offers a variety of APIs for different purposes such as automation, integration, and extension. However, because there are so many API types—each with its own goals—it can be difficult for first-time users to decide which API to use.
This post briefly introduces Tableau’s APIs and summarizes what each API does with practical examples. The aim is to help you set a clear guideline for “use this API in this situation.” For detailed implementation, please refer to the linked official documentation.
API Overview
API Name | Primary Purpose |
---|---|
REST API | Automate management of users, content, and tasks on Tableau Server/Cloud |
Embedding API | Embed and control Tableau visualizations in web or app environments |
Webhooks | Automatically notify external systems of Tableau events |
Metadata API | Analyze relationships and impact between content and data assets |
Hyper API | .hyper extract creation, update, read, and delete |
Document API | Programmatic editing and deployment of workbook/data source files |
Tableau Extensions API | Build custom functionality inside dashboards |
Analytics Extensions API | Run calculations with external languages (e.g., Python, R) |
Web Data Connector (WDC) | Connect to web APIs, JSON, XML, etc. |
Connector SDK | Develop custom connectors for new databases/SaaS |
Mobile App Bootstrap | Embed Tableau content in mobile apps |
REST API
An API to programmatically control users, content, sites, and jobs in Server and Cloud environments.
- User and group management
- Publish workbooks and data sources; set permissions
- Refresh extracts and run Prep flows (Conductor)
- Configure sites, token-based authentication, and more
Examples
- Auto-provision new users and assign groups
- Schedule daily early-morning extract refreshes
- Bulk-update permissions by project
Embedding API
An API to embed and control Tableau visualizations in web pages or web apps.
<tableau-viz>
web component or modular JavaScript library- Control filters, parameters, and mark selections from external UI
- Compatible with modern frameworks such as React and Angular
Examples
- Embed dashboards in an internal portal or service site
- Update visuals in real time based on user inputs
Webhooks
Sends Tableau events to external systems automatically.
Create and manage webhooks through the REST API.
- Detect events such as workbook published, extract failed, or flow completed
- Integrate via HTTP POST with Slack, email, ServiceNow, and more
Examples
- Send automatic alerts when an extract fails
- Email approval requests when content is published
- Post to Slack when a new workbook is published
Metadata API
Analyzes relationships among content and data assets and traces lineage.
Query a single GraphQL endpoint, selecting only the fields you need.
- Identify dependencies across workbooks, sheets, data sources, and tables
- Support data governance and impact analysis
Examples
- Find all sheets where a specific field is used
- List content affected by a change to a given table
Hyper API
Creates, updates, and deletes Tableau’s .hyper
extract files.
- Available for Python, Java, C++, and more
- Automate custom ETL workflows
- Run advanced queries using Hyper SQL
Examples
- Clean external data and generate a .hyper extract
- Automate periodic updates to extract data
Document API
Programmatically edit and deploy workbook (.twb
) and data source (.tds
) files.
Support level: As-Is (not fully covered by standard support; subject to change).
- Safely manipulate the underlying XML structure
- Swap connections, extract field usage, and generate templates
Examples
- Automatically switch test data sources to production
- Bulk-generate standardized template workbooks
Tableau Extensions API
Embed external web applications inside Tableau dashboards.
Extension types include Dashboard Extensions (interact with dashboards) and Viz Extensions (add new visualization types).
- Bidirectional communication with external systems
- Handle user events such as mark selections and filter changes
- Develop with JavaScript, HTML, and CSS
Examples
- Add an in-dashboard user feedback form
- Send filter values to an external system and display real-time results
Analytics Extensions API
Call external computation engines (Python, R, MATLAB, SageMaker, etc.) from Tableau calculations.
- Return real-time predictions and statistical results to your visuals
- Secure HTTPS communication and authentication
Examples
- Display real-time outputs from a machine learning model
- Incorporate R-based statistical results into calculations
Web Data Connector (WDC)
Connect Tableau to web APIs and data in JSON or XML.
With WDC 3.0, run locally via EPS (Extensible Protocol Server) and distribute with TACO Toolkit, including .taco
packaging/signing.
- Build custom connectors using HTML + JavaScript
- Connect to REST APIs, open data portals, RSS, and more
Examples
- Pull open data via public APIs into Tableau
- Connect to SaaS data sources (e.g., Google Analytics)
Connector SDK
A development toolkit for building custom connectors to new data sources.
- ODBC/JDBC driver–based
- Define SQL dialect, authentication flows, and UI
- Validate with TDVT
Examples
- Build an internal database connector for your organization
- Create a dedicated connector for a specific SaaS platform
Mobile App Bootstrap
Provides sample templates and examples for embedding Tableau content in mobile apps.
- Supports React Native, Cordova, iOS, and more
- Enables branded UI and token-based authentication
Examples
- Provide real-time dashboards in an employee mobile app
- Offer offline previews of key data
Each Tableau API has a distinct purpose and role. When combined appropriately, they can extend Tableau into a platform that integrates seamlessly with the broader data ecosystem across your organization.
Choose the API that fits your automation, extension, or integration needs to boost both operational efficiency and the impact of your data.