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

# List pages for a website

> Legacy v1 equivalent of the v2 list pages endpoint.

<Warning>
  **The Reporting API v1.0 is unsupported.** It receives no new endpoints or fields and will
  be sunsetted. This reference is published only to help you migrate to the
  [Reporting API v2.0](/docs/other-apis/conductor-monitoring-reporting-api/) — do not build new
  integrations against it. See the
  [migration guide](/docs/other-apis/conductor-monitoring-reporting-api-v10-legacy/#migration-guide)
  for the v1 to v2 endpoint mapping.
</Warning>


## OpenAPI

````yaml other-apis/monitoring/openapi.json GET /v1/websites/{website_id}/pages/list
openapi: 3.0.3
info:
  title: Conductor Monitoring APIs
  description: >-
    Complete collection for all Conductor Monitoring APIs.


    ## The 3 API Tokens


    | Token Variable | API | Purpose |

    |---|---|---|

    | `reporting_api_token` | Reporting API v1 + v2 | READ — extract SEO data,
    stats, pages, issues, alerts |

    | `cms_api_token` | CMS API v1 | WRITE — trigger immediate page re-crawl
    after publishing |

    | `enrichment_api_token` | Data Enrichment API v1 | WRITE — push custom
    field values (revenue, owner, etc.) into pages |


    All tokens found under: ****Account** > **Account** tab > **Integration
    Tokens****


    ## Rate Limits

    - Reporting API: 6 req/sec/IP (429 for 1 min if exceeded)

    - Data Enrichment API: max 1,000 URLs/request, 1 req/sec/website
  version: 1.0.0
servers:
  - url: https://api.cm.conductor.com
security: []
tags:
  - name: Reporting API v2 - Entities
    description: |-
      Current version — use this for all new integrations.
      Token: reporting_api_token
      Purpose: Read-only SEO data extraction.
  - name: Reporting API v2 - Data
    description: |-
      Current version — use this for all new integrations.
      Token: reporting_api_token
      Purpose: Read-only SEO data extraction.
  - name: Reporting API v2 - Alerts
    description: |-
      Current version — use this for all new integrations.
      Token: reporting_api_token
      Purpose: Read-only SEO data extraction.
  - name: Reporting API v1 (Legacy)
    description: >-
      Original Reporting API — will be deprecated. Same reporting_api_token as
      v2.


      Key differences from v2:

      - website_id is a URL path segment, not a query param

      - Has /gds (Google Data Studio) and /metrics endpoints not in v2

      - No LFA endpoint

      - Fewer response fields


      Migrate to v2 when possible.
  - name: CMS API v1
    description: >-
      Trigger immediate re-crawls when content is published.

      Token: cms_api_token (separate from Reporting API)

      Typical use: call from CMS publish hooks (WordPress, Contentful, Drupal,
      etc.)
  - name: Data Enrichment API v1
    description: >-
      Push custom data into Conductor Monitoring pages.

      Token: enrichment_api_token (separate from Reporting and CMS APIs)


      Use cases: revenue per page, page owner, qualified leads, content score,
      last reviewed date.


      Setup:

      1. **Settings** > **Enrichment Fields** > **Create Enrichment Field**

      2. Choose type: string, number, boolean, or date

      3. Copy the Enrichment Field ID for use in requests


      Rate limits: max 1,000 URLs/request, 1 req/sec/website


      Once pushed, enrichment data can be used to:

      - Filter pages

      - Create segments

      - Set change alerts

      - View in page detail
paths:
  /v1/websites/{website_id}/pages/list:
    get:
      tags:
        - Reporting API v1 (Legacy)
      summary: List Pages for a Website
      description: Legacy equivalent of GET /v2/data/pages.
      parameters:
        - name: website_id
          in: path
          required: true
          schema:
            type: string
          example: 1-234
        - name: page
          in: query
          required: true
          description: >-
            Required. Omitting it returns `400 invalid_payload` naming the
            missing field. **Pagination control.** Which page of *results* to
            return, numbered from 1. It selects a slice of the result set and is
            unrelated to the web pages the endpoint returns.
          schema:
            type: integer
          example: 1
        - name: per_page
          in: query
          required: true
          description: >-
            Required. Omitting it returns `400 invalid_payload` naming the
            missing field. **Pagination control.** How many *results* to return
            per request, 1–1000. It counts result rows, not web pages on your
            site.
          schema:
            type: integer
          example: 100
        - name: filter
          in: query
          required: false
          schema:
            type: string
        - name: sort
          in: query
          required: false
          schema:
            type: string
        - name: sort_direction
          in: query
          required: false
          schema:
            type: string
            enum:
              - asc
              - desc
          example: asc
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: integer
                  urls:
                    type: array
                    items:
                      type: object
                      properties:
                        app_url:
                          type: string
                          format: uri
                        analytics_services:
                          type: array
                          items:
                            type: string
                          description: >-
                            Documented as `string` in the Reporting API
                            reference; sample responses return `array`.
                          nullable: true
                        canonical_type:
                          type: string
                        custom_elements:
                          oneOf:
                            - type: object
                              properties:
                                author:
                                  type: string
                                date_published:
                                  type: string
                                custom_element_name:
                                  description: >-
                                    String/number/boolean/date (depending on
                                    configuration)
                                  type: string
                            - type: array
                              items: {}
                              maxItems: 0
                          description: >-
                            Map of Custom Element name to extracted value.
                            Serialised as `[]` when empty.
                        ga_average_time:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Seconds. Documented as `integer` in the Reporting
                            API reference; sample responses return `number`.
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        ga_bounce_rate:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Percentage. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        ga_page_value:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        ga_page_views:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        ga_unique_page_views:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        gsc_clicks:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        gsc_ctr:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Percentage. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        gsc_impressions:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        gsc_position:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        health:
                          type: number
                          nullable: true
                        meta_description:
                          type: string
                          nullable: true
                        h1:
                          type: string
                          nullable: true
                        hreflang_language:
                          type: string
                          nullable: true
                        is_disallowed_in_robots_txt:
                          type: boolean
                        is_indexable:
                          type: boolean
                        is_indexable_due_to_meta_robots:
                          oneOf:
                            - type: boolean
                            - type: string
                          nullable: true
                          description: >-
                            Production returns a boolean on some websites and a
                            string such as `"yes"` on others. Handle both.
                        is_indexable_due_to_x_robots_tag:
                          oneOf:
                            - type: boolean
                            - type: string
                          nullable: true
                          description: >-
                            Production returns a boolean on some websites and a
                            string such as `"yes"` on others. Handle both.
                        is_in_sitemap:
                          type: boolean
                        is_linked:
                          type: boolean
                        link_amp:
                          nullable: true
                          type: string
                          format: uri
                        link_next:
                          nullable: true
                          type: string
                          format: uri
                        link_prev:
                          nullable: true
                          type: string
                          format: uri
                        mobile_variant:
                          nullable: true
                          type: string
                          format: uri
                        number_of_hreflangs:
                          type: integer
                        number_of_incoming_internal_canonicals:
                          type: integer
                        number_of_incoming_internal_links:
                          type: integer
                        number_of_incoming_internal_redirects:
                          type: integer
                        number_of_outgoing_external_links:
                          type: integer
                          nullable: true
                        number_of_outgoing_internal_links:
                          type: integer
                          nullable: true
                        open_graph_description:
                          type: string
                          nullable: true
                        open_graph_image:
                          nullable: true
                          type: string
                          format: uri
                        open_graph_title:
                          type: string
                          nullable: true
                        open_graph_type:
                          type: string
                          nullable: true
                        open_graph_url:
                          nullable: true
                          type: string
                          format: uri
                        relevance:
                          type: number
                          nullable: true
                        schema_org_number_of_types:
                          type: integer
                          nullable: true
                        schema_org_types:
                          type: array
                          items:
                            type: string
                          nullable: true
                        segments:
                          type: array
                          items:
                            type: string
                          description: >-
                            Containing segment ids, see retrieving a list of
                            segments.
                        status_code:
                          type: integer
                        tag_managers:
                          type: array
                          items:
                            type: string
                          description: >-
                            Documented as `string` in the Reporting API
                            reference; sample responses return `array`.
                          nullable: true
                        time_document_download:
                          type: number
                        title:
                          type: string
                          nullable: true
                        twitter_card:
                          type: string
                          nullable: true
                        twitter_description:
                          type: string
                          nullable: true
                        twitter_image:
                          nullable: true
                          type: string
                          format: uri
                        twitter_site:
                          type: string
                          nullable: true
                        twitter_title:
                          type: string
                          nullable: true
                        type:
                          type: string
                        url:
                          type: string
                          format: uri
                        url_depth:
                          type: integer
                        visual_analytics_services:
                          type: array
                          items:
                            type: string
                          description: >-
                            Documented as `string` in the Reporting API
                            reference; sample responses return `array`.
                          nullable: true
                        url_path:
                          type: string
                          description: Path relative to the site root.
                        is_https:
                          type: boolean
                        aa_average_time_spent_on_site:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Seconds. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        aa_bounce_rate:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Percentage. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        aa_page_views:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        aa_unique_visitors:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        aa_revenue:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        ga_v4_active_users:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        ga_v4_average_engagement_time:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Seconds. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        ga_v4_engagement_rate:
                          oneOf:
                            - type: number
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Percentage. Returns the string `"no_data"` when the
                            connected analytics or Search Console integration
                            has no value for this page. Check for it before
                            doing arithmetic.
                        ga_v4_screen_page_views:
                          oneOf:
                            - type: integer
                            - type: string
                              enum:
                                - no_data
                          nullable: true
                          description: >-
                            Returns the string `"no_data"` when the connected
                            analytics or Search Console integration has no value
                            for this page. Check for it before doing arithmetic.
                        gsc_date_range:
                          type: array
                          items:
                            type: object
                            properties:
                              since:
                                type: string
                                format: date
                              until:
                                type: string
                                format: date
                        open_issues:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                type: string
                                description: String (see List of issues)
                                nullable: true
                        lighthouse_performance:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_cls:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_fcp:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_lcp:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_si:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_tbt:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        lighthouse_tti:
                          type: object
                          nullable: true
                          description: Lighthouse metric with its banding.
                          properties:
                            value:
                              type: number
                            range:
                              type: string
                              enum:
                                - good
                                - needsImprovement
                                - bad
                        redirect:
                          nullable: true
                          type: string
                          format: uri
              examples:
                default:
                  value:
                    total: 1
                    urls:
                      - app_url: https://app.cm.conductor.com/websites/1-2/pages/3
                        analytics_services:
                          - google_analytics
                        canonical_type: internal_self
                        custom_elements:
                          author: Josie Walters
                          date_published: 12 August 2019
                        ga_average_time: 5.788
                        ga_bounce_rate: 48
                        ga_page_value: 0
                        ga_page_views: 248
                        ga_unique_page_views: 214
                        gsc_clicks: 3
                        gsc_ctr: 0.183
                        gsc_impressions: 1635
                        gsc_position: 41.021
                        health: 950
                        meta_description: >-
                          Conductor Monitoring keeps track of your website 24/7
                          so that you can catch unexpected changes and issues
                          before search engines and visitors do. Try it today!
                        h1: H1 page header
                        hreflang_language: en
                        is_disallowed_in_robots_txt: false
                        is_indexable: true
                        is_indexable_due_to_meta_robots: true
                        is_indexable_due_to_x_robots_tag: null
                        is_in_sitemap: true
                        is_linked: true
                        link_amp: null
                        link_next: null
                        link_prev: null
                        mobile_variant: null
                        number_of_hreflangs: 6
                        number_of_incoming_internal_canonicals: 1
                        number_of_incoming_internal_links: 314
                        number_of_incoming_internal_redirects: 0
                        number_of_outgoing_external_links: 10
                        number_of_outgoing_internal_links: 65
                        open_graph_description: >-
                          Get more visitors and increase conversions with
                          Conductor Monitoring. Monitor your website and catch
                          problems before search engines and visitors do. Try
                          now!
                        open_graph_image: >-
                          https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png
                        open_graph_title: >-
                          Content Optimization and Monitoring service Conductor
                          Monitoring
                        open_graph_type: website
                        open_graph_url: https://www.conductor.com/
                        relevance: 5.97
                        schema_org_number_of_types: 1
                        schema_org_types:
                          - Website
                        segments:
                          - '18'
                        status_code: 200
                        tag_managers:
                          - google_tag_manager
                        time_document_download: 947
                        title: >-
                          Real-time SEO Auditing and Content Change Tracking -
                          Conductor Monitoring
                        twitter_card: summary_large_image
                        twitter_description: >-
                          Get more visitors and increase conversions with
                          Conductor Monitoring. Catch problems before search
                          engines and visitors do. Try it today!
                        twitter_image: >-
                          https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png
                        twitter_site: '@contentking'
                        twitter_title: Content Optimization service Conductor Monitoring
                        type: page
                        url: https://www.conductor.com/
                        url_depth: 0
                        visual_analytics_services:
                          - mouseflow
        '400':
          $ref: '#/components/responses/InvalidPayload'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          $ref: '#/components/responses/Unprocessable'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - reportingApiToken: []
components:
  responses:
    InvalidPayload:
      description: Bad request. A required parameter is missing or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            missingPage:
              value:
                code: invalid_payload
                message: Invalid data sent.
                errors:
                  - message: Value is missing required fields
                    missing_fields:
                      - page
    Unauthorized:
      description: >
        Unauthorized.


        - **Missing authentication token** — the request was received but
        carries no authorization token, so it cannot be processed. Check that
        the `Authorization` header is set.

        - **Authentication failed** — the supplied API token is expired or
        invalid:


        ```json

        {
          "code": "auth_failed",
          "message": "Authentication token is expired or invalid.",
          "errors": []
        }

        ```
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            missingToken:
              value:
                code: auth_missing_token
                message: >-
                  Authentication token must be passed in Authorization HTTP
                  header.
                errors: []
    Forbidden:
      description: >
        Forbidden.


        - **Terms of Use not accepted** — accept the Reporting API Terms of Use
        in Account Settings before calling the API.

        - **Blocked user agent** — our CDN blocks generic default user agents
        such as `Python urllib3`. Setting a less generic user agent, or one that
        more closely resembles a browser, usually bypasses this.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            termsNotAccepted:
              value:
                code: terms_of_use_not_accepted
                message: >-
                  Reporting API Terms of Use have not been accepted yet. Please
                  accept Terms of Use in Account Settings.
                errors: []
    NotFound:
      description: >
        Not found. The requested website, scope, or URL does not exist or is
        unavailable.


        - **Website not found** — the `website_id` does not belong to the
        account that owns the token.

        - **No statistics for scope** — statistics for the given website or
        segment are not available at this time. They may become available later,
        depending on the actual content of the scope:


        ```json

        {
          "error": "No statistics found for given scope"
        }

        ```


        - **URL not found** — the requested URL is not tracked on this website:


        ```json

        {
          "error": "Requested URL was not found (url)"
        }

        ```
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SimpleError'
          examples:
            websiteNotFound:
              value:
                error: Requested website ID was not found
    Unprocessable:
      description: >-
        Unprocessable entity. The `Authorization` header was not formatted
        correctly — the value must be the string `token`, a space, then your API
        token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            authMalformed:
              value:
                code: auth_malformed
                message: >-
                  Authorization HTTP header must conform to format described in
                  docs.
                errors: []
    RateLimited:
      description: >-
        Too many requests. The Reporting API allows 6 requests/second per
        requester IP address; exceeding it returns `429` for one minute.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
          examples:
            rateLimited:
              value:
                code: rate_limit_exceeded
                message: Too many requests. Try again in a minute.
                errors: []
  schemas:
    ApiError:
      type: object
      description: Structured error payload returned by the Monitoring APIs.
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable explanation.
        errors:
          type: array
          description: Field-level details, when available.
          items:
            type: object
    SimpleError:
      type: object
      description: Short error payload used by the Reporting API for lookup failures.
      properties:
        error:
          type: string
          description: Human-readable explanation.
  securitySchemes:
    reportingApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Send your Reporting API token as `Authorization: token
        {reporting_api_token}` — the literal string `token`, a space, then the
        token itself. Find it in Conductor Monitoring under **Account** >
        **Account** tab > **Integration Tokens**.

````