---
title: "Generate an SEO audit PDF report"
method: POST
path: "/v3/pdf"
tags: ["PDF Export"]
---

# Generate an SEO audit PDF report

`POST /v3/pdf`

Generates a PDF for a page or overview audit and either downloads it, uploads it to R2 (share link), or emails it as an attachment.

## Request body

- object
  - `action` 'download' | 'share' | 'email', required — What to do with the generated PDF: stream as download, upload to R2 and return a share URL, or email it to `email`.
  - `type` 'page' | 'overview' | 'page-speed-page' | 'page-speed-overview' | 'geo' | 'combined' — Which PDF document to render: website-audit page or overview, or PageSpeed page or overview.
  - `data` object, required — Payload — shape depends on `type`. Must include `pageUrl` (use the base URL for overview variants).
  - `email` string, email — Recipient address. Required when `action` is `email`.
  - `teamId` string — Team that owns the audit. Membership is enforced by checkMembership.
  - `whiteLabel` boolean — Apply the org's white-label brand mark (when enabled and plan-gated). Pass false to force the SnowSEO mark for this export.

## Other responses

- `400` — Default Response
- `401` — Default Response
- `403` — Default Response
- `404` — Default Response
- `500` — Default Response

## Changes

- **2026-09-18** `e0163b1c37cb` — 1 breaking, 1 info
  - api path removed without deprecation
  - endpoint added
- **2026-08-26** `c44f51a92d95` — 2 info
  - added the new `combined` enum value to the request property `type`
  - added the new `geo` enum value to the request property `type`
- **2026-08-14** `c6b2fabd21be` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/snowseo/apis/snowseo-api/changes/v3/pdf/post.md)

---

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