Skip to main content

Content API Tools

The Content API provides 8 read-only tools for browsing and reading public content from your Ghost site. These tools require the GHOST_CONTENT_API_KEY.

Overview

ToolDescription
content_browse_postsList posts with filtering and pagination
content_read_postGet a single post by ID or slug
content_browse_pagesList pages with filtering and pagination
content_read_pageGet a single page by ID or slug
content_browse_tagsList tags with optional post counts
content_read_tagGet a single tag by ID or slug
content_browse_authorsList authors with optional post counts
content_read_authorGet a single author by ID or slug

Common Parameters

All browse tools support these parameters:

ParameterTypeDescription
limitnumber | "all"Number of results per page (default: 15)
pagenumberPage number for pagination
filterstringNQL filter expression
orderstringSort order (e.g., published_at DESC)
fieldsstringComma-separated list of fields to return
includestringComma-separated list of relations to include
formatsstringContent formats: html, plaintext, or both

All read tools support:

ParameterTypeDescription
idstringResource ID (use either id or slug)
slugstringResource slug (use either id or slug)
includestringRelations to include
fieldsstringFields to return
formatsstringContent formats

content_browse_posts

List posts with optional filtering, pagination, and sorting.

{
"filter": "tag:tutorials+featured:true",
"include": "tags,authors",
"order": "published_at DESC",
"limit": 10
}

Include options

  • tags — Include post tags
  • authors — Include post authors

content_read_post

Get a single post by ID or slug.

{
"slug": "welcome-to-ghost",
"include": "tags,authors",
"formats": "html"
}

content_browse_pages

List pages. Works the same as content_browse_posts but for static pages.

{
"limit": "all",
"include": "tags"
}

content_read_page

Get a single page by ID or slug.

{
"slug": "about",
"formats": "html"
}

content_browse_tags

List tags with optional post counts.

{
"include": "count.posts",
"limit": "all"
}

Include options

  • count.posts — Include the number of posts for each tag

content_read_tag

Get a single tag by ID or slug.

{
"slug": "news",
"include": "count.posts"
}

content_browse_authors

List authors with optional post counts.

{
"include": "count.posts",
"fields": "name,slug,bio,profile_image"
}

Include options

  • count.posts — Include the number of posts for each author

content_read_author

Get a single author by ID or slug.

{
"slug": "john",
"include": "count.posts"
}