Docs/Skills/Website to PDF Skill

Website to PDF Skill

Convert website to PDF

OperationalCredits 40 per callp50 4162msDocuments

Overview

The URL is first checked to be a public web address; private, loopback and other internal hosts are refused. The page is then loaded by a headless Chrome rendering service and printed with Chrome's PDF output. The render has a 25-second limit, and failures such as an unreachable site or a timeout come back as an error response with an explanatory message.

Margins are numbers in inches and default to 0.4 on every side; the response echoes them as strings with an `in` suffix, such as `"0.4in"`. `landscape` defaults to false. `format` is matched case-insensitively against A4, Letter, Legal, Tabloid, Ledger, A3, A5 and A6, and anything else falls back to A4. `printBackground` defaults to true; set it to false and the page's background colors and images are left out.

After rendering, the PDF is opened once to count its pages. If that read fails, the file is still delivered and `pageCount` is null. The PDF is stored under a random `pdfName`, and `downloadURL` is a signed link that works until `expires`, a Unix timestamp in milliseconds two days after the call. The response never contains the PDF bytes, so download the file before it expires.

On the Free plan the margin, `landscape`, `format` and `printBackground` parameters are removed before rendering, so every free PDF uses the defaults, and the `format` and `pageCount` response fields are null. Pages behind a login, cookie wall or bot check render as whatever the browser is shown, which may be the wall itself.

Live Test Website to PDF Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as WebsitetoPDFSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "WebsitetoPDFSkill",
  "arguments": {
    "url": "https://en.wikipedia.org/wiki/PDF"
  }
}

You do not name the tool yourself; the model picks it. Asking about https://en.wikipedia.org/wiki/PDF in the terms this skill covers is enough for it to reach for WebsitetoPDFSkill on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
urlRequiredstringThe URL of the website to convert to PDF
url
marginTopOptionalPremiumnumberThe top margin of the PDF in inches (e.g., 0.4)
default 0.4
marginRightOptionalPremiumnumberThe right margin of the PDF in inches (e.g., 0.4)
default 0.4
marginBottomOptionalPremiumnumberThe bottom margin of the PDF in inches (e.g., 0.4)
default 0.4
marginLeftOptionalPremiumnumberThe left margin of the PDF in inches (e.g., 0.4)
default 0.4
landscapeOptionalPremiumbooleanSet to true for landscape orientation
formatOptionalPremiumstringPaper size
A4LetterLegalTabloidLedgerA3A5A6
default A4
printBackgroundOptionalPremiumbooleanPrint background colors and images; set false for an ink-saving document
default true

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
marginLeftstring0.4inLeft margin of generated PDF in inches
marginRightstring0.4inRight margin of generated PDF in inches
marginTopstring0.4inTop margin of generated PDF in inches
marginBottomstring0.4inBottom margin of generated PDF in inches
landscapebooleanfalsePDF orientation mode (true for landscape)
formatPremiumstringA4Paper size used
pageCountPremiumnumber6Number of pages in the generated PDF; null if it could not be read
pdfNamestring128deceb-c515-444b-8863-82cb3f6ba632.pdfGenerated PDF filename with unique identifier
expiresnumber1766097122116PDF expiration timestamp in milliseconds
urlstringhttps://docs.aws.amazon.com/AWSEC2/latest/UserGuide/conceptsOriginal source URL that was converted to PDF
downloadURLstringhttps://storage.googleapis.com/apiverve-helpers.appspot.com/websitetopdf/128deceb-c515-444b-8863-82c…Temporary signed URL for downloading the PDF file

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 40 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Billing Receipt Archival
SaaS platforms pass payment confirmation URLs to provide customers with downloadable PDF receipts via the temporary download link.
Article Offline Reading
To preserve online research, bookmarking tools submit article URLs and save the resulting PDF download links for offline reading.
Policy Compliance Tracking
When terms of service update, legal teams generate timestamped PDF records directly from live policy pages for compliance archives.
Automated Report Exports
Archive public analytics dashboards by converting page URLs into PDF files to attach to scheduled client reports.

Other ways to use Website to PDF Skill

Set up Website to PDF Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →

More in Documents:

Was this page helpful?