{
  "data": {
    "id": "6x7OQTaAafm6aRfaZ",
    "userId": "HIMU0xktu1JeZb4Xl",
    "name": "substack-posts-scraper",
    "username": "fetch_cat",
    "description": "Collect public Substack newsletter posts, archives, and metadata for content research and media monitoring.",
    "isPublic": true,
    "createdAt": "2026-06-19T06:13:27.789Z",
    "modifiedAt": "2026-08-09T17:07:08.808Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "uvqhdhNNAa34abCAQ",
        "finishedAt": "2026-07-16T17:57:53.123Z",
        "buildNumberInt": 100012,
        "buildNumber": "0.1.12"
      }
    },
    "stats": {
      "totalBuilds": 12,
      "totalRuns": 134,
      "totalUsers": 2,
      "totalUsers7Days": 0,
      "totalUsers30Days": 1,
      "totalUsers90Days": 1,
      "lastRunStartedAt": "2026-08-26T14:08:38.812Z",
      "actorReviewCount": 0,
      "actorReviewRating": 0,
      "bookmarkCount": 0,
      "publicActorRunStats30Days": {
        "ABORTED": 0,
        "FAILED": 0,
        "SUCCEEDED": 30,
        "TIMED-OUT": 0,
        "TOTAL": 30
      }
    },
    "versions": [
      {
        "versionNumber": "0.1",
        "sourceType": "SOURCE_FILES",
        "buildTag": "latest"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 300,
      "memoryMbytes": 512
    },
    "exampleRunInput": {
      "body": "{\n  \"publicationUrls\": [\n    {\n      \"url\": \"https://www.lennysnewsletter.com\"\n    }\n  ],\n  \"maxPostsPerPublication\": 10,\n  \"includeBodyHtml\": false,\n  \"includeRssFallback\": true,\n  \"concurrency\": 1\n}",
      "contentType": "application/json; charset=utf-8"
    },
    "categories": [
      "SOCIAL_MEDIA",
      "NEWS",
      "MARKETING"
    ],
    "isDeprecated": false,
    "title": "Substack Posts Scraper",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/HIMU0xktu1JeZb4Xl-actor-6x7OQTaAafm6aRfaZ-aJYvcEcd7a-actor-icon.png",
    "seoTitle": "Substack Scraper for Newsletter Posts & Archives",
    "seoDescription": "Scrape public Substack newsletter posts and archives. Export post URLs, titles, dates, previews, reactions, comments, and optional body fields. CSV, JSON, API.",
    "pricingInfos": [
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-06-19T06:17:00.000Z",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Run started",
              "eventDescription": "One-time fee charged when a run starts.",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "post": {
              "eventTitle": "Post saved",
              "eventDescription": "Charged per public Substack post saved to the dataset.",
              "eventTieredPricingUsd": {
                "FREE": {
                  "tieredEventPriceUsd": 0.000575
                },
                "BRONZE": {
                  "tieredEventPriceUsd": 0.0005
                },
                "SILVER": {
                  "tieredEventPriceUsd": 0.00039
                },
                "GOLD": {
                  "tieredEventPriceUsd": 0.0003
                },
                "PLATINUM": {
                  "tieredEventPriceUsd": 0.0002
                },
                "DIAMOND": {
                  "tieredEventPriceUsd": 0.00014
                }
              }
            }
          }
        },
        "createdAt": "2026-06-19T06:17:04.209Z",
        "apifyMarginPercentage": 0.2
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-06-19T06:21:34.779Z",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Run started",
              "eventDescription": "One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "post": {
              "eventTitle": "Post extracted",
              "eventDescription": "Charged per post extracted.",
              "eventPriceUsd": 0.000027896
            }
          }
        },
        "createdAt": "2026-06-19T06:21:35.160Z",
        "apifyMarginPercentage": 0.2
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "startedAt": "2026-06-19T06:25:02.768Z",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "start": {
              "eventTitle": "Run started",
              "eventDescription": "One-time fee charged when a run starts. Covers fixed startup cost (init, proxy warmup, first HTTP setup).",
              "eventPriceUsd": 0.005,
              "isOneTimeEvent": true
            },
            "post": {
              "eventTitle": "Post extracted",
              "eventDescription": "Charged per post extracted.",
              "eventPriceUsd": 0.000027896,
              "isPrimaryEvent": true
            }
          }
        },
        "createdAt": "2026-06-19T06:25:03.160Z",
        "apifyMarginPercentage": 0.2,
        "isPriceChangeNotificationSuppressed": true
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## Substack Posts Scraper\n\nA Substack-focused web scraper that extracts public newsletter posts and archive entries from Substack publications and custom domains, producing structured per-post metadata and optional article content for research and analysis. It crawls publication archives and feeds to collect post URLs, titles, subtitles, preview/description text, author names, publish dates, paid/post visibility flags when present, public reaction and comment counts, and optional body text or HTML; supports keyword (full-text) search filtering, date-range filtering, RSS/feed fallback for limited archives, and parallel processing of multiple publications to generate repeatable per-post records for downstream analysis, monitoring, or AI workflows.\n\n## Use cases\n\n- Newsletter research and building lists of posts from publications, writers, and categories  \n- Media monitoring for mentions of topics, companies, products, or people across newsletters  \n- Creator tracking and watching publication archives for new posts and public engagement signals  \n- Content analysis and export of titles, previews, dates, reactions, and optional body text for review  \n- Competitive research to monitor how competitors, analysts, or creators discuss a market  \n- Recurring archive snapshots and publication archive backfill for historical tracking  \n- Generating inputs for AI summarization or classification workflows  \n- Alerts on recent posts or changes in publication archives",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0V8tIB3igdXOwU8JglE2N2dz8znsfma/IWT7BoRDkTA+vCOMVItRNV7H13un0Meptz2Ymwvcj1cj0Emh3B3unsKKv0E/QLNfn/RAkKOVdXctlRJTj+f2P3wxjR9uZSTwlo+x6cc/5T5g5j+4d790W07jmXIg8p66zWnaWfGGFLaIkVRyP2t5fGb8sudkmINzDmcK9dkZsIO5cAkcKXZ4jxcPkIAIwIWpXMo/VoPKoKPpDN8kEs8aGwJ8HdXTaH1ZJ9ry0ZOSFpV5sglJ+kVvh07T0eKMD9OZITgjFDWHMjrb3y1n3v+JGase+QWOwsWSqqFi29RVxaxAuxILnGx+r \n"
  }
}