> ## Documentation Index
> Fetch the complete documentation index at: https://snowseo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List Page Folders

> List URL folders with aggregated metrics, health scores, and server-side pagination.

Get an aggregated view of pages organized by URL folder path. Returns folder health, traffic, crawl metrics, and issue counts.

Without `page` or `pageSize` it returns every folder. Send either to get one page of rows with the pagination totals.

Visitor counts need `analyticsProvider` set to the brand's connected analytics integration (`ga`, `posthog`, `plausible` or `snow`). Sorting by `visitors` or `visitorsChange` without it returns `400`.


## OpenAPI

````yaml GET /v3/pages/folders
openapi: 3.0.0
info:
  title: SnowSEO API
  description: API documentation for SnowSEO
  version: 1.0.0
servers:
  - url: https://api.snowseo.com
    description: Production server
security:
  - bearerAuth: []
  - apiKey: []
externalDocs:
  url: https://snowseo.com/docs
  description: Find more info here
paths:
  /v3/pages/folders:
    get:
      tags:
        - Pages
      summary: Browse a site's pages as a folder tree
      description: >-
        Groups the team's pages into the direct children of a path: the
        sub-folders below it with their traffic rolled up, and the pages that
        sit at that level. Call it with no path for the site root, then walk
        down using the path of any returned folder.
      operationId: listPageFolders
      parameters:
        - schema:
            type: string
          in: query
          name: teamId
          required: false
          description: Team ID
        - schema:
            type: string
          in: query
          name: startDate
          required: false
          description: Start date (YYYY-MM-DD on the team's calendar).
        - schema:
            type: string
          in: query
          name: endDate
          required: false
          description: >-
            End date (YYYY-MM-DD on the team's calendar). A start with no end
            runs to today; an end with no start means All Time.
        - schema:
            type: integer
            minimum: 1
            default: 30
          in: query
          name: days
          required: false
          description: >-
            Days back from today on the team's calendar, converted to
            startDate/endDate. Ignored when startDate or endDate is set.
            Defaults to 30.
        - schema:
            type: string
          in: query
          name: country
          required: false
          description: ISO-3 country code to filter Search Console rows by.
        - schema:
            type: string
          in: query
          name: device
          required: false
          description: 'Device filter: desktop, mobile or tablet.'
        - schema:
            type: string
          in: query
          name: type
          required: false
          description: 'Search type: web, image, video or news.'
        - schema:
            type: integer
            minimum: 1
          in: query
          name: page
          required: false
          description: >-
            1-based page of rows. Omit page and pageSize for every row,
            unpaginated.
        - schema:
            type: string
          in: query
          name: pageSize
          required: false
          description: Rows per page, or 'all'.
        - schema:
            type: string
          in: query
          name: search
          required: false
          description: Matches folder and page names, page URLs and top pages.
        - schema:
            type: string
            enum:
              - name
              - visitors
              - position
              - keywords
              - auditScore
              - aiCitations
              - clicks
              - impressions
              - ctr
              - visitorsChange
              - positionChange
              - keywordsChange
              - clicksChange
              - impressionsChange
              - ctrChange
          in: query
          name: sortBy
          required: false
        - schema:
            type: string
            enum:
              - asc
              - desc
          in: query
          name: sortDir
          required: false
        - schema:
            type: string
            enum:
              - ga
              - posthog
              - plausible
              - snow
          in: query
          name: analyticsProvider
          required: false
          description: >-
            Connected analytics integration to read page visitors from: ga
            (Google Analytics), posthog, plausible or snow (Snow Analytics).
            Without it, rows carry no visitor counts, and sorting by visitors
            returns 400.
        - schema:
            type: string
          in: query
          name: path
          required: false
          description: Folder to list, e.g. /blog. Defaults to / (the site root).
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                required:
                  - path
                  - folders
                  - pages
                properties:
                  path:
                    type: string
                  pagination:
                    type: object
                    properties:
                      page:
                        type: integer
                      pageSize:
                        type: integer
                      total:
                        type: integer
                      totalPages:
                        type: integer
                  groupOrder:
                    type: array
                    items:
                      type: string
                  analyticsPaths:
                    type: array
                    items:
                      type: string
                  analyticsPageviews:
                    type: number
                  analyticsPageviewsChange:
                    type: number
                    nullable: true
                  breadcrumb:
                    type: array
                    items:
                      type: object
                      properties:
                        path:
                          type: string
                        name:
                          type: string
                  folders:
                    type: array
                    items:
                      type: object
                      required:
                        - path
                        - name
                        - url
                      properties:
                        pages:
                          type: integer
                        clicks:
                          type: number
                        impressions:
                          type: number
                        ctr:
                          type: number
                        position:
                          type: number
                        keywords:
                          type: integer
                        keywordsChange:
                          type: number
                        auditScore:
                          type: integer
                          nullable: true
                        auditedPages:
                          type: integer
                        clicksChange:
                          type: number
                        impressionsChange:
                          type: number
                        ctrChange:
                          type: number
                        positionChange:
                          type: number
                        aiCitations:
                          type: integer
                        path:
                          type: string
                        name:
                          type: string
                        url:
                          type: string
                        subfolders:
                          type: integer
                        visitors:
                          type: number
                        visitorsChange:
                          type: number
                          nullable: true
                        topPages:
                          type: array
                          items:
                            type: object
                            required:
                              - url
                              - path
                            properties:
                              url:
                                type: string
                              path:
                                type: string
                              title:
                                type: string
                                nullable: true
                              statusCode:
                                type: integer
                                nullable: true
                              clicks:
                                type: number
                              impressions:
                                type: number
                              ctr:
                                type: number
                              position:
                                type: number
                              keywords:
                                type: integer
                              keywordsChange:
                                type: number
                              clicksChange:
                                type: number
                              impressionsChange:
                                type: number
                              ctrChange:
                                type: number
                              positionChange:
                                type: number
                              auditScore:
                                type: integer
                                nullable: true
                              indexVerdict:
                                type: string
                                nullable: true
                              aiCitations:
                                type: integer
                              visitors:
                                type: number
                              visitorsChange:
                                type: number
                                nullable: true
                        childFolders:
                          type: array
                          items:
                            type: object
                            required:
                              - path
                              - name
                              - url
                            properties:
                              pages:
                                type: integer
                              clicks:
                                type: number
                              impressions:
                                type: number
                              ctr:
                                type: number
                              position:
                                type: number
                              keywords:
                                type: integer
                              keywordsChange:
                                type: number
                              auditScore:
                                type: integer
                                nullable: true
                              auditedPages:
                                type: integer
                              clicksChange:
                                type: number
                              impressionsChange:
                                type: number
                              ctrChange:
                                type: number
                              positionChange:
                                type: number
                              aiCitations:
                                type: integer
                              path:
                                type: string
                              name:
                                type: string
                              url:
                                type: string
                              subfolders:
                                type: integer
                              visitors:
                                type: number
                              visitorsChange:
                                type: number
                                nullable: true
                              topPages:
                                type: array
                                items:
                                  type: object
                                  required:
                                    - url
                                    - path
                                  properties:
                                    url:
                                      type: string
                                    path:
                                      type: string
                                    title:
                                      type: string
                                      nullable: true
                                    statusCode:
                                      type: integer
                                      nullable: true
                                    clicks:
                                      type: number
                                    impressions:
                                      type: number
                                    ctr:
                                      type: number
                                    position:
                                      type: number
                                    keywords:
                                      type: integer
                                    keywordsChange:
                                      type: number
                                    clicksChange:
                                      type: number
                                    impressionsChange:
                                      type: number
                                    ctrChange:
                                      type: number
                                    positionChange:
                                      type: number
                                    auditScore:
                                      type: integer
                                      nullable: true
                                    indexVerdict:
                                      type: string
                                      nullable: true
                                    aiCitations:
                                      type: integer
                                    visitors:
                                      type: number
                                    visitorsChange:
                                      type: number
                                      nullable: true
                              childFolders:
                                type: array
                                items:
                                  type: object
                                  required:
                                    - path
                                    - name
                                    - url
                                  properties:
                                    pages:
                                      type: integer
                                    clicks:
                                      type: number
                                    impressions:
                                      type: number
                                    ctr:
                                      type: number
                                    position:
                                      type: number
                                    keywords:
                                      type: integer
                                    keywordsChange:
                                      type: number
                                    auditScore:
                                      type: integer
                                      nullable: true
                                    auditedPages:
                                      type: integer
                                    clicksChange:
                                      type: number
                                    impressionsChange:
                                      type: number
                                    ctrChange:
                                      type: number
                                    positionChange:
                                      type: number
                                    aiCitations:
                                      type: integer
                                    path:
                                      type: string
                                    name:
                                      type: string
                                    url:
                                      type: string
                                    subfolders:
                                      type: integer
                                    visitors:
                                      type: number
                                    visitorsChange:
                                      type: number
                                      nullable: true
                                    topPages:
                                      type: array
                                      items:
                                        type: object
                                        required:
                                          - url
                                          - path
                                        properties:
                                          url:
                                            type: string
                                          path:
                                            type: string
                                          title:
                                            type: string
                                            nullable: true
                                          statusCode:
                                            type: integer
                                            nullable: true
                                          clicks:
                                            type: number
                                          impressions:
                                            type: number
                                          ctr:
                                            type: number
                                          position:
                                            type: number
                                          keywords:
                                            type: integer
                                          keywordsChange:
                                            type: number
                                          clicksChange:
                                            type: number
                                          impressionsChange:
                                            type: number
                                          ctrChange:
                                            type: number
                                          positionChange:
                                            type: number
                                          auditScore:
                                            type: integer
                                            nullable: true
                                          indexVerdict:
                                            type: string
                                            nullable: true
                                          aiCitations:
                                            type: integer
                                          visitors:
                                            type: number
                                          visitorsChange:
                                            type: number
                                            nullable: true
                  pages:
                    type: array
                    items:
                      type: object
                      required:
                        - url
                        - path
                      properties:
                        url:
                          type: string
                        path:
                          type: string
                        title:
                          type: string
                          nullable: true
                        statusCode:
                          type: integer
                          nullable: true
                        clicks:
                          type: number
                        impressions:
                          type: number
                        ctr:
                          type: number
                        position:
                          type: number
                        keywords:
                          type: integer
                        keywordsChange:
                          type: number
                        clicksChange:
                          type: number
                        impressionsChange:
                          type: number
                        ctrChange:
                          type: number
                        positionChange:
                          type: number
                        auditScore:
                          type: integer
                          nullable: true
                        indexVerdict:
                          type: string
                          nullable: true
                        aiCitations:
                          type: integer
                        visitors:
                          type: number
                        visitorsChange:
                          type: number
                          nullable: true
                  pagesTotals:
                    type: object
                    properties:
                      pages:
                        type: integer
                      clicks:
                        type: number
                      impressions:
                        type: number
                      ctr:
                        type: number
                      position:
                        type: number
                      keywords:
                        type: integer
                      keywordsChange:
                        type: number
                      auditScore:
                        type: integer
                        nullable: true
                      auditedPages:
                        type: integer
                      clicksChange:
                        type: number
                      impressionsChange:
                        type: number
                      ctrChange:
                        type: number
                      positionChange:
                        type: number
                      aiCitations:
                        type: integer
                  totals:
                    type: object
                    properties:
                      pages:
                        type: integer
                      clicks:
                        type: number
                      impressions:
                        type: number
                      ctr:
                        type: number
                      position:
                        type: number
                      keywords:
                        type: integer
                      keywordsChange:
                        type: number
                      auditScore:
                        type: integer
                        nullable: true
                      auditedPages:
                        type: integer
                      clicksChange:
                        type: number
                      impressionsChange:
                        type: number
                      ctrChange:
                        type: number
                      positionChange:
                        type: number
                      aiCitations:
                        type: integer
                  series:
                    type: array
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                        clicks:
                          type: number
                        impressions:
                          type: number
                        position:
                          type: number
                  connected:
                    type: boolean
                  startDate:
                    type: string
                    nullable: true
                  endDate:
                    type: string
                    nullable: true
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Your SnowSEO API key (sk_...).
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.