Skip to main content
GET
/
posts
/
{slug}
Retrieve Single Post
curl --request GET \
  --url https://api.buttercms.com/v2/posts/{slug}/ \
  --header 'Authorization: <api-key>'
{
  "meta": {
    "next_post": null,
    "previous_post": {
      "slug": "google-analytics-is-now-integrated-with-your-butter-blog",
      "title": "Google Analytics is now integrated with your Butter blog",
      "featured_image": "https://d2devwt40at1e2.cloudfront.net/api/file/etSDYJUIFDADGEEAQ/"
    }
  },
  "data": {
    "url": "http://www.example.com/blog/hello-world",
    "created": "2015-06-12T13:59:32.441289Z",
    "published": "2015-06-12T00:00:00Z",
    "author": {
      "first_name": "API",
      "last_name": "Test",
      "email": "apitest@buttercms.com",
      "slug": "api-test",
      "bio": "This is my bio.",
      "title": "API",
      "linkedin_url": "https://www.linkedin.com/in/API",
      "facebook_url": "https://www.facebook.com/API",
      "twitter_handle": "buttercmsapi",
      "profile_image": "https://buttercms.com/api.png"
    },
    "categories": [
      {
        "name": "test category",
        "slug": "test-category"
      }
    ],
    "tags": [
      {
        "name": "test tag",
        "slug": "test-tag"
      }
    ],
    "featured_image": null,
    "featured_image_alt": "",
    "slug": "hello-world",
    "title": "This is a blog post",
    "body": "<p class=\"\">This is a blog post to test the API.</p>",
    "summary": "This is a blog post to test the API.",
    "seo_title": "This is a blog post",
    "meta_description": "This is a blog post to test the API.",
    "status": "published"
  }
}
Retrieve a specific blog post by its unique slug, including complete post content, metadata, and navigation information. This endpoint is ideal for building individual blog post pages with full content display. Universal Access: This endpoint retrieves posts regardless of their publication status (published, draft, or scheduled), making it perfect for preview functionality and content management workflows. Note that draft and scheduled posts won’t appear in listing endpoints unless preview mode is specifically enabled. Navigation Support: The response includes a helpful meta object containing next_post and previous_post navigation links, allowing you to easily implement “Previous/Next” navigation on your blog post pages without additional API calls.
Important: You must append a trailing slash to the URL path: /v2/posts/your-post-slug/. This is required for the endpoint to function correctly.

Authorizations

Authorization
string
header
required

Set the Authorization header to Token your_read_api_token.

Example: Authorization: Token abc123def456

Note: The header value includes the Token prefix.

You can access your API token from your settings page.

Path Parameters

slug
string
required

The unique slug of the blog post to retrieve.

Important: The URL must end with a trailing slash (/v2/posts/your-slug/).

Maximum string length: 100

Query Parameters

auth_token
string

Your ButterCMS read API token

Response

Success - Blog Post Retrieved

Returns the complete blog post object along with navigation metadata for browsing between posts.

Response for retrieving a single blog post with navigation metadata

meta
object

Navigation metadata for single blog post responses

data
object

Complete blog post object with all fields and related data