Using the REST API
The Roboflow REST API is the authoritative interface to the platform — every feature ships here first, and the Python SDK and CLI both call it under the hood. Use the REST API directly when you're building a non-Python integration, calling from a webhook or browser, or working in an environment that can't install Python packages.
There are two base hosts to know about:
https://api.roboflow.com
Management — workspaces, projects, versions, training, workflows, datasets, vision events, trash.
https://serverless.roboflow.com
Hosted inference — running a trained model or workflow against an image or video. See Run a Model on an Image.
Dedicated Deployments are managed at a third host (https://roboflow.cloud).
Resource hierarchy
The Roboflow data model is hierarchical and the API URLs follow the hierarchy:
/:workspace— list projects in a workspace, plus workspace metadata./:workspace/:project— a project's metadata and version list./:workspace/:project/:version— a specific dataset version, its model (if trained), and download URLs./:workspace/:project/:version/:format— download a dataset in a specific export format./:workspace/workflows/:workflow— see Manage Workflows./:workspace/groups— project folders. See Manage Project Folders./:workspace/trash— soft-deleted projects, versions, and workflows. See Manage Trash.
Root endpoint
At the top level (https://api.roboflow.com/), you can verify your api_key is working. The response identifies the workspace your key belongs to:
From there, drill into List Workspaces and Projects to see what's in the workspace.
Authentication and scopes
API keys are workspace-scoped. Pass the key as a query parameter (?api_key=...), in the request body for POST calls, or as a Authorization: Bearer ... header. See Authenticate with the REST API for details and Scoped API Keys for the per-resource scope reference.
Errors
The API uses standard HTTP status codes and a JSON error body. See Errors and Status Codes for the cross-tool error reference.
Last updated
Was this helpful?