> ## Documentation Index
> Fetch the complete documentation index at: https://paragraph.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get posts in a publication

> Retrieve a paginated list of published posts from a publication



## OpenAPI

````yaml /paragraph-api/openapi.json get /v1/publications/{publicationId}/posts
openapi: 3.1.0
info:
  title: Paragraph API
  version: 1.0.0
  description: >-
    Public API for interacting with Paragraph publications, posts, users, and
    coined writing.


    ## Rate Limiting

    API requests are rate-limited to ensure fair usage. Contact
    support@paragraph.com for higher limits.


    ## Pagination

    List endpoints support cursor-based pagination using `cursor` and `limit`
    parameters.
  contact:
    name: Paragraph Support
    email: support@paragraph.com
    url: https://paragraph.com/support
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://public.api.paragraph.com/api
    description: Production server
security:
  - {}
tags:
  - name: publications
    description: Operations related to publications
  - name: posts
    description: Operations related to posts and content
  - name: users
    description: Operations related to users and authors
  - name: coins
    description: Operations related to tokenized content
  - name: subscribers
    description: Operations related to subscriber management (requires API key)
paths:
  /v1/publications/{publicationId}/posts:
    get:
      tags:
        - posts
      summary: Get posts in a publication
      description: Retrieve a paginated list of published posts from a publication
      operationId: getPosts
      parameters:
        - name: publicationId
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier of the publication
        - name: cursor
          in: query
          description: Cursor for pagination
          schema:
            type: string
        - name: limit
          in: query
          description: 'Maximum number of items to return (1-100, default: 10)'
          schema:
            default: 10
            type: integer
            minimum: 1
            maximum: 100
        - name: includeContent
          in: query
          description: >-
            Include full content fields (markdown, json, staticHtml). Default:
            false
          schema:
            oneOf:
              - type: boolean
              - type: string
      responses:
        '200':
          description: Posts retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the post
                        title:
                          type: string
                          maxLength: 200
                          description: Title of the post
                        imageUrl:
                          type: string
                          format: uri
                          description: Optional URL to the post's main image
                        publishedAt:
                          type: string
                          description: Epoch timestamp when the post was published
                        updatedAt:
                          type: string
                          description: Epoch timestamp when the post was last updated
                        subtitle:
                          type: string
                          maxLength: 300
                          description: Optional subtitle or brief summary
                        slug:
                          type: string
                          minLength: 1
                          maxLength: 256
                          description: >-
                            URL-friendly identifier for the post; accessible at
                            paragraph.com/@[publicationSlug]/[slug]
                        staticHtml:
                          type: string
                          description: Rendered HTML content of the post
                        json:
                          type: string
                          description: >-
                            TipTap JSON representation of the post content
                            structure. This is the source of truth that the
                            staticHtml and markdown is generated from
                        markdown:
                          type: string
                          description: Markdown source of the post content
                        coinId:
                          type: string
                          description: ID of the associated coin, if the post is coined
                        categories:
                          type: array
                          items:
                            type: string
                          description: Categories/tags associated with this post
                        authors:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                                description: Unique identifier for the user
                              walletAddress:
                                type: string
                                pattern: ^0x[a-fA-F0-9]{40}$
                                description: Wallet address of the user
                              avatarUrl:
                                type: string
                                format: uri
                                description: URL to the user's avatar image
                              publicationId:
                                type: string
                                description: ID of the publication this user belongs to
                              name:
                                type: string
                                description: Display name of the user
                              bio:
                                type: string
                                maxLength: 500
                                description: >-
                                  Brief biography of the user (max 500
                                  characters)
                              farcaster:
                                type: object
                                properties:
                                  username:
                                    type: string
                                    description: Farcaster username
                                  displayName:
                                    type: string
                                    description: Farcaster display name
                                  fid:
                                    type: number
                                    description: Farcaster fid
                                required:
                                  - username
                                  - displayName
                                  - fid
                                description: Farcaster profile information, if linked
                            required:
                              - id
                              - publicationId
                          description: Authors of this post
                        authorIds:
                          type: array
                          items:
                            type: string
                          description: IDs of the authors of this post
                        views:
                          type: number
                          description: >-
                            Total views. Only included when fetching your own
                            posts via GET /v1/posts
                        status:
                          type: string
                          enum:
                            - published
                            - draft
                            - scheduled
                            - archived
                          description: >-
                            Current publish status. Only set on authenticated
                            endpoints (listOwn, getById for your own post). Use
                            this instead of publishedAt to determine publish
                            state — publishedAt is preserved across
                            unpublishing.
                      required:
                        - id
                        - title
                        - slug
                    description: Array of items in this page
                  pagination:
                    type: object
                    properties:
                      cursor:
                        type: string
                        description: Cursor for fetching the next page of results
                      hasMore:
                        type: boolean
                        description: Whether more results are available
                      total:
                        type: number
                        description: Total number of items available
                    required:
                      - hasMore
                required:
                  - items
                  - pagination
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
      x-codeSamples:
        - lang: typescript
          label: Get posts from a publication with pagination
          source: >-
            import { ParagraphAPI } from "@paragraph-com/sdk"


            const api = new ParagraphAPI()

            const { items: posts, pagination } = await api.posts.get({
            publicationId: "BMV6abfvCSUl51ErCVzd" })

````