REST API
Overview of the Roboflow REST API hosts, resource hierarchy, root endpoint, and authentication methods.
Last updated
Was this helpful?
Overview of the Roboflow REST API hosts, resource hierarchy, root endpoint, and authentication methods.
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).
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.
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.
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.
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?
Was this helpful?
curl "https://api.roboflow.com/?api_key=$ROBOFLOW_API_KEY"{
"welcome": "Welcome to the Roboflow API.",
"instructions": "You are successfully authenticated.",
"docs": "https://docs.roboflow.com",
"workspace": "my-workspace"
}