Skip to content

What is the JSA?

So you want to build something awesome in SketchUp? You’re in the right place.

The SketchUp JavaScript API lets you create “extensions” that work inside SketchUp. These extensions show custom UI to expand what SketchUp is able to do! It’s similar to our Ruby API, giving you the power to script all kinds of fancy workflows.

Wait, doesn’t SketchUp already have an API?

Section titled “Wait, doesn’t SketchUp already have an API?”

It does! The Ruby API has been around for ages and it’s great. Thousands of extensions are built on it. If you’re a Ruby developer working on SketchUp Desktop, it’s not going anywhere.

But here’s the thing: SketchUp isn’t just a desktop app anymore. It’s worked on the web for many years, but we’ve never had the ability to customize it with extensions. JavaScript (and TypeScript) are popular, powerful, and safe. So we decided it was time to embrace the web and give SketchUp a new superpower.

Pretty much anything you’d expect from a modeling API:

  • Read model data — entities, materials, components, scenes, cameras, you name it
  • Modify the model — create geometry, move things around, apply materials, build entire structures programmatically
  • React to changes — stream live updates as the user edits
  • Manage the view — control the camera, rendering options, and visibility
  • Web developers who want to extend SketchUp without learning Ruby
  • Ruby API veterans who want their extensions to reach users beyond the desktop
  • Anyone who’s ever looked at a SketchUp model and thought “I wish I could automate that”

Head over to Getting Started to pick a tutorial path and build your first extension!