---
title: Add Page Numbers to PDF API
slug: add-page-numbers-to-pdf
url: https://apyhub.com/freedailypro/service/add-page-numbers-to-pdf
provider: FreeDailyPro
tags: [pdf-page-numbering, pdf-editing, document-processing, report-generation, invoice-pdf]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 1
atoms: 10
mcp: true
---

# Add Page Numbers to PDF API

Add page numbers to a PDF with control over position, format, font size, page range, and start value. Returns the updated PDF as binary.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/freedailypro/add-page-numbers-to-pdf` | What it does Adds page numbers to a PDF and returns the modified PDF as a binary file. You upload t… | 10 |

## Endpoint reference

### Add page numbers to every page of a PDF and return the PDF

`POST https://api.eu.apyhub.com/freedailypro/add-page-numbers-to-pdf` · 10 atoms · accepts `multipart/form-data` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `file` | body | string (binary) | yes | The PDF. Up to 20 MB. |
| `format` | body | string | no | plain = 1, 2, 3 (default); page-of-total = Page 1 of 10; prefixed = your prefix then the number (for example No. 1). One of: plain, page-of-total, prefixed. |
| `prefix` | body | string | no | Text before the number. Only used when format is prefixed. Latin letters, digits and common punctuation. |
| `startAt` | body | number | no | Number shown on the first numbered page. A whole number from 1 up. Default 1. |
| `fontSize` | body | number | no | Font size in points, 4 to 72. Default 10. |
| `position` | body | string | no | Where to place the number. Default bottom-center. One of: bottom-center, bottom-right, bottom-left, top-center, top-right, top-left. |
| `pageRange` | body | string | no | Pages to number, from 1, for example 2-10 or 1,3,5-8. Default: every page. Example: `2-10`. |
| `skipFirstPage` | body | string | no | true (also yes, 1, on) to leave page 1 unnumbered, also inside pageRange. Default false. |

#### Quickstart

Upload a PDF to add page numbers, then download the numbered PDF from the response.

```bash
curl -X POST "https://api.eu.apyhub.com/freedailypro/add-page-numbers-to-pdf" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/document.pdf"
```

#### What you'll get back

Returns a binary file response containing the numbered PDF.

## About

## What it does
PDF Page Numbering adds page numbers to every page of a PDF and returns the updated PDF file.

Send a PDF as binary data in `body.file`, and choose how the numbering should appear with `format`, `prefix`, `startAt`, `fontSize`, `position`, `pageRange`, and `skipFirstPage`. Use `plain` for simple numbering, `page-of-total` for labels like `Page 1 of 10`, or `prefixed` when you want custom text before each number. You can also place numbers at the top or bottom of the page, control the font size, and limit numbering to specific pages.

Use PDF Page Numbering when you generate reports, invoices, exports, or internal documents that need consistent page labels before sharing or archiving them. It is also useful when you need to number only part of a document, leave the first page unnumbered, or match an existing document style.

The response is a binary PDF, ready to store, download, or pass into the next step of your document workflow.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/freedailypro/service/add-page-numbers-to-pdf
