Connect Ghost

Connect a Ghost(Pro) or self-hosted Ghost site to SerpPal with the Admin API key of a custom integration, then publish posts with tags and images.

SerpPal publishes to Ghost through the Ghost Admin API. You give it the Admin API key of a custom integration. The key works only for your site and you can delete the integration at any time.

This works with Ghost(Pro) sites (yoursite.ghost.io) and self-hosted Ghost 5 or newer.

Step 1: Make a custom integration in Ghost

  1. Sign in to your Ghost admin (usually https://yoursite.com/ghost).
  2. Click the gear icon to open Settings, then find Integrations. In newer versions it's in the Advanced part of the settings. You can also type "integrations" in the settings search.
  3. Click Add custom integration, name it SerpPal and click Add (or Create).
  4. Ghost shows the integration's keys. You need two things from this screen:
    • the Admin API key: a long code with a colon in the middle, like 6489...:a1b2c3...;
    • the API URL: usually your site's address, like https://yoursite.ghost.io.
Important

Copy the Admin API key, not the Content API key. The Content API key can only read public posts, so SerpPal can't publish with it.

Step 2: Connect it in SerpPal

  1. Open your project, click Project settings, and under Publishing click Connect a site.
  2. Choose Ghost and fill in:
FieldWhat to enter
API URLThe API URL from the integration screen. If you paste your admin address (ending in /ghost/ or /ghost/#/...), SerpPal keeps just the site part.
Admin API keyThe Admin API key from the integration screen.
  1. Click Connect. SerpPal reads your site settings and one post to make sure the key works, then saves the site under your Ghost site's title.

What SerpPal sends to Ghost

  • Title and body. SerpPal sends HTML, and Ghost turns it into its own editor format. The first H1 is left out, because Ghost shows the post title.
  • Slug and status: Live post publishes it; Draft to review saves a draft in Posts, Drafts.
  • Custom excerpt: your excerpt, cut at a word to 300 characters, Ghost's limit.
  • Tags: your tags and categories together, as Ghost tags. Tags that don't exist yet are created.
  • Feature image: uploaded to Ghost and set as the post's feature image, with its alt text (up to 191 characters).
  • Images in the article: uploaded to your Ghost site's image storage.
  • Videos and video links: uploaded videos go to Ghost's media storage. If Ghost refuses a video (for example because it is too big for your plan), the post links to SerpPal's copy instead. Videos and YouTube or Vimeo players are kept as HTML cards so Ghost doesn't drop them.

Publishing the same article to the same site again updates the existing post. If that post was deleted in Ghost, a new one is made.

Troubleshooting

"Ghost: the Admin API key should look like an id, a colon and a long code..." You pasted the Content API key or only part of the key. Copy the full Admin API key again.

"Ghost: the Admin API key was not accepted..." The key is wrong, the integration was deleted, or the API URL points to another site. Copy the key and the API URL again from Settings, Integrations, your custom integration. If the integration was deleted, make a new one.

"Ghost: this integration is not allowed to do this..." Ghost refused one action for this integration. Make sure you are using a custom integration's Admin API key, not a staff user's personal token with a limited role.

"Ghost could not be reached" or "did not answer in time" Check the API URL and that your site is online. For self-hosted Ghost, the site must be reachable from the internet over HTTPS.

A video is missing from the Ghost post, or it plays from a SerpPal link. Ghost refused the upload, so SerpPal linked its own copy. Keep the file in your media library, or upload the video to YouTube and use the link.

More fixes are in Publishing troubleshooting.

Updated November 5, 2026Still stuck? Contact support