---
title: "List a Substack user's public activity"
method: GET
path: "/substack/user/activity"
tags: ["Substack"]
---

# List a Substack user's public activity

`GET /substack/user/activity`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/substack/user/activity`
- Auth: API key in header `x-api-key`

Returns one page of a user's public activity: the notes they wrote, posts they published, and items they liked, replied to, or restacked. types is an optional comma-separated filter accepting `note`, `post`, `like`, `replies` and `restack`; omit it for the default mixed feed. Each item's kind is the upstream's own finer-grained label, so filtering on `restack` returns both `comment_restack` and `post_restack` items. Pagination is cursor-based.

## Query parameters

- `user_id` integer, required
- `types` string
- `cursor` string

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SubstackUserActivityResponseDoc
  - `code` integer
  - `data` SubstackUserActivityResult
    - `has_more` boolean
    - `items` SubstackUserActivityItem[]
      - `kind` string
      - `note` SubstackNote
        - `attached_post` SubstackNotePost
          - `id` integer
          - `title` string
          - `url` string
        - `author_bestseller_tier` integer
        - `author_handle` string
        - `author_id` integer
        - `author_name` string
        - `author_photo_url` string
        - `author_url` string
        - `body` string
        - `edited_at` string
        - `id` integer
        - `is_ai_generated` boolean
        - `language` string
        - `published_at` string
        - `reaction_count` integer
        - `reactions` object
        - `reply_count` integer
        - `restack_count` integer
        - `url` string
      - `post` SubstackPost
        - `audience` string
        - `comment_count` integer
        - `cover_image_url` string
        - `description` string
        - `id` integer
        - `paywalled` boolean
        - `published_at` string
        - `reaction_count` integer
        - `slug` string
        - `subtitle` string
        - `title` string
        - `type` string
        - `url` string
      - `timestamp` string
    - `next_cursor` string
    - `types` string[]
    - `user_id` integer
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
