Connect Ghost to GeoCopy
GeoCopy publishes to Ghost using the Ghost Admin API. You need a Custom Integration with an Admin API key. Keep this key secret; GeoCopy stores it encrypted server-side.
Admin API vs Content API
Ghost shows two keys on each Custom Integration. GeoCopy needs the Admin API key only.
- Admin API key — read/write. Format
24-char-id:64-char-secret. Required for GeoCopy. - Content API key — read-only published content. Single hex string, often passed as
?key=in URLs. Not used for publishing.
Ghost Pro example
For a site like https://inspo-test.ghost.io, connect with:
- Site URL:
https://inspo-test.ghost.io(no trailing slash) - Admin API key: from Settings → Integrations → your Custom Integration
Steps
- Log in to Ghost Admin (often
https://yoursite.ghost.io/ghoston Ghost Pro, or your self-hosted URL). - Go to Settings → Integrations.
- Click Add custom integration, name it (e.g.
GeoCopy), and save. - Copy the Admin API Key. It looks like
24-char-id:64-char-secret. - In GeoCopy, open Integrations → Ghost and connect with:
- Site URL: your Ghost admin domain without a trailing slash (e.g.
https://yoursite.ghost.ioorhttp://localhost:2368). - Admin API Key: the key from step 4.
- Site URL: your Ghost admin domain without a trailing slash (e.g.
Site settings (optional)
After connecting, open your Ghost integration settings in GeoCopy to configure:
- Default tag: applied to every published post (your focus keyword is also added as a tag).
- Default author email: must match a staff user in Ghost. If unset, Ghost uses the site owner.
- Publishing mode: require approval or auto-publish on schedule.
Publishing behavior
- Article HTML is sent with
source=htmlso Ghost converts it to Lexical. - Featured images are uploaded to Ghost before the post is created.
- Draft and live publish options are available from the article publish card.
- Scheduled articles use Ghost's
scheduledstatus withpublished_at. - Content refresh updates the existing Ghost post in place.
Troubleshooting
- 401 / Unauthorized: regenerate the Admin API key and reconnect. Ensure the key includes both the ID and secret separated by a colon.
- Wrong URL: use the admin domain Ghost expects for API calls, with
https://and no trailing slash. - Author not assigned: set a default author email that matches a Ghost staff user.
For more detail, see the Ghost Admin API authentication docs.