| title | List project pages |
|---|---|
| description | List project pages via Plane API. HTTP request format, parameters, scopes, and example responses for listing project pages. |
| keywords | plane, plane api, rest api, api integration, page, list project pages, project pages |
GET
/api/v1/workspaces/{workspace_slug}/projects/{project_id}/pages/
List all pages in a project with optional filtering and search.
The workspace_slug represents the unique workspace identifier for a workspace in Plane. It can be found in the URL. For example, in the URL https://app.plane.so/my-team/projects/, the workspace slug is my-team.
The unique identifier of the project.
Filter pages by scope. Defaults to all.
all— all pages the user has access topublic— pages with public access, excluding archivedprivate— pages owned by the user and not shared, excluding archivedshared— private pages explicitly shared with the userarchived— pages that have been archived
Case-insensitive search on page title.
Number of results per page. Defaults to 20, maximum 100.
Pagination cursor for getting the next or previous set of results.
curl -X GET \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-id/pages/?type=public&search=welcome&per_page=20" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN"import requests
response = requests.get(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-id/pages/",
headers={"X-API-Key": "your-api-key"},
params={"type": "public", "search": "welcome", "per_page": 20},
)
print(response.json())const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/project-id/pages/?type=public&search=welcome&per_page=20",
{
method: "GET",
headers: {
"X-API-Key": "your-api-key",
},
}
);
const data = await response.json();{
"grouped_by": null,
"sub_grouped_by": null,
"total_count": 4,
"next_cursor": "20:1:0",
"prev_cursor": "20:-1:1",
"next_page_results": false,
"prev_page_results": false,
"count": 4,
"total_pages": 1,
"total_results": 4,
"extra_stats": null,
"results": [
{
"id": "b3478c56-31f6-4f7e-b445-8392a4b26621",
"name": "welcome 3 b",
"owned_by": "5b0af4aa-e310-408a-a480-868429af5701",
"access": 0,
"is_locked": false,
"archived_at": null,
"workspace": "8725ddfa-c181-49f6-9173-97b8d0b7d599",
"created_at": "2026-04-01T15:41:19.062280Z",
"updated_at": "2026-04-07T19:30:39.274060Z",
"logo_props": {},
"parent_id": "a2819c8b-f7ac-4cbd-b971-682726c4f8cc"
}
]
}