What does this mean for Speckle?

We’ve been considering making this shift for some time now, moving from Viewer Core to Viewer Extensions a monolithic API to a modular one, allowing you to have a rich library of packages and extensions you can pick from when building your applications.

Limitations of Current API

Our current API was originally developed with the needs of the Speckle frontend in mind. This led to it being less open to other general-purpose applications and made it difficult to customise or develop on top of it.

Additionally, the current API only allows Speckle streams as input data, and we have seen the need for having traditional input sources like .gltf, .obj, .fbx, etc, or even custom non-standardised data formats.

Customising Viewer Applications

We’ve seen some of you leveraging our Viewer APIs for various applications such as Urban Decarb tools and other visualisation platforms where Speckle’s Viewer library enables to build interactive and dynamic dashboards.

Urban Decarb Tool with Henning Larsen

We wanted to expand on the functionalities of Viewer APIs, to offer you a wider range of options to pick from when it comes to building the applications of your choice.

Introducing Viewer API 2.0

We’re changing how you work with Viewer as a library by broadening the levels of APIs you can use. By breaking down Viewer API 1.0, into a core Viewer and Extensions, you now have access to API extensions and wider customisation opportunities that were not available before.

You also have the possibility to extend the stock extensions and even create new ones, contributing to the Speckle ecosystem without limits.

::: tip

This level of flexibility allows for better data manipulation and innovation. You can also make your own extensions and load any input data formats via customisable loaders and converters. Viewer will still work and look the same.


In a nutshell, Viewer API 2.0 will be split into:

  • Viewer Core, which handles strictly basic internal workings of the Viewer and offers an API
  • Viewer Extensions that handle specific functionalities, relying on Viewer Core and offering their own APIs

Join our next Community StandUp to give us valuable input and insights, and tune in for a full demo!

Subscribe to our newsletter for more content like this!