Posts

List Posts

Retrieve a list of published posts from the blog. You can specify page number and size, and include tag or author information.

The post body (content_html) is not included in list responses. Request it explicitly with fields[posts] when you need it.

get/posts

Request

Query parameters

pageinteger
Example:1

Page number (starting from 1) JSON:API style page[number] is also accepted.

limitinteger
Example:10

Items per page JSON:API style page[size] is also accepted.

fields[posts]string
Example:title,slug,content_html

Comma-separated post fields to return. Unknown names are ignored. Include content_html to request the post body, which is omitted by default.

includestring
Example:tags,authors

Specify related resources to include, separated by commas

Available values for Posts:

  • tags - Post tags
  • authors - Post authors
filter[slug]string
Example:my-post

Filter by slug. Returns only posts with an exact match.

filter[published]boolean
Example:true

Filter by published status.

filter[published_at_gte]string date-time
Example:2024-01-01

Return only posts published on or after this date. (ISO 8601 format)

filter[published_at_lte]string date-time
Example:2024-12-31

Return only posts published on or before this date. (ISO 8601 format)

filter[tag_id]integer
Example:123

Return only posts with the specified tag.

filter[author_id]string uuid
Example:550e8400-e29b-41d4-a716-446655440000

Return only posts by the specified author.

filter[content_type]'tiptap' | 'notion'
Example:tiptap

Filter by content type.

sort'published_at' | 'created_at' | 'updated_at' | 'title'
Example:published_at

Sort field.

order'asc' | 'desc'
Example:desc

Sort direction.

Response

Post list retrieved successfully

Example response

{
  "jsonapi": {
    "version": "1.0"
  },
  "data": [
    {
      "type": "posts",
      "id": "123",
      "attributes": {
        "title": "Building a Blog with Next.js",
        "slug": "nextjs-blog-tutorial",
        "description": "Learn how to build a blog using Next.js and TypeScript.",
        "content_html": "<h2>Getting Started</h2><p>Let's build a blog with Next.js.</p><div data-type=\"imageBlock\"><img src=\"https://source.inblog.dev/image.jpg\" alt=\"Next.js Logo\"></div>",
        "published_at": "2024-01-15T09:30:00Z",
        "image": {
          "url": "https://source.inblog.dev/featured_image/2025-11-27T07:55:29.824Z-3e1e9fda-41ae-4dfb-a76b-28edfa3a6dd9",
          "blurhash": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAIAAADzBuo/...",
          "created_at": "2025-11-27T07:55:30.897Z"
        },
        "canonical_url": "https://myblog.com/posts/nextjs-tutorial",
        "meta_title": "Next.js Blog Tutorial | My Blog",
        "meta_description": "A complete guide to building a blog with Next.js and TypeScript. Learn through step-by-step tutorials and real examples.",
        "cta_text": "Learn More",
        "cta_link": "https://example.com/signup",
        "cta_color": "#7c3aed",
        "cta_color_type": "custom",
        "cta_text_color": "#ffffff",
        "cta_text_color_type": "custom",
        "form_id": 123,
        "custom_scripts": {
          "head_start_script": "<script>console.log(\"head start\");</script>",
          "head_end_script": "<script>console.log(\"head end\");</script>",
          "body_start_script": "<script>console.log(\"body start\");</script>",
          "body_end_script": "<script>console.log(\"body end\");</script>",
          "json_ld_script": {
            "@context": "https://schema.org",
            "@type": "BlogPosting",
            "headline": "Building a Blog with Next.js",
            "description": "How to build a blog using Next.js and TypeScript",
            "author": {
              "@type": "Person",
              "name": "John Doe",
              "url": "https://myblog.com/authors/john-doe"
            },
            "datePublished": "2024-01-15T09:30:00+09:00",
            "dateModified": "2024-01-16T15:00:00+09:00",
            "image": {
              "@type": "ImageObject",
              "url": "https://source.inblog.dev/featured_image.jpg",
              "width": 1200,
              "height": 630
            },
            "publisher": {
              "@type": "Organization",
              "name": "My Blog",
              "logo": {
                "@type": "ImageObject",
                "url": "https://myblog.com/logo.png"
              }
            },
            "mainEntityOfPage": {
              "@type": "WebPage",
              "@id": "https://myblog.com/posts/nextjs-tutorial"
            },
            "keywords": "Next.js, React, TypeScript, Blog",
            "articleSection": "Development",
            "wordCount": 1500
          }
        }
      },
      "relationships": {
        "tags": {
          "data": {
            "type": "tags",
            "id": "123"
          }
        },
        "authors": {
          "data": {
            "type": "tags",
            "id": "123"
          }
        }
      }
    }
  ],
  "included": [
    {
      "type": "tags",
      "attributes": {
        "name": "JavaScript",
        "slug": "javascript"
      }
    }
  ]
}

Changes

No recorded changes to this operation across all 4 revisions of this API.