# Api2pdf

```json
{
  "name": "Api2pdf",
  "slug": "api2pdf",
  "url": "https://composio.dev/toolkits/api2pdf",
  "markdown_url": "https://composio.dev/toolkits/api2pdf.md",
  "logo_url": "https://logos.composio.dev/api/api2pdf",
  "categories": [
    "document & file management"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-05-12T10:01:20.848Z"
}
```

![Api2pdf logo](https://logos.composio.dev/api/api2pdf)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Api2pdf MCP or direct API to convert HTML to PDF, generate PDFs from URLs, merge and compress PDF files, and automate document workflows—all through natural language.

## Summary

Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.

## Categories

- document & file management

## Toolkit Details

- Tools: 10

## Images

- Logo: https://logos.composio.dev/api/api2pdf

## Authentication

- **Api Key**
  - Type: `api_key`
  - Description: Api Key authentication for API2PDF.
  - Setup:
    - Configure Api Key credentials for API2PDF.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Merge monthly invoices into one PDF
- Extract specific pages from a large PDF
- Add custom header and footer to document
- Convert PDF report to HTML for web use

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `API2PDF_ADD_HEADER_FOOTER` | Add Header Footer | Convert HTML to PDF with customizable headers and footers using Headless Chrome. Use for generating reports, invoices, or documents with consistent page numbering, titles, dates, or branding on every page. |
| `API2PDF_CHECK_STATUS` | Check API Status | Tool to check the health status of the API2PDF service. Use when you need to verify if the API is available and responding. This endpoint does not require authentication and returns a simple status indicator. |
| `API2PDF_DELETE_PDF` | Delete PDF | Delete a previously generated PDF from API2PDF storage by its response ID. By default, API2PDF automatically deletes PDFs after 24 hours. Use this tool when you need to immediately remove a PDF for security or cleanup purposes. The response_id parameter is the ResponseId returned from any PDF generation operation (e.g., merge, convert HTML to PDF, etc.). |
| `API2PDF_EXTRACT_PAGES` | Extract PDF Pages | Tool to extract specific pages from a PDF document. Use when you need only certain pages from a larger PDF file. Provide a URL to the source PDF and optionally a page range (0-indexed, end exclusive). Returns a URL to the extracted PDF. |
| `API2PDF_LIBREOFFICE_PDF_TO_HTML` | LibreOffice PDF to HTML | Tool to convert a PDF document to HTML using LibreOffice. Use when you need HTML output of a PDF file (experimental; images may be excluded). |
| `API2PDF_LIBREOFFICE_THUMBNAIL` | LibreOffice Thumbnail | Tool to generate a thumbnail image of a document using LibreOffice. Use when you need a quick visual preview of a PDF or Office file's first page. |
| `API2PDF_MERGE_PDFS` | Merge PDFs | Merge multiple PDF documents into a single PDF file. Provide a list of publicly accessible PDF URLs, and they will be combined in the order specified. The merged PDF is available via a download URL for 24 hours. |
| `API2PDF_OPTIMIZE_PDF` | Optimize PDF | Tool to optimize a PDF document to reduce file size while maintaining quality. Use when you need to minimize storage or bandwidth for an existing PDF. |
| `API2PDF_REORDER_PAGES` | Reorder PDF Pages | Reorder pages of a PDF document by specifying a new page sequence. Provide a URL to the source PDF and a list of zero-based page indices in the desired order. For example, to reverse a 3-page PDF, use pages=[2,1,0]. The reordered PDF is available via a download URL for 24 hours. |
| `API2PDF_ZEBRA_GENERATE_BARCODE` | Generate Barcode or QR Code | Tool to generate barcodes or QR codes using Zebra Crossing (ZXING). Use when you need a barcode or QR code image from text values. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Api2pdf Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Api2pdf actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'Merge these three PDF files into one document'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Merge these three PDF files into one document'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Api2pdf tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('Merge these three PDFs into one document')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Merge these three PDFs into one document' }],
  stopWhen: stepCountIs(5)
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Api2pdf Integration

- Supports both Api2pdf MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for generating, merging, and converting PDFs

### 2. Managed Auth

- Built-in API key handling with secure storage
- Central place to manage, scope, and revoke Api2pdf access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Api2pdf
- Scoped, least privilege access to Api2pdf resources
- Full audit trail of agent actions to support review and compliance

## Use Api2pdf with any AI Agent Framework

Choose a framework you want to connect Api2pdf with:

- [OpenAI Agents SDK](https://composio.dev/toolkits/api2pdf/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/api2pdf/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/api2pdf/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/api2pdf/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/api2pdf/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/api2pdf/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/api2pdf/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/api2pdf/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/api2pdf/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/api2pdf/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/api2pdf/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/api2pdf/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/api2pdf/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/api2pdf/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/api2pdf/framework/autogen)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.
- [Cloudpress](https://composio.dev/toolkits/cloudpress) - Cloudpress is a content export tool for Google Docs and Notion. It automates publishing to your favorite Content Management Systems.
- [Contentful graphql](https://composio.dev/toolkits/contentful_graphql) - Contentful graphql is a content delivery API that lets you access Contentful data using GraphQL queries. It gives you efficient, flexible ways to fetch and manage structured content for any digital project.
- [Conversion tools](https://composio.dev/toolkits/conversion_tools) - Conversion Tools is an online service for converting documents between formats such as PDF, Word, Excel, XML, and CSV. It lets you automate complex document workflows with just a few clicks.
- [Convertapi](https://composio.dev/toolkits/convertapi) - ConvertAPI is a robust file conversion service for documents, images, and spreadsheets. It streamlines programmatic format changes and lets developers automate complex workflows with a single API.
- [Craftmypdf](https://composio.dev/toolkits/craftmypdf) - CraftMyPDF is a web-based service for designing and generating PDFs with templates and live data. It streamlines document creation by automating personalized PDFs at scale.
- [Docmosis](https://composio.dev/toolkits/docmosis) - Docmosis generates PDF and Word documents from user-defined templates. It's perfect for merging data fields to quickly produce reports, invoices, and business letters.

## Frequently Asked Questions

### Do I need my own developer credentials to use Api2pdf with Composio?

Yes, Api2pdf requires you to configure your own API key credentials. Once set up, Composio handles secure credential storage and API request handling for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
