# PDFMonkey

> PDFMonkey is a hosted service from a Paris company that generates PDFs and images from Liquid or Builder templates and JSON data, through a REST API, a CLI, Ruby and Node.js SDKs, and a local MCP server.

- Canonical: https://www.anchorterminal.com/tools/pdfmonkey
- Pricing: https://www.anchorterminal.com/tools/pdfmonkey#pricing
- Reviews: https://www.anchorterminal.com/tools/pdfmonkey#reviews
- Markdown: https://www.anchorterminal.com/tools/pdfmonkey.md (~7,750 tokens)
- Slim: https://www.anchorterminal.com/tools/pdfmonkey.min.md (~1,830 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/tools/pdfmonkey.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT pdfmonkey.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-04

## Overview

**Grade C · 59.3/100 · rank #634 of 1349 · #3 in PDF tools · not agent-ready · confidence medium**


## Assessment

An agent gets 11 compact MCP tools, a scriptable CLI and a sync endpoint, with public euro prices and a free plan. The one account-wide key has no scopes, document creation has no idempotency key, and there is no OpenAPI document, SLA or security disclosure policy.

## Facts

| Field | Value |
| --- | --- |
| Vendor | PDFMonkey (https://pdfmonkey.io) |
| Kind | HTTP API |
| Category | PDF tools (https://www.anchorterminal.com/categories/pdf-tools) |
| Transport | stdio |
| Endpoint | `https://api.pdfmonkey.io/api/v1` |
| Auth | API key · One secret API key per account, sent as `Authorization: Bearer`, found on the dashboard's API Key page after a browser signup. The key carries the whole account's privileges. Rotate API key issues a new key while the old one keeps working for 2 days, or is revoked at once. The MCP server and CLI read PDFMONKEY_API_KEY. |
| Pricing | Freemium ($5.59 / mo) · Free plan with 20 documents a month and a 30-day Pro trial with 300 documents, no card. Starter €5 a month for 300 documents, Pro €15 for 3,000, Pro+ €60 for 5,000, Premium €300 for 60,000, 10 per cent off yearly. Pay-as-you-go overage from €0.008 to €0.005 a document, Boost Packs €5 per 1,000 documents (https://pdfmonkey.io/pricing/). |
| x402 | No · No x402, MPP or L402 in the docs, llms-full.txt, pricing page or MCP server source (checked 2026-11-03). Quota overruns are billed to the plan's card through the dashboard. |
| Licence | MIT (MCP server, CLI and SDKs) |
| Tools exposed | 11 |
| Packages | npm: `pdfmonkey-mcp-server`; npm: `@pdfmonkey/cli`; npm: `pdfmonkey`; rubygems: `pdfmonkey` |
| MCP registry name | `io.github.pdfmonkey/pdfmonkey-mcp` |
| Source | https://github.com/pdfmonkey/pdfmonkey-mcp |
| Docs | https://pdfmonkey.io/docs/ |
| llms.txt | https://pdfmonkey.io/llms.txt |
| Last release | 2026-10-26 |
| npm downloads / week | 97 |
| Surface listed | The REST API at api.pdfmonkey.io/api/v1 with the local MCP server (pdfmonkey-mcp-server 1.0.1) and the CLI (@pdfmonkey/cli 2.1.0), read from pdfmonkey.io/docs, llms-full.txt, the pricing page, the iubenda terms and privacy policy, status.pdfmonkey.io, npm, the MCP registry and a shallow clone of pdfmonkey/pdfmonkey-mcp on 3 November 2026. No account was made and no tool was called |
| MCP tools | list_workspaces, list_templates, get_template, generate_document (polls every 1.5 s for up to 3 minutes), get_document_status, list_documents, delete_document, list_snippets, get_snippet, get_quota, get_user_info, plus four prompts |
| Templates | Code templates in Liquid with HTML, SCSS and sample data, or Builder templates with blocks. Output as PDF, PNG, WebP or JPG. Fillable PDF forms, password protection, QR codes, electronic invoicing formats and share links on Pro+ and Premium |
| Limits | Generation time 30 seconds on Free and Starter, 2 minutes on Pro, 3 on Pro+, 5 on Premium. `meta` at most 200 KB. No hard request rate limit documented. Download URLs valid for one hour |
| Retention | Per-template TTL from 5 minutes to unlimited by plan. Documents kept 1 day on Free, Starter and the trial, 7 days on Pro, unlimited on Pro+ and Premium |
| Rate limits | The docs say there is no hard rate limit, only the monthly quota. The Node.js SDK retries 408, 429 and 5xx twice with backoff and honours Retry-After |
| SDKs and integrations | Node.js SDK `pdfmonkey` 1.4.0 (zero dependencies, Node 20+, Bun, Deno, Workers), Ruby gem `pdfmonkey` 1.0.0, CLI 2.1.0, plus Zapier, Make, n8n (verified node), Workato, Bubble and Glide |
| Hosting and compliance | Application on Fly.io and files on AWS in Paris, database on Neon in Frankfurt. Payloads encrypted at rest. DPA and DsPA dated 15 October 2026. No SOC 2 or ISO 27001 |
| Legal entity | The terms and privacy policy name the owner as PDFMonkey, 49 rue de Ponthieu, Lot 41, 75008 Paris, with no company form or registration number |
| Capabilities | pdf.generate, pdf.forms |
| Tags | hosted, freemium, no-card, free-tier, mcp, mcp-registry, llms-txt, cli, webhooks, async-jobs, typescript, ruby, eu, mit, closed-source |
| JSON | https://www.anchorterminal.com/api/v1/tools/pdfmonkey.json |

## Score breakdown (methodology v0.7, October 2026 research run)

Assessed 2026-11-03 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. "This run" is each category's share of the 100 points.

| Category | Weight | This run | Score (0–100) | Points |
| --- | --- | --- | --- | --- |
| Reliability | 16% | 20 | 60 | 12.0 |
| Performance | 10% | pending | pending | n/a |
| Schema & documentation | 13% | 16.2 | 61 | 9.9 |
| Agent ergonomics | 13% | 16.2 | 75 | 12.2 |
| Security & auth | 14% | 17.5 | 36 | 6.3 |
| Payments & pricing | 10% | 12.5 | 40 | 5.0 |
| Task success | 10% | pending | pending | n/a |
| Maintenance & community | 7% | 8.8 | 81 | 7.1 |
| Transparency & trust (editorial 70, provenance 86) | 7% | 8.8 | 78 | 6.8 |
| Negative events | up to −15 | up to −15 | none recorded | 0 |
| **Total** | | | | **59.3 → C** |

### Why each score

- Reliability 60 (checked 2026-11-03): Read with the hosted lines. status.pdfmonkey.io is an updown.io page with six checks (API, dashboard, preview, website, generation latency, queue size) and one month of rolling uptime per check, but no incident write-ups (15). The readable record is the uptime figures (API 99.98 per cent and queue 99.97 per cent since 3 October 2026) and the one incident the vendor wrote up, a slowdown of a little under an hour on 29 September 2026 with a post-mortem on 1 October; the 90-day list itself isn't published, so minor incidents only (20). The docs say there is no hard rate limit, only the monthly quota, so no request-rate numbers (5 for the quota numbers). The Node.js SDK retries 408, 429 and 5xx with backoff and honours Retry-After, and the webhook docs say delivery is at least once and to make handlers idempotent, but document creation has no idempotency key (10). No SLA found in the terms or pricing (0). GA (10). 15 + 20 + 5 + 10 + 0 + 10 = 60.
- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.
- Schema & documentation 61 (checked 2026-11-03): No OpenAPI document was found on pdfmonkey.io, in llms-full.txt or in the repositories; the 11 MCP tools carry JSON Schema inputs from src/tools.ts (12). llms.txt and llms-full.txt, and every docs page has a Markdown twin (10). MCP tool descriptions are one line each and say what the tool does, and the MCP docs say what the server can't do (create or edit templates) and send that job to the CLI; the API docs explain async against sync and when to use each (12). Parameter tables give types and required fields, list_documents has a status enum, and `payload` is by nature a free JSON object matched to the template (10). Request examples in curl, Ruby, Node.js, Python and PHP on every endpoint, a 401 body, a 422 body with field names and a troubleshooting section for blank documents, empty and 403 download URLs (12). The API lives under /api/v1 and docs pages carry a last-updated date, but there is no changelog page, changes are announced in blog posts such as What We Shipped Since the Summer of 26 October 2026 (5). 12 + 10 + 12 + 10 + 12 + 5 = 61.
- Agent ergonomics 75 (checked 2026-11-03): 11 compact MCP tools from a 17 KB tools.ts, and API responses are cards without payload or logs on list and sync endpoints, while a full template fetch is large and the SDK docs warn about it (22). `page[number]`, `q[status]`, `q[document_template_id]`, `q[updated_since]` and `q[search]` on document cards, `q[folders]` on templates and snippets, a `meta` block with pagination, and the CLI's `--json` (18). 401 and 422 bodies name the problem, 403 on an expired download URL is explained, and a quota overrun rejects the create rather than making a draft; the MCP server returns the API's error text (14). No idempotency key on create, so a retried create queues and bills a second document; webhooks are at least once with idempotency guidance; the MCP server sets no readOnlyHint or destructiveHint and `delete_document` is permanent, which the docs leave to the client to confirm (6). Only `document_template_id` and `payload` are needed, and official SDKs exist in two languages (Node.js and Ruby) plus the CLI (15). 22 + 18 + 14 + 6 + 15 = 75.
- Security & auth 36 (checked 2026-11-03): One secret key per account with the whole account's privileges, sent as a Bearer header; it can be rotated with a 2-day overlap and the old key revoked at once, but there are no scopes, no second key and no read-only key (12). No least-privilege mode; the MCP server exposes `delete_document`, the CLI asks before deletions unless `-y`, and the MCP docs say most clients ask before running a delete (6). The tools return the account's own templates, documents and quota, not third-party content (10). Each document carries generation logs and the dashboard shows usage, but no audit log or per-key activity view was found (3). No security.txt (404), no disclosure policy and no bug bounty; the compliance page says there is no SOC 2 or ISO 27001, and sets against that EU hosting, encrypted payloads and a DPA dated 15 October 2026 (5). 12 + 6 + 10 + 3 + 5 = 36.
- Payments & pricing 40 (checked 2026-11-03): No x402, MPP or L402 (0). Plan prices in euros, per-document pay-as-you-go rates and the Boost Pack price are on the public pricing page and in the docs (20). A Free plan of 20 documents a month and a 30-day Pro trial of 300 documents, no card (20). Signup is a browser flow and the key is minted in the dashboard (0). 0 + 20 + 20 + 0 = 40.
- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.
- Maintenance & community 81 (checked 2026-11-03): Read as a closed service with open-source clients. pdfmonkey-mcp-server 1.0.1 on 26 October 2026, @pdfmonkey/cli 2.1.0 on 15 October and docs pages updated 2 November (30). Node SDK 1.1.0 to 1.4.0 between 2 and 5 October, CLI 2.0.0 and 2.1.0 on 13 and 15 October, MCP 1.0.1 on 26 October (20). Blog posts announce changes, and support answers by in-app chat and email within a few hours in CET business hours per the docs; GitHub issue replies couldn't be read (10 of 15). io.github.pdfmonkey/pdfmonkey-mcp in the official registry, 1.0.1 latest (15). The MCP server has unit tests, a release workflow on tags and a prepublish test step, but no CI on pull requests and a loose `^1.0.4` pin on the MCP SDK (6). 30 + 20 + 10 + 15 + 6 = 81.
- Transparency & trust 78 (checked 2026-11-03): Closed service with iubenda terms that name the owner only as PDFMonkey at a Paris address, while the MCP server, CLI, Node SDK and Ruby gem are MIT (20). Retention statements agree across the plans page, the retention page and the data storage page (per-template TTL, 1 day, 7 days or unlimited by plan), the DPA and DsPA of 15 October 2026 are downloadable, and the privacy policy of 16 September 2026 names its processors, though it still lists Heroku where the docs name Fly.io (24). Engine deprecations were announced with a promised heads-up in 2023 and key rotation has a 2-day overlap, but there is no written deprecation policy with notice periods (8). Data locations are named (Paris and Frankfurt) and the DPA carries the approved sub-processor list (18). 20 + 24 + 8 + 18 = 70.

Fix list, everything this grade says the listing lacks, the biggest gain first (16 items). What it covers is at https://www.anchorterminal.com/fixes/pdfmonkey.md (JSON https://www.anchorterminal.com/fixes/pdfmonkey.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{"listing": "pdfmonkey", "plan": "read"}`, free while the beta runs

### What we couldn't check

- unchecked: replies on GitHub issues of the pdfmonkey repositories, which github.com's web pages refuse our reader; maintenance responsiveness rests on the blog and the support page
- unchecked: the live tools/list of the MCP server and whether its results carry annotations; the tool list and schemas are from src/tools.ts in the 1.0.1 tag
- The legal entity is recorded as PDFMonkey because the iubenda terms and privacy policy give only that name and a Paris address; the French register answered our reader with a loading page, so the company form and registration number are unread
- firstReleased is 9 December 2019, the date of the oldest blog post (Master Templates); the domain was registered on 7 May 2016 and the Zapier integration post is from 17 December 2019
- The privacy policy of 16 September 2026 still lists Heroku among hosting providers while the docs name Fly.io, AWS and Neon; recorded as a small disagreement, not a deduction
- Judgement call on reliability. The status page shows uptime per check for one month and no incident list, so the incident record is read from those figures and the vendor's own post-mortem of the 29 September 2026 slowdown

### Sources

- MCP server docs: <https://pdfmonkey.io/docs/integrations/mcp/> (seen 2026-11-03)
- CLI docs: <https://pdfmonkey.io/docs/integrations/cli/> (seen 2026-11-03)
- Documents API: <https://pdfmonkey.io/docs/api/documents/> (seen 2026-11-03)
- API authentication and key rotation: <https://pdfmonkey.io/docs/api/authentication/> (seen 2026-11-03)
- llms-full.txt (plans, trial, pay-as-you-go, boost packs, security, retention, DPA, webhooks, Node SDK): <https://pdfmonkey.io/llms-full.txt> (seen 2026-11-03)
- pricing: <https://pdfmonkey.io/pricing/> (seen 2026-11-03)
- security measures: <https://pdfmonkey.io/docs/account-and-security/security-measures/> (seen 2026-11-03)
- compliance and DPA: <https://pdfmonkey.io/docs/account-and-security/compliance-and-dpa/> (seen 2026-11-03)
- support: <https://pdfmonkey.io/docs/getting-started/support/> (seen 2026-11-03)
- post-mortem of 29 September 2026: <https://pdfmonkey.io/blog/2026-10-01-post-mortem-tiny-counter-froze-our-api/> (seen 2026-11-03)
- CLI 2.0 announcement: <https://pdfmonkey.io/blog/2026-10-13-pdfmonkey-cli-2.0/> (seen 2026-11-03)
- What We Shipped Since the Summer: <https://pdfmonkey.io/blog/2026-10-26-what-we-shipped-since-the-summer/> (seen 2026-11-03)
- status page (updown.io): <https://status.pdfmonkey.io/> (seen 2026-11-03)
- API check uptime: <https://status.pdfmonkey.io/iwc2> (seen 2026-11-03)
- terms (iubenda): <https://www.iubenda.com/terms-and-conditions/72376615> (seen 2026-11-03)
- privacy policy (iubenda): <https://www.iubenda.com/privacy-policy/72376615> (seen 2026-11-03)
- npm pdfmonkey-mcp-server: <https://registry.npmjs.org/pdfmonkey-mcp-server> (seen 2026-11-03)
- npm @pdfmonkey/cli: <https://registry.npmjs.org/@pdfmonkey/cli> (seen 2026-11-03)
- npm pdfmonkey (Node SDK): <https://registry.npmjs.org/pdfmonkey> (seen 2026-11-03)
- RubyGems pdfmonkey: <https://rubygems.org/api/v1/gems/pdfmonkey.json> (seen 2026-11-03)
- MCP registry entry: <https://registry.modelcontextprotocol.io/v0/servers?search=pdfmonkey> (seen 2026-11-03)
- MCP server repository, shallow clone: <https://github.com/pdfmonkey/pdfmonkey-mcp> (seen 2026-11-03)
- RDAP for pdfmonkey.io: <https://rdap.identitydigital.services/rdap/domain/pdfmonkey.io> (seen 2026-11-03)
- security.txt (404): <https://pdfmonkey.io/.well-known/security.txt> (seen 2026-11-03)
- ECB reference rates: <https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml> (seen 2026-11-03)

## Score history

Every move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/pdfmonkey/history.json

- 2026-11-03: graded 59.3 C (methodology 0.7)

## Who's behind it (provenance 86/100, checked 2026-11-03)

| Check | Finding | Points |
| --- | --- | --- |
| Legal entity named | PDFMonkey | 20/20 |
| Domain age | pdfmonkey.io, registered 2016-05-07 (10 years) | 15/15 |
| Endpoint on the vendor's domain | api.pdfmonkey.io | 15/15 |
| Terms of service | published, but our reader couldn't read it | 7/10 |
| Privacy policy | published, but our reader couldn't read it | 7/10 |
| Status page | status.pdfmonkey.io | 10/10 |
| Changelog | published | 10/10 |
| security.txt | not found | 0/10 |
| People named | 1 named with their role, 1 with a public profile | 10/10 |
| Support route | a support address, help pages, a community | 5/5 |

The terms and privacy policy are iubenda documents embedded on pdfmonkey.io (iubenda ids 72376615). They name the owner as PDFMonkey at 49 rue de Ponthieu, Lot 41, 75008 Paris, with no company form or registration number. The privacy policy was last updated 16 September 2026.

The terms forbid accounts registered by bots or automated methods and contain no clause on automated reading of the website. pdfmonkey.io/robots.txt allows all crawlers.

status.pdfmonkey.io is an updown.io page with six checks (API, dashboard, preview, website, generation latency, queue size) showing one month of rolling uptime per check and no incident write-ups.

RDAP gives pdfmonkey.io a registration date of 7 May 2016. The oldest blog post is dated 9 December 2019, used for firstReleased.

/.well-known/security.txt and /security.txt return 404. There is no changelog page; product changes are announced on the blog.

### Terms and privacy, as read

A reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.

**Terms of service** (https://pdfmonkey.io/terms-and-conditions), read 2026-11-03. Our reader couldn't read it (the page has 66 words of text without a browser, so the document is drawn by script or sits elsewhere).


**Privacy policy** (https://pdfmonkey.io/privacy-policy), read 2026-11-03. Our reader couldn't read it (the page has 64 words of text without a browser, so the document is drawn by script or sits elsewhere).


## Humans behind the project (researched 2026-11-03 from public pages, not part of the grade)

### Key people

- Simon Courtois, CTO and Co-founder. LinkedIn: https://www.linkedin.com/in/simoncourtois/
- Note: Simon Courtois is the only person named on a first-hand page; every blog post read carries his author note as CTO and Co-founder, with a LinkedIn link. The docs describe a small team and the home page says the product is made in France. No other co-founder is named on pdfmonkey.io, the terms, the privacy policy or the contact page, so the roster is incomplete. Investors were looked for on the blog index, the docs, the terms, the contact page and llms.txt; nothing mentions funding or backers, and the French company register answered our reader with a loading page, so ownership is recorded as private on the docs' own description of a small, independent company.
- PDFMonkey: LinkedIn https://www.linkedin.com/company/pdfmonkey/ X https://x.com/pdfmonkey GitHub https://github.com/pdfmonkey

### Getting support

- Support email: support@pdfmonkey.io
- Support email: tinymonkey@pdfmonkey.io
- Help: https://pdfmonkey.io/docs/getting-started/support/
- Help: https://pdfmonkey.io/contact/
- Community (MCP server issues): https://github.com/pdfmonkey/pdfmonkey-mcp/issues
- Sources: https://pdfmonkey.io/blog/2026-10-01-post-mortem-tiny-counter-froze-our-api/, https://pdfmonkey.io/blog/2026-10-13-pdfmonkey-cli-2.0/, https://pdfmonkey.io/docs/getting-started/support/, https://pdfmonkey.io/contact/, https://pdfmonkey.io/docs/account-and-security/compliance-and-dpa/, https://www.iubenda.com/terms-and-conditions/72376615, https://github.com/pdfmonkey/pdfmonkey-mcp

## Live (updated 2026-11-04 20:05 UTC)

- Right now: up, HTTP 404, 162 ms, checked 2026-11-04 20:05 UTC (get on `https://api.pdfmonkey.io/api/v1`)
- Uptime 24h 100.0% (48 probes) · 30 days 100.0% (48 probes) · p50 155 ms · p95 714 ms
- Vendor status page: unknown, no machine-readable status found
- mcp-registry `io.github.pdfmonkey/pdfmonkey-mcp` 1.0.1
- security.txt: none
- Always current: https://www.anchorterminal.com/api/v1/live/pdfmonkey.json

## Probe metrics

Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.

## Prices

| Item | Price | Unit | Note |
| --- | --- | --- | --- |
| Starter | $5.59 | per month (plan) | €5, 300 documents a month, converted at the ECB rate of 3 November 2026 (1.1179). €4.50 billed yearly |
| Pro | $16.77 | per month (plan) | €15, 3,000 documents a month. €13.50 billed yearly |
| Pro+ | $67.07 | per month (plan) | €60, 5,000 documents a month. €54 billed yearly |
| Premium | $335.37 | per month (plan) | €300, 60,000 documents a month. €270 billed yearly |
| Pay-as-you-go document on Starter | $0.0089 | per transaction | €0.008 a document beyond the quota. Pro €0.007, Pro+ €0.006, Premium €0.005 |
| Boost Pack | $5.59 | per transaction | €5 for 1,000 extra documents, expiring at the monthly quota reset |

Across all listings: https://www.anchorterminal.com/prices/index.md

## Strengths

- 11 compact MCP tools with typed inputs, and a CLI whose management commands all take `--json` and exit non-zero on error
- `POST /api/v1/documents/sync` returns the finished document in one request, waiting up to 6 minutes
- Plan prices, per-document overage rates and Boost Pack prices are public in euros, with a Free plan and a 30-day trial that need no card
- Key rotation keeps the old key alive for 2 days, and payloads are stored encrypted in EU data centres with a published DPA
- MCP server, CLI, Node.js SDK and Ruby gem are MIT and in the official MCP registry under a verified namespace

## Weaknesses

- One secret key with the whole account's privileges, no scopes and no read-only key
- No OpenAPI document, no changelog page and no written rate limits beyond the monthly quota
- No idempotency key on document creation, so a retried create queues and bills a second document
- No SLA, no security.txt, no disclosure policy and no SOC 2 or ISO 27001, which the docs state plainly
- The MCP server has no tool annotations and includes a permanent `delete_document`



## Before you call it (notes for agents)

1. Use `POST /api/v1/documents/sync` or the MCP `generate_document` tool for one document; for batches create with `status: pending` and poll `document_cards` or take the webhook
2. Fetch the template first (`get_template` or `pdfmonkey template get --json`) to learn the payload shape; a mismatched payload generates a blank or wrong document, not an error
3. Download within the hour; `download_url` returns 403 after 60 minutes, and fetching the document again gives a fresh link
4. Do not retry a create on a timeout without checking `list_documents` first; there is no idempotency key and each generation counts against the quota
5. Expect a 422 with field names when a required field is missing, and a rejected create at 100 per cent of the monthly quota unless pay-as-you-go is on

## Connect

Install:

```bash
npm install -g @pdfmonkey/cli
```

First request:

```bash
curl https://api.pdfmonkey.io/api/v1/current_user -H "Authorization: Bearer $PDFMONKEY_API_KEY"
```

Claude Code:

```bash
claude mcp add pdfmonkey -e PDFMONKEY_API_KEY=your-api-key -- npx -y pdfmonkey-mcp-server
```

MCP client configuration:

```json
{
  "mcpServers": {
    "pdfmonkey": {
      "args": [
        "-y",
        "pdfmonkey-mcp-server"
      ],
      "command": "npx",
      "env": {
        "PDFMONKEY_API_KEY": "your-api-key"
      }
    }
  }
}
```

Through letme: https://letme.dev/pdfmonkey. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md

## Similar tools

Ranked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.

| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |
| --- | --- | --- | --- | --- | --- | --- |
| Nutrient DWS Processor API | BB | 71.6 | 135 | pdf.forms, pdf.generate | no | https://www.anchorterminal.com/tools/nutrient-dws-processor.md |
| pdfRest API Toolkit | C | 57.7 | 725 | pdf.forms, pdf.generate | no | https://www.anchorterminal.com/tools/pdfrest.md |
| Adobe PDF Services / PDF Extract API | C | 55.9 | 809 | pdf.forms, pdf.generate | no | https://www.anchorterminal.com/tools/adobe-pdf-extract.md |
| Foxit PDF Services API | D | 48.3 | 1071 | pdf.forms, pdf.generate | no | https://www.anchorterminal.com/tools/foxit-pdf-services.md |
| PDF.co API + MCP | E | 38.1 | 1236 | pdf.forms, pdf.generate | no | https://www.anchorterminal.com/tools/pdf-co.md |
| Steel | BB | 71.5 | 139 | pdf.generate | yes | https://www.anchorterminal.com/tools/steel.md |

## Panel reviews (0)

Reviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .

Desk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md

## Notable

- The official MCP server runs locally over stdio with 11 tools that list workspaces, templates and snippets, generate and delete documents and read the quota; it cannot create or edit templates, which the CLI does (source: <https://pdfmonkey.io/docs/integrations/mcp/>)
- CLI 2.0 of 13 October 2026 manages templates, folders, snippets and documents from the terminal, with `--json` on every management command, non-zero exit codes and `-y` for deletions outside a terminal, written for scripts and agents (source: <https://pdfmonkey.io/blog/2026-10-13-pdfmonkey-cli-2.0/>)
- Generation is asynchronous by default. `POST /api/v1/documents` with `status: pending` queues a document, `POST /api/v1/documents/sync` waits up to 6 minutes, and webhooks deliver at least once (source: <https://pdfmonkey.io/docs/api/documents/>)
- The docs say there is no hard rate limit on the API, only the plan's monthly quota; at 100 per cent of quota the API rejects creation requests with `status: pending` (source: <https://pdfmonkey.io/docs/pricing-and-billing/our-plans/>)
- On 29 September 2026 the API was slow for a little under an hour because a database trigger serialised writes per workspace; the post-mortem of 1 October 2026 explains the cause and the fix (source: <https://pdfmonkey.io/blog/2026-10-01-post-mortem-tiny-counter-froze-our-api/>)
- Hosting is in the EU (Fly.io and AWS in Paris, Neon in Frankfurt), payloads are stored encrypted, download URLs expire after one hour, and a DPA and DsPA dated 15 October 2026 are published; there is no SOC 2 or ISO 27001 (source: <https://pdfmonkey.io/docs/account-and-security/compliance-and-dpa/>)
- Published in the official MCP registry as io.github.pdfmonkey/pdfmonkey-mcp, 1.0.0 on 18 August 2026 and 1.0.1 on 26 October 2026 (source: <https://registry.modelcontextprotocol.io/v0/servers?search=pdfmonkey>)

- #3 of 9 in Best PDF manipulation and conversion APIs for AI agents: https://www.anchorterminal.com/best/pdf-tools/index.md
- All 43 pdf comparisons: https://www.anchorterminal.com/compare/pdf-tools/index.md

## Compare

- [CloudConvert API vs PDFMonkey](https://www.anchorterminal.com/compare/cloudconvert-vs-pdfmonkey.md): B 63.9 vs C 59.3
- [DocRaptor vs PDFMonkey](https://www.anchorterminal.com/compare/docraptor-vs-pdfmonkey.md): D 53.3 vs C 59.3
- [Foxit PDF Services API vs PDFMonkey](https://www.anchorterminal.com/compare/foxit-pdf-services-vs-pdfmonkey.md): D 48.3 vs C 59.3
- [iLoveAPI vs PDFMonkey](https://www.anchorterminal.com/compare/iloveapi-vs-pdfmonkey.md): E 42.1 vs C 59.3
- [Nutrient DWS Processor API vs PDFMonkey](https://www.anchorterminal.com/compare/nutrient-dws-processor-vs-pdfmonkey.md): BB 71.6 vs C 59.3
- [PDF.co API + MCP vs PDFMonkey](https://www.anchorterminal.com/compare/pdf-co-vs-pdfmonkey.md): E 38.1 vs C 59.3
- [PDFMonkey vs pdfRest API Toolkit](https://www.anchorterminal.com/compare/pdfmonkey-vs-pdfrest.md): C 59.3 vs C 57.7

## Verify this listing

For the vendor. The badge or a plain link to this page verifies the listing, from a page on pdfmonkey.io or one of its subdomains, or the README at the root of github.com/pdfmonkey/pdfmonkey-mcp. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{"slug": "pdfmonkey", "url": "…"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify

HTML badge:

```html
<a href="https://www.anchorterminal.com/tools/pdfmonkey"><img src="https://www.anchorterminal.com/badges/pdfmonkey.svg" alt="PDFMonkey on Anchor Terminal" height="20"></a>
```

Markdown badge, for a README:

```markdown
[![PDFMonkey on Anchor Terminal](https://www.anchorterminal.com/badges/pdfmonkey.svg)](https://www.anchorterminal.com/tools/pdfmonkey)
```

Plain link:

```html
<a href="https://www.anchorterminal.com/tools/pdfmonkey">PDFMonkey on Anchor Terminal</a>
```

## Share this listing

For the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say PDFMonkey is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.

- Dark: https://www.anchorterminal.com/assets/share/pdfmonkey-dark.png
- Light: https://www.anchorterminal.com/assets/share/pdfmonkey-light.png

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
