The Benchling Developer Platform allows you to programmatically access and edit data in Benchling. This can be used to integrate with instruments in your lab, keep Benchling in sync with other software you use, create dashboards and charts of Benchling data, and more!
All data in Benchling's cloud can be accessed four ways: through the webapp, through our REST API, through our data warehouse, and through Events. While the UI is the most common way to interact with the data, the other methods allow programmatic access that's well-suited to different use-cases.
The Benchling API is the most flexible way to build an integration with Benchling. The API provides CRUD (Create Read Update Delete) access to almost all data in Benchling, through REST endpoints that represent that data as JSON.
Take a look at our Tutorial to get started with using the API. This will walk you through getting API access, and making some basic calls.
The reference docs contain a list of all the endpoints we offer, as well as examples for how to call each of them.
We also have a list of example integrations. These provide examples of more complex, full-featured integrations with Benchling, like an integration that uploads results from a fluorescence reader. These provide a good reference point for how to build your own.
Benchling has a Python SDK that provides help functions and abstractions for interacting with the APIs! If you're using Python, we highly recommend using it (rather than rebuilding it yourself with the
requests package). Check it out here Getting Started with the SDK
Looking for Code?
We have some integration examples in our public github repo!
The data warehouse is a read-only SQL database that tracks assay data, biological entities, inventory data, notebook entries, and other records stored in Benchling. The warehouse centralizes the entire organization's research output and facilitates queries that would historically require parsing multiple data sources, such as “find all batches that had an
OD > 1000”.
The warehouse is well-suited to complex analytics, where the expressiveness of SQL is important. It can be securely connected to third-party analytics tools such as Tableau and Spotfire to create charts and dashboards backed by Benchling data. Configurable permissions ensure appropriate data access control.
The Getting started docs will help you get connected to the warehouse.
All the data the warehouse stores (and the tables the data are stored in) are outlined in Warehouse Tables.
When data is created on Benchling (either by a user, or from an API integration), an ETL pipeline is kicked off that copies that data into the warehouse. This pipeline tends to finish within a few seconds of data creation, although for large volumes of data, this can take longer.
Data in the warehouse is formatted slightly differently than data in the core Benchling database. In some cases, user-defined schemas are given their own tables, with columns for the user-defined fields.
The events system is a way for integration developers to subscribe to certain kinds of actions or changes within Benchling. This can usually be accomplished by polling the relevant API endpoint and looking for changes, but events provide a much cleaner, easier, and faster way to accomplish this. Using events, integrations can be triggered from changes in Benchling to accomplish follow on actions such as:
- Automatically creating objects for the next step in a user workflow
- Adding extra metadata
- Automating instrument interaction
- Syncing changes to an external database
- Notification in a 3rd party application
Events are delivered using Amazon EventBridge. Events are meant to be paired with RestAPIs to accomplish tasks, where the typical architecture looks like:
We have several docs to help you navigate using events:
Updated a day ago