This tutorial introduces how to fetch project metadata like projects and versions directly, refining your data strategy with Speckle's smart querying capabilities.


In this tutorial, Alan showcases the Power Query capabilities of the Speckle connector. At the end of this tutorial, you will learn how to use Power Query and GraphQL to fully leverage the power of Speckle. As an example use case, Alan receives the first ten walls of a model into Power BI.

To get through this tutorial, GraphQL knowledge is required. If you are not familiar with GraphQL, you can check out this short GraphQL for AEC Data Precision presentation given at SpeckleCon.

Prefer Watching? Check out This SpeckleCon Demo!

The Traditional Way  (speckle get by URL)

The default way of receiving data is quite simple: enable the Speckle connector from the "Get Data" dialog, input the URL you want to receive, and we'll fetch the entire version into Power BI. Behind the scenes, the Speckle.GetByURL method is called.

  1. What it does: This method fetches every object from your version and provides a table view of the data
  2. Advantage: This is ideal if you want to explore your whole model as a unit.
  3. Limitation: Fetches all data, which can be inefficient if you want specific details without pulling everything.

The GraphQL Way

If you already know what data you need, then using GraphQL can significantly speed up the process. For instance, if you're dealing with a large data model but you're only interested in the rooms, the default method would require you to receive the entire model and then filter out the rooms. However, with GraphQL, you can specifically request only the rooms you need from Speckle, resulting in much faster data retrieval times, particularly for larger models.

  1. What it does: It only fetches the given query instead of the whole object.
  2. Advantage: Much faster receive times. You only get what you asked. Also, you are not limited to versions. You can receive any data including contributions made to a project, people who are involved, frequency of updates, and so on.
  3. Limitation: It's not beginner-friendly, and manually adding required fields is necessary for the 3D viewer.


Using Speckle and Power BI via the GraphQL API, enables you to fetch and analyse Speckle data more dynamically, making workflows smoother and more efficient. If you'd like to innovate and create with Speckle, join Beyonder the Speckleverse, our next online hackathon happening June 7-9!