> This page is for Designer API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Get all pages and folders

## `webflow.getAllPagesAndFolders()`

Retrieves all pages and folders in the current site.

### Syntax

```typescript
webflow.getAllPagesAndFolders(): Promise<Array<Page | Folder>>
```

### Returns

**Promise\<Array\<*Folder* | *Page*>>**

A Promise that resolves to an array of page and/or folder objects.

### Example

```typescript
// Get all pages and folders
const pagesAndFolders = await webflow.getAllPagesAndFolders()

// Print Page Details
const pages = pagesAndFolders?.filter(i => i.type === "Page")
await Promise.all(pages.map(async page => {

  const pageName = await page.getName()
  console.log(`Page: ${pageName}`)

}))

const folders = pagesAndFolders?.filter(i => i.type === "PageFolder")
await Promise.all(folders.map(async folder => {

  const folderName = await folder.getName()
  console.log(`Folder: ${folderName}`)

}))
```

[Try this example](https://webflow.com/oauth/authorize?response_type=code\&client_id=19511de1ec410f9228d8dcbc9420e67916dea80d86d18f0c9a533eb475ea0f62)

### Branch pages

Results include branch pages, because branches are pages internally.
Use [`page.getBranchId()`](/designer/reference/get-branch-id) to distinguish branch pages from main pages, and [`page.listBranches()`](/designer/reference/list-branches) to discover all branches for a specific page.

### Designer Ability

| Designer Ability        | Locale | Branch | Workflow | Sitemode |
| :---------------------- | :----- | :----- | :------- | :------- |
| **canReadPageSettings** | Any    | Any    | Any      | Any      |