Rotate PDF Pages API

Start building for free today – no credit card required.

Easily rotate pages in your PDF documents to the desired orientation with our API. Specify the pages and rotation angle, and our API adjusts them instantly. Perfect for correcting page alignment, enhancing readability, or customizing layouts programmatically.


Benefits of our PDF Page Rotate API

Adjust the orientation of your PDF pages with precision using our flexible PDF Page Rotate API. Rotate individual pages to the desired angle for optimal readability and presentation. Whether correcting misaligned scans or customizing the layout of your documents, our API ensures consistent formatting and professional results while seamlessly fitting into your document workflow.

Read our API documentation to learn how to rotate pages from PDFs.

No-Code PDF Page Rotation

Integrate our PDF API with Zapier Webhooks to automate your PDF page rotation workflows effortlessly. Whether you're correcting misaligned scans or adjusting the layout of reports, you can trigger PDF page rotation from hundreds of apps supported by Zapier. Automatically rotate pages to the desired orientation, ensuring consistent formatting and eliminating manual adjustments.

Multi-language Code Example

curl -X POST https://apdf.io/api/pdf/page/rotate \
  -H "Authorization: Bearer TOKEN" \
  -d file="FILE_URL" \
  -d rotations[0][angle]="-90" \
  -d rotations[0][pages]="1-3" \
  -d rotations[1][angle]="+180" \
  -d rotations[1][pages]="z"
const data = new FormData();
data.append('file', 'FILE_URL');
data.append('rotations[0][angle]', '-90');
data.append('rotations[0][pages]', '1-3');
data.append('rotations[1][angle]', '+180');
data.append('rotations[1][pages]', 'z');

fetch('https://apdf.io/api/pdf/page/rotate', {
    headers: {'Authorization': 'Bearer TOKEN'},
    method: 'POST',
    body: data
})
.then(response => response.json())
.then(json => console.log(json));
use GuzzleHttp\Client;

$client = new Client();
$response = $client->post(
    'https://apdf.io/api/pdf/page/rotate', [
    'headers' => [
        'Authorization' => 'Bearer TOKEN'
    ],
    'form_params' => [
        'file' => 'FILE_URL',
        'rotations[0][angle]' => '-90',
        'rotations[0][pages]' => '1-3',
        'rotations[1][angle]' => '+180',
        'rotations[1][pages]' => 'z'
    ]
]);

$body = $response->getBody();
echo json_encode($body->getContents());
require 'rest-client'

response = RestClient.post(
  'https://apdf.io/api/pdf/page/rotate',
  {
    'file' => 'FILE_URL',
    'rotations[0][angle]' => '-90',
    'rotations[0][pages]' => '1-3',
    'rotations[1][angle]' => '+180',
    'rotations[1][pages]' => 'z'
  },
  {
    Authorization: "Bearer TOKEN"
  }
)

puts response.body
import requests

response = requests.post(
    'https://apdf.io/api/pdf/page/rotate',
    headers = {
        'Authorization': 'Bearer TOKEN'
    },
    data = {
        'file': 'FILE_URL',
        'rotations[0][angle]': '-90',
        'rotations[0][pages]': '1-3',
        'rotations[1][angle]': '+180',
        'rotations[1][pages]': 'z'
    }
)

print(response.text)
import (
  "fmt"
  "github.com/go-resty/resty/v2"
)

func main() {
  client := resty.New()
  data := map[string]string{
    "file": "FILE_URL",
    "rotations[0][angle]": "-90",
    "rotations[0][pages]": "1-3",
    "rotations[1][angle]": "+180",
    "rotations[1][pages]": "z"
  }

  resp, _ := client.R().
    SetFormData(data).
    SetHeader("Authorization", "Bearer TOKEN").
    Post("https://apdf.io/api/pdf/page/rotate")

  fmt.Println(resp.String())
}
import okhttp3.*;

class Pdf {
  public static void main(String[] args) throws Exception {
    OkHttpClient client = new OkHttpClient();
    FormBody formBody = new FormBody.Builder()
      .add("file", "FILE_URL")
      .add("rotations[0][angle]", "-90")
      .add("rotations[0][pages]", "1-3")
      .add("rotations[1][angle]", "+180")
      .add("rotations[1][pages]", "z")
      .build();

    Request request = new Request.Builder()
      .url("https://apdf.io/api/pdf/page/rotate")
      .addHeader("Authorization", "Bearer TOKEN")
      .post(formBody)
      .build();

    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
  }
}

Start using our API today — no trial needed!
Get Started for Free