---
title: "Get Company Meta Ad Preview"
method: GET
path: "/companies/{company_id}/meta-ads/preview"
tags: ["companies"]
---

# Get Company Meta Ad Preview

`GET /companies/{company_id}/meta-ads/preview`

## Request

- Base URL: `https://api.nanocorp.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nanocorp.so/companies/{company_id}/meta-ads/preview`
- Auth: HTTP bearer

Real, pixel-accurate Meta ad preview for one placement, rendered by the popover.

Proxied server-side so the Meta access token (which Meta embeds in the preview URL)
never reaches the browser (§8). Returns the embeddable HTML for an ``<iframe srcdoc>``.
404 when there is no creative yet or Meta can't render it — the frontend then falls
back to a local mock. Best-effort: never part of billing/lifecycle.

## Path parameters

- `company_id` string, uuid, required

## Query parameters

- `placement` string

## Response `200`

Successful Response

- MetaAdPreviewResponse
  - `html` string, required
  - `width` integer, required
  - `height` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/nanocorp/apis/nanocorp-api.md) - [All operations](https://skmtc.dev/nanocorp/apis/nanocorp-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nanocorp/apis/nanocorp-api/revisions/291bb76b720b?raw)
