Skip to main content

List Projects

GET /v1/projects

List all project folders in your workspace with pagination, search, and sort.

Projects restricted to specific people are omitted for OAuth tokens whose user isn't among them. API keys authenticate as the workspace and see every project.

Query parameters

ParameterTypeRequiredDefaultDescription
pageintegerNo1Page number (minimum 1)
limitintegerNo50Results per page (1–100)
searchstringNoCase-insensitive name match
sortBystringNoupdatedAtOne of updatedAt, createdAt, name
sortOrderstringNodescasc or desc

Example

curl "https://api.vidocu.ai/v1/projects?limit=20&sortBy=name&sortOrder=asc" \
-H "Authorization: Bearer vdo_live_your_key_here"

Response 200 OK

{
"projects": [
{
"id": "0f7c1d8a-2c4b-4a9c-9f2a-1b8a3a5e0c11",
"name": "Q1 Product Launch",
"description": "All onboarding and demo videos for the Q1 launch",
"thumbnailUrl": null,
"access": { "mode": "workspace", "memberIds": [] },
"createdAt": "2026-04-27T10:00:00.000Z",
"updatedAt": "2026-04-27T10:00:00.000Z"
}
],
"pagination": {
"total": 3,
"page": 1,
"limit": 20,
"totalPages": 1
}
}

To list videos inside a project, use GET /v1/videos?projectId={id}. To list uncategorized videos, use GET /v1/videos?uncategorized=true.

Required scope

OAuth tokens need the projects:read scope.

Errors

StatusCodeCause
400validation_errorInvalid query parameter values
401authentication_errorInvalid or missing API key
403insufficient_scopeOAuth token missing projects:read

Cursor pagination

Like videos and jobs, the response includes pagination.nextCursor. Pass it back as cursor to resume exactly after the last row, rather than by offset - which drifts if a project is created while you're paging.