Content API

Ghost's RESTful Content API delivers published content to the world and can be accessed in a read-only manner by any client to render in a website, app or other embedded media.

Access control is managed via an API key, and even the most complex filters are made simple with our SDK. The Content API is designed to be fully cachable, meaning you can fetch data as often as you like without limitation.


API Clients

JavaScript Client Library

We've developed an API client for JavaScript, that will allow you to quickly and easily interact with the Content API. The client is an advanced wrapper on top of our REST API - everything that can be done with the Content API can be done using the client, with no need to deal with the details of authentication or the request & response format.

Handlebars

You can upgrade your Ghost theme to use the v3 Content API by specifying the ghost-api version in the engines field of your package.json. See the handlebars reference for an example.


Authentication

Url

https://{admin_domain}

Your admin domain can be different to your main domain. Using the correct domain and protocol are critical to getting consistent behaviour, particularly when dealing with CORS in the browser. All Ghost(Pro) blogs have a *.ghost.io domain as their admin domain and require https.

Path & Version

/ghost/api/{version}/content/

Each API is prefixed with the same path, followed by a specific version. Version strings are required and always start with v. The api versioning guide explains the current available versions and stability index.

Key

?key={key}

Content API keys are provided via a query parameter in the url. These keys are safe for use in browsers and other insecure environments, as they only ever provide access to public data. Sites in private mode should consider where they share any keys they create.

The Content API URL and key can be obtained by creating a new Custom Integration under the Integrations screen in Ghost Admin.

Working Example

# Real endpoint - copy and paste to see!
curl "https://demo.ghost.io/ghost/api/v3/content/posts/?key=22444f78447824223cefc48062"

Endpoints

The Content API provides access to Posts, Pages, Tags, Authors and Settings. All endpoints return JSON.

Verb Path Method
GET /posts/ Browse posts
GET /posts/{id}/ Read a post by ID
GET /posts/slug/{slug}/ Read a post by slug
GET /authors/ Browse authors
GET /authors/{id}/ Read an author by ID
GET /authors/slug/{slug}/ Read a author by slug
GET /tags/ Browse tags
GET /tags/{id}/ Read a tag by ID
GET /tags/slug/{slug}/ Read a tag by slug
GET /pages/ Browse pages
GET /pages/{id}/ Read a page by ID
GET /pages/slug/{slug}/ Read a page by slug
GET /settings/ Browse settings

The Content API supports two types of request: Browse and Read. Browse endpoints allow you to fetch lists of resources, whereas Read endpoints allow you to fetch a single resource.

NOTE: This content is copied from https://ghost.org/docs/api/v3/content/ just for demo purpose