Connect Quaterio to your Ghost Content API, pull rendered post HTML into block-based templates and render paginated PDFs on demand or in batch. The connector defaults to the body html field so there is no JSON-tree conversion to handle.
Ghost is built for publishing on the web and over email. PDF is not a first-class output. Print stylesheets break across pages, every newsletter export looks rough and re-creating a Ghost post as a PDF in a separate tool means losing the formatting, the byline and the feature image every time.
Quaterio's Ghost connector reads your /ghost/api/content/posts/ endpoint with a Content API key in the URL and drops the rendered post HTML into a Remote Content block. Authors, tags, hero images and metadata are all available as fields you can bind anywhere in the template. Works for Ghost Pro and self-hosted installs alike.
In Ghost Admin, go to Settings → Integrations → Add custom integration. Name it (e.g. "Quaterio PDF") and copy the Content API Key. Do not copy the Admin API Key, they are different and only the Content one works with this connector.
Settings → Connections → New Connection → pick "Ghost" from the type dropdown. Replace yoursite.com with your admin domain (on Ghost Pro this ends in .ghost.io, not your custom site domain) and paste the key into the ?key= URL parameter.
Quaterio fetches /ghost/api/content/posts/ with your key and shows the JSON paths available. Default is posts.0.html for the rendered body. Pick any other field, title, slug, feature_image, excerpt, primary_author.name, and bind it to a block.
Export from the editor for one-offs. For batch jobs or scheduled exports, hit POST /api/v1/generate/template with the template ID. The connector re-fetches at generation time so every PDF reflects the latest post.
Available on Business plan and above.
The Ghost preset queries the Content API (/ghost/api/content/posts/) with your Content API key passed in the URL. Posts come back with rendered html already filled in, so the default binding works straight away. The sections below cover the key handling, the admin domain gotcha and the few edge cases worth knowing.
In Ghost Admin, open Settings → Integrations → Add custom integration. Give it a name (something like "Quaterio PDF" so you remember why it exists later), then copy the Content API Key from the integration page. Do not copy the Admin API Key; the Content API is the read-only one and it is the one this connector uses.
The Content API key is safe to share in client-side environments because it only ever grants read access to public content. Even so, the key is part of the URL on the Quaterio connection, so anyone with access to your Quaterio workspace can read it. Standard team-access hygiene applies.
Ghost expects the Content API key as a query parameter (?key=YOUR_KEY), not as an Authorization header. This is intentional, the Content API is designed to be called from browsers and other low-trust environments. The connector preset reflects this: auth type is "none" because Ghost authenticates on the URL itself.
One side effect: do not paste the URL into chat, screenshots or support tickets. Treat it the same way you treat any API token even though Ghost itself is comfortable with the in-URL pattern. If a key leaks, regenerate it under the integration page in Ghost Admin.
On Ghost Pro (the hosted plan), every blog has a ghost.io admin domain even when your reader-facing site lives on a custom domain. The Content API expects the admin domain. So if your blog is at blog.acme.com but your Ghost Pro admin domain is acme.ghost.io, the API URL is https://acme.ghost.io/ghost/api/content/posts/, not https://blog.acme.com/ghost/api/content/posts/.
Self-hosted Ghost installs do not have this split, site domain and admin domain are the same unless you have explicitly separated them in config.production.json. If you get 404 or "unknown error" on Detect Fields, check the admin domain first.
Ghost returns rendered HTML in the html field by default. The connector defaults to posts.0.html, which means the latest post body lands directly into the bound Remote Content block without any conversion. This is the single biggest reason Ghost is a smoother PDF source than most CMSes, you skip the JSON-tree-to-HTML problem that Contentful and Notion both have.
Other useful fields for templates: title, slug, feature_image, excerpt, custom_excerpt, published_at, reading_time and the primary_author / primary_tag objects. Use Detect Fields to walk the response and bind individual fields to specific blocks (hero image, byline, body).
Authors and tags are not embedded by default, request them with ?include=authors,tags appended to the URL. The response then adds an authors array and a tags array to each post, plus the primary_author and primary_tag objects you can bind to template blocks.
For multi-author posts the order in the authors array matches the order configured in Ghost Admin. primary_author is always the first author. Most PDF templates only need the primary author for the byline, so the include is optional unless you are listing all contributors.
For a specific post, change the URL to /ghost/api/content/posts/slug/{slug}/?key=... and Quaterio fetches exactly that post. The response wraps it in the same posts array (one element), so posts.0.html still works.
For filtered queries (latest from a tag, last 10 posts, posts by author) Ghost supports filter, order and limit query parameters. Example: ?key=...&filter=tag:newsletter&limit=10&order=published_at%20desc. Quaterio passes these straight through; configure them on the URL of the connection.
The Content API behaves identically on both. The differences are infrastructure: Ghost Pro guarantees HTTPS, manages backups and runs version upgrades. Self-hosted installs need your own TLS termination, your own uptime and your own version policy.
For PDF output specifically, the only thing that matters is that the API endpoint is reachable from Quaterio at generation time. If your Ghost install sits behind a private network, the connector cannot hit it. Move it behind a public endpoint with the standard Ghost auth in place, or use the Generic REST preset against an internal proxy.
CMS connections are part of the Business plan and above ($30/mo). Pro plans get the editor and basic templates but not the Remote Content block. Free and Pro users who try to add a Remote Content block see an upgrade prompt.
Ghost charges for their workspace separately. Self-hosted Ghost is free; Ghost Pro starts at $9/mo for the Starter plan. The Content API is included on every Ghost Pro tier; there is no upcharge for using it from a third-party tool like Quaterio.
Set up the connection in two minutes. No credit card required to start.