---
title: "Read a page as Markdown"
method: GET
path: "/api/v1/page"
tags: ["content"]
---

# Read a page as Markdown

`GET /api/v1/page`

## Request

- Base URL: `https://justautomate.ai`
- URL: `https://justautomate.ai/api/v1/page`
- Auth: one of:
  - none
  - OAuth 2 (authorization code, authorization URL `https://justautomate.ai/oauth/authorize/`, token URL `https://justautomate.ai/oauth/token/`, scopes: `mcp:read`)

The content of one public page as clean Markdown (no navigation, scripts or forms), with title, description and canonical URL in the front matter. Accepts a full URL or a path. Old addresses are followed to their current page.

## Query parameters

- `url` string, required

## Response `200`

Page content.

- PageContent
  - `url` string, uri, required
  - `markdownUrl` string, uri, required
  - `markdown` string, required: Page content as Markdown with YAML front matter (title, description, url, lang).
  - `truncated` boolean, required: True when the page was longer than 120000 characters and was cut.

## Other responses

- `400`: A parameter or the request body is invalid (code invalid-parameter or invalid-body).
- `401`: The bearer token is invalid or expired (code invalid-token). Call without a token or get a new one.
- `404`: No such public page or endpoint (code not-found).
- `429`: Rate limit exceeded (code rate-limited). Wait Retry-After seconds.
- `500`: Unexpected error (code internal-error). Retry later.
- `503`: Site data is temporarily unavailable (code unavailable). Wait Retry-After seconds.

---

[API](https://skmtc.dev/justautomate/apis/justautomate-public-api.md) · [All operations](https://skmtc.dev/justautomate/apis/justautomate-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/justautomate/apis/justautomate-public-api/revisions/b42d0226be7e?raw)
