---
title: "Get posts feed"
method: GET
path: "/v1/posts/feed"
tags: ["posts"]
---

# Get posts feed

`GET /v1/posts/feed`

Retrieve a curated, paginated list of posts.

## Query parameters

- `cursor` string
- `limit` integer
- `includeContent` boolean, nullable

## Response `200`

Feed items retrieved successfully

- object
  - `items` object[], required — Array of items in this page
    - `post` object, required — The post content
      - `id` string, required — Unique identifier for the post
      - `title` string, required — Title of the post
      - `imageUrl` string, uri — Optional URL to the post's main image
      - `publishedAt` string — Epoch timestamp when the post was published
      - `updatedAt` string — Epoch timestamp when the post was last updated
      - `subtitle` string — Optional subtitle or brief summary
      - `slug` string, required — URL-friendly identifier for the post; accessible at paragraph.com/@[publicationSlug]/[slug]
      - `staticHtml` string — Rendered HTML content of the post
      - `json` string — TipTap JSON representation of the post content structure. This is the source of truth that the staticHtml and markdown is generated from
      - `markdown` string — Markdown source of the post content
      - `coinId` string — ID of the associated coin, if the post is coined
    - `publication` object, required — The publication this post belongs to
      - `id` string, required — Unique identifier for the publication
      - `name` string, required — Display name of the publication
      - `ownerUserId` string, required — ID of the user who owns this publication
      - `slug` string, required — URL-friendly identifier for the publication; accessible at paragraph.com/@[slug]
      - `customDomain` string, uri — Custom domain configured for this publication
      - `summary` string — Brief description of the publication (max 500 characters)
      - `logoUrl` string, uri — URL to the publication's logo image
    - `user` object, required — The user who owns the publication this post belongs to
      - `id` string, required — Unique identifier for the user
      - `walletAddress` string — Wallet address of the user
      - `avatarUrl` string, uri — URL to the user's avatar image
      - `publicationId` string, required — ID of the publication this user belongs to
      - `name` string — Display name of the user
      - `bio` string — Brief biography of the user (max 500 characters)
      - `farcaster` object — Farcaster profile information, if linked
        - `username` string, required — Farcaster username
        - `displayName` string, required — Farcaster display name
        - `fid` number, required — Farcaster fid
  - `pagination` object, required
    - `cursor` string — Cursor for fetching the next page of results
    - `hasMore` boolean, required — Whether more results are available
    - `total` number — Total number of items available

## Other responses

- `400` — Invalid request parameters
- `500` — Internal server error

## Changes

- **2025-12-15** `6cd4df5944a6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/paragraph-xyz/apis/paragraph-api/changes/v1/posts/feed/get.md)

---

[API](https://skmtc.dev/paragraph-xyz/apis/paragraph-api.md) · [All operations](https://skmtc.dev/paragraph-xyz/apis/paragraph-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/paragraph-xyz/paragraph-api/revisions/d92bbffc08cf/schema)
