Today we're excited to announce the launch of our new REST API, a way for your code to interface with the information stored in your Roboflow workspace. Read the full API documentation here.

We're launching with five read-only API routes (to access commonly used data about your workspace, project, versions, models, and exports) but will be expanding the capabilities over time with the goal of eventually achieving feature parity with our web UI so that your code can execute any of the actions humans can currently perform by hand in Roboflow.

Your API Key

If you've ever used our Upload API or Inference API you already have a Roboflow API Key for your workspace. If not, go to your workspace's settings to obtain one.

Obtain an API Key from your Workspace's settings.

Each API Key is tied to a specific workspace; treat it like a password and keep it private because your API Key can be used to access and modify the data in your workspace.

Reading Data

We are launching with five API routes:

  • / - validate your API Key and see which workspace it is tied to.
  • /:workspace - get information about your workspace and a list of projects.
  • /:workspace/:project - get information about a specific project in your workspace and a list of its generated versions.
  • /:workspace/:project/:version - get information about a specific generated version and its available trained models and exports.
  • /:workspace/:project/:version/:format - get the download link for a specific exported version that you can integrate with our training notebooks or your own custom models.

Get the full details and see the response format for each method in our API docs.

Example Use Cases

With these routes and our Upload, Annotate, and Inference APIs, you can build powerful integrations.

For example, you could build a way to collect real-world data from your application and pipe it into a specific project for review and labeling. Or you could direct your application to automatically select the best performing model for inference. Or you could even create a dynamic dataset selector for your Jupyter notebooks.

What's Next

We'll be posting example projects utilizing the Roboflow API soon and creating wrapper SDKs in the most popular programming languages (starting with Python). You can also look forward to further expansion of the Roboflow REST API's capabilities soon!

Build something cool with the API or need a specific endpoint we haven't implemented yet? Drop us a line!