Public Tableau dashboards are meant to be viewed, not parsed. A lot of the work that goes on to show you the dashboard is handled server-side, and what happens client-side is pretty non-obvious. However, it is doable, and in this document I'll walk through what I've learned.
<aside> 💡 Want an example of this in action?
I maintain a COVID-19 dashboard for Butte County, CA, and pull data from a number of Tableau dashboards via this data extraction script. Inside you'll find some classes for parsing Tableau dashboards, and some uses of those classes. It's constantly evolving, but it might be useful to you.
Those interested in California data may also find some useful datasets I scrape with this method.
</aside>
To parse a Tableau dashboard (known as a sheet in a workbook: — see Terms below), you are going to need a few things:
COUNTY=Butte
, in the example URL above — these are not always obvious)bootstrapSession
.stickySessionKey
and make note of the workbookId
value.You are going to need to make at least two requests to start out: