---
title: "Get page visibility"
method: GET
path: "/api/apps/{app_id}/seo/page-visibility"
---

# Get page visibility

`GET /api/apps/{app_id}/seo/page-visibility`

## Request

- Base URL: `https://app.base44.com`
- URL: `https://app.base44.com/api/apps/{app_id}/seo/page-visibility`
- Auth: HTTP bearer

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the pages that a hidden parent page keeps out of search engines, using the same rule the published app applies.

Hiding a page with `noindex` also hides the pages under it, so hiding `Units` hides `/units/:id`. Keep one of those pages visible by setting `ignore_parent_noindex` to `true` on it with [Update page SEO settings](/api-reference/update-page-seo-settings). It then appears here with `ignored` set to `true`.

A page that's also hidden by its own `noindex` is listed when a parent would hide it too, because turning its own `noindex` off doesn't make it visible. A page can appear under two keys, its file path (`units/UnitDetail`) and its component name (`UnitDetail`), with the same entry under both.

## Path parameters

- `app_id` string, required: ID of the app whose SEO settings you want.

## Response `200`

The pages a hidden parent page covers.

- SEOPageVisibilityResponse
  - `result` object, required: Each page a hidden parent page covers, keyed by page name. Pages no parent hides aren't listed, so an app with no hidden parent pages gets an empty object.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: You don't have access to this app, or you used a workspace API key. These endpoints accept a user's credentials only, including a read-only personal access token.
- `404`: App not found.
- `429`: Rate limit exceeded. The base limit is 30 requests per minute for each app, counted across the workspace rather than per caller, and shared with the app's other SEO endpoints. See [Rate limits](/developers/references/apps-api/get-started/rate-limits) for the multiplier your plan gets.

## Changes

> 58 revisions in range; 1 not diffed.

- **2026-10-13** `b92cc2f13639`: 2 info
  - the security scope `read_only` was added to the endpoint's security scheme `PersonalAccessTokenAuth`
  - the security scope `full_access` was removed from the endpoint's security scheme `PersonalAccessTokenAuth`
- **2026-10-12** `5e139db2e643`: 1 info
  - the endpoint scheme security `PersonalAccessTokenAuth` was added to the API
- **2026-10-09** `fc604cdcc3a2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adexad/apis/base44-app-management-api/changes/api/apps/:app_id/seo/page-visibility/get.md)

---

[API](https://skmtc.dev/adexad/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/adexad/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adexad/apis/base44-app-management-api/revisions/fa29e915c226?raw)
