---
title: "Download a ready PDF report"
method: GET
path: "/projects/{project_id}/reports/{report_id}/pdf"
tags: ["Reports"]
---

# Download a ready PDF report

`GET /projects/{project_id}/reports/{report_id}/pdf`

## Request

- Base URL: `https://adslighthouse.com/api/v1`
- URL: `https://adslighthouse.com/api/v1/projects/{project_id}/reports/{report_id}/pdf`
- Auth: HTTP bearer

Returns the PDF file of a ready report as application/pdf. Errors use the JSON envelope. REST only: MCP clients use get_report_download_link, which returns a short-lived signed link instead of the file.

## Path parameters

- `project_id` string, required: The project id, brand domain or exact name.
- `report_id` string, required: The report id.

## Response `200`

The PDF file.

## Other responses

- `401`: Missing, invalid, expired or revoked credential.
- `403`: The credential lacks the write scope, the plan does not include the API, or the allowance is used up.
- `404`: Unknown project, keyword or run in this account.
- `429`: Rate limit reached. Retry after the Retry-After seconds.
- `503`: The requested service or file is temporarily unavailable.

---

[API](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api.md) · [All operations](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adslighthouse/apis/ads-lighthouse-api/revisions/e1a4a40b11a9?raw)
