# PDF API
> Generate PDF documents from text on the fly — with an optional bold title, page size (A4, Letter or Legal) and font size. Returns a base64 PDF or a raw downloadable file. Great for invoices, reports, receipts and tickets.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/pdf-api/..."
```

## Pricing
- **Free** (Free) — 4,000 calls/Mo, 2 req/s
- **Basic** ($6/Mo) — 90,000 calls/Mo, 12 req/s
- **Pro** ($22/Mo) — 500,000 calls/Mo, 40 req/s
- **Mega** ($59/Mo) — 2,000,000 calls/Mo, 120 req/s

## Endpoints

### PDF

#### `GET /v1/file` — Generate a PDF (raw file)

**Parameters:**
- `text` (query, required, string) — Body text (\n for new lines, max 50000) Example: `Hello world`
- `title` (query, optional, string) — Optional bold heading Example: `Invoice`
- `page` (query, optional, string) — a4 | letter | legal Example: `a4`
- `font_size` (query, optional, integer) — Body font size 8-24 Example: `12`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pdf-api/v1/file?text=Hello+world&title=Invoice&page=a4&font_size=12"
```

#### `GET /v1/generate` — Generate a PDF (base64 JSON)

**Parameters:**
- `text` (query, required, string) — Body text (\n for new lines, max 50000) Example: `Hello world`
- `title` (query, optional, string) — Optional bold heading Example: `Invoice`
- `page` (query, optional, string) — a4 | letter | legal Example: `a4`
- `font_size` (query, optional, integer) — Body font size 8-24 Example: `12`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/pdf-api/v1/generate?text=Hello+world&title=Invoice&page=a4&font_size=12"
```

**Response:**
```json
{
    "data": {
        "pdf": "data:application/pdf;base64,JVBERi0xLjcKJYGBgYEKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxNDYKPj4Kc3RyZWFtCnicbc3BCsIwDAbge54iZ2GzjWnSgniYrHjwIuQFRKcoE5mIz28duwzkJxD4E74BGgOHv7yusNx1/ad7307Hqnn250pdihydxoTk0C5AjLYHP957DA5VfV1ae8Cak7QqkiXJSsIG7Q62gNbgAMOo1OVvmrmVlEkiBYno6T/DvuaJiRJkW5LJqUpWKjvPuC9ziy+GCmVuZHN0cmVhbQplbmRvYmoKCjggMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA2Ci9GaXJzdCAzMgovTGVuZ3RoIDM2NAo+PgpzdHJlYW0KeJylUl1LwzAUfc+vuI/6sCXtkjSVUdhHpyDi2AaK4kPXhlEpibSpzH9vbtsx9iCI0l6Se+/JOSH3BMAgBM5hApECv4QSBHCmQAKPBUynhO6+PjTQdXbQDaH3ZdHAq+8y2MAboQvbGgcBSRJyxi4yl1X2QPpDECD4hFjXtmhzXcN0la5WjEmMwEfa76OQMf8z4YNzH7LPeTDU4oTQB1ssM6fhankTslAyMWHYEvzl2l+p1pmz/xPoOEprflbZla7SJw0e9/yRHPQw92gpksuXWVnjCN22e9elWAwInWeNxg7QO119alfmGaGpyW1RmgPQp9LMTFOeCn9kHM1tVfyaFieH86s1jrcbIN3oxrZ17ieKuI4eN5cKo4jFiisWqdg7qTt3BsQRD6UKhUSvDaagz4/7d513XJimR3e7dfjufQFrD7oos7k9eucx/4lYjEMFigdjr+JdODPGOvRl50jj/KUxiwaXeopvvOXErQplbmRzdHJlYW0KZW5kb2JqCgo5IDAgb2JqCjw8Ci9TaXplIDEwCi9Sb290IDIgMCBSCi9JbmZvIDMgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW5ndGggNDMKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgMTAgXQo+PgpzdHJlYW0KeJwVxLERACAMA7G3gTvK7L8LEzFEwCoEdJsNSclppJmWKBD35wMPb+wEBwplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNzAxCiUlRU9G",
        "page": "a4",
        "bytes": 909,
        "pages": 1
    },
    "meta": {
        "timestamp": "2026-05-30T00:04:54.512Z",
        "request_id": "3a49d481-9800-405b-b7de-e765620f8c1c"
    },
    "status": "ok",
    
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/pdf-api
OpenAPI spec: https://www.oanor.com/api/pdf-api/openapi.json
