Substack-API

Substack-Beiträge-API

Hole Beiträge aus jeder Substack-Publikation per URL oder übergib die URL eines einzelnen Beitrags (…/p/slug), um nur diesen einen Artikel abzurufen. Liefert Titel, Untertitel, Veröffentlichungsdatum, Paywall-Status, Wortanzahl, Interaktion (Reaktionen, Kommentare, Restacks), Autorenprofil, Publikationsdetails, den vollständigen Artikeltext als Text, HTML und Markdown sowie optional Kommentar-Threads.

0,439604 USD/1k Ergebnisse, Zahlung pro Anfrage, kein Abo.

Clearheaded
clearheaded.blog
ClearheadedSubscribe
HomeArchiveAbout

Why roadmaps are guesses

Sep · Priya Nakamura

The three-question standup

A shorter standup that actually surfaces risk

PaidSep · Priya Nakamura

Ask me anything: hiring your first PM

Reader questions from last week's thread

Sep · Priya Nakamura

Clearheaded

Type your email…Subscribe

Recommendations

Was die API zurückgegeben hatitems[0]
{
"postId": "148302911",
"title": "Why roadmaps are guesses",
"url": "https://www.clearheaded.blog/p/why-roadmaps-are-guesses",
"slug": "why-roadmaps-are-guesses",
"postType": "newsletter",
"createdUtc": 1758585600,
"wordcount": 2140,
"authorName": "Priya Nakamura",
+5 weitere Felder
}
Verfügbarkeit
47,06%
30d · 34 Aufrufe
Anfragen
34
30 T · wöchentlich, letzte 12 Wochen
Antwort
3,7s
Median · 30d

Ausprobieren

Substack Beiträge mit einer Anfrage abrufen

Öffnen in
Beispielantwort
Kostenlose Läufe liefern nur die ersten 3 Ergebnisse. Lade einen Schlüssel auf, um die vollständige Antwort zu bekommen.
{
  "found": true,
  "data": {
    "items": [
      {
        "postId": "148302911",
        "title": "Why roadmaps are guesses",
        "url": "https://www.clearheaded.blog/p/why-roadmaps-are-guesses",
        "slug": "why-roadmaps-are-guesses",
        "postType": "newsletter",
        "createdUtc": 1758585600,
        "wordcount": 2140,
        "authorName": "Priya Nakamura",
        "authorHandle": "priyanakamura",
        "contentStatus": "full",
        "text": "Every roadmap I have shipped was a guess with a deadline attached.",
        "publication": {
          "id": "pub_5521",
          "name": "Clearheaded",
          "url": "https://www.clearheaded.blog",
          "subdomain": "clearheaded",
          "customDomain": "www.clearheaded.blog",
          "description": "Notes on building things without lying to yourself.",
          "image": "https://substackcdn.com/image/fetch/clearheaded/logo.png",
          "language": "en",
          "paymentsEnabled": true,
          "subscriberCount": 38400
        },
        "comments": [
          {
            "commentId": "c_88213",
            "text": "This matches every planning meeting I have sat through for a decade.",
            "createdUtc": 1758600000,
            "authorName": "Devon Okafor",
            "authorHandle": "devonokafor",
            "authorUrl": "https://substack.com/@devonokafor",
            "authorImage": "https://substackcdn.com/image/fetch/clearheaded/devon-avatar.png",
            "reactionCount": 44,
            "restackCount": 2,
            "isPinned": true,
            "isAuthor": false,
            "replies": [
              {
                "commentId": "c_88240",
                "text": "Glad it landed. Curious how your team names the guess out loud.",
                "createdUtc": 1758603600,
                "authorName": "Priya Nakamura",
                "authorHandle": "priyanakamura",
                "authorUrl": "https://www.clearheaded.blog/people/priya-nakamura",
                "authorImage": "https://substackcdn.com/image/fetch/clearheaded/priya-avatar.png",
                "reactionCount": 12,
                "restackCount": 0,
                "isPinned": false,
                "isAuthor": true
              }
            ]
          }
        ]
      },
      {
        "postId": "148190442",
        "title": "The three-question standup",
        "url": "https://www.clearheaded.blog/p/the-three-question-standup",
        "slug": "the-three-question-standup",
        "subtitle": "",
        "description": "A shorter standup that actually surfaces risk",
        "postType": "newsletter",
        "createdUtc": 1757980800,
        "isPaid": true,
        "language": "en",
        "wordcount": 1420,
        "reactionCount": 501,
        "commentCount": 29,
        "replyCount": 6,
        "restackCount": 18,
        "authorName": "Priya Nakamura",
        "authorHandle": "priyanakamura",
        "authorUrl": "https://www.clearheaded.blog/people/priya-nakamura",
        "contentStatus": "preview_only",
        "text": "Most standups answer the same three questions badly. Here is a version that takes six minutes and actually works...",
        "publication": {
          "id": "pub_5521",
          "name": "Clearheaded",
          "url": "https://www.clearheaded.blog",
          "subdomain": "clearheaded"
        },
        "comments": []
      },
      {
        "postId": "148075310",
        "title": "Ask me anything: hiring your first PM",
        "url": "https://www.clearheaded.blog/p/ask-me-anything-hiring-your-first-pm",
        "slug": "ask-me-anything-hiring-your-first-pm",
        "subtitle": "Reader questions from last week's thread",
        "description": "Reader questions from last week's thread",
        "postType": "thread",
        "createdUtc": 1757376000,
        "isPaid": false,
        "language": "en",
        "wordcount": 640,
        "reactionCount": 203,
        "commentCount": 41,
        "replyCount": 9,
        "restackCount": 5,
        "authorName": "Priya Nakamura",
        "authorHandle": "priyanakamura",
        "authorUrl": "https://www.clearheaded.blog/people/priya-nakamura",
        "contentStatus": "metadata_only",
        "publication": {
          "id": "pub_5521",
          "name": "Clearheaded",
          "url": "https://www.clearheaded.blog",
          "subdomain": "clearheaded"
        },
        "comments": []
      }
    ]
  }
}

Vollständige Parameter- und Antwortreferenz: jedes Feld, jeder Typ und jedes Beispiel für diesen Endpoint.

Referenz

Eine Anfrage, eine Antwortstruktur.

Jedes Feld, das du sendest, und jedes Feld, das du zurückbekommst, jeweils mit einem echten Beispiel.

Zuletzt geprüft 2026-10-07 · Verfügbarkeit und Latenz gemessen über 30d

Request-Body

JSON, per POST an diesen Endpoint gesendet.

  • urlstring

    https://www.clearheaded.blog

    Entweder eine Substack-Publikations-URL oder eigene Domain, um die neuesten Beiträge abzurufen (z. B. https://www.astralcodexten.com), ODER die URL eines einzelnen Beitrags, um nur diesen Artikel mit vollständigem Inhalt abzurufen (z. B. https://www.astralcodexten.com/p/your-book-review).

  • contentTypeenum

    Beschränke auf einen einzelnen Beitragstyp oder 'all' (z. B. newsletter).

  • endDatestring

    Nur Beiträge zurückgeben, die an oder vor diesem Datum veröffentlicht wurden, Format YYYY-MM-DD (z. B. 2024-12-31). Wird innerhalb der zuletzt gescannten 'limit' Beiträge angewendet.

  • includeCommentsboolean

    Öffentliche Kommentar-Threads und ihre direkten Antworten zu jedem Beitrag aufnehmen (z. B. true).

  • includeContentboolean

    true

    Den vollständigen Artikeltext als Text, HTML und Markdown aufnehmen. Auf false setzen für nur Metadaten, was schneller ist (z. B. false).

  • limitinteger

    3

    Maximale Zahl der zurückgegebenen aktuellen Beiträge, wenn eine Publikations-URL angegeben ist (1-100, Standard 25); wird bei der URL eines einzelnen Beitrags ignoriert, die immer genau diesen einen Beitrag zurückgibt. Du zahlst pro zurückgegebenem Beitrag, daher kostet ein niedrigeres Limit weniger.

  • maxCommentsinteger

    Maximale Zahl der pro Beitrag erfassten Kommentare, wenn „includeComments“ true ist (0-500, Standard 20). Kostet nichts extra (z. B. 50).

  • minCommentsinteger

    Nur Beiträge mit mindestens so vielen Kommentaren zurückgeben (z. B. 10).

  • minReactionsinteger

    Nur Beiträge mit mindestens so vielen Reaktionen zurückgeben (z. B. 100).

  • minWordCountinteger

    Nur Beiträge mit mindestens so vielen Wörtern zurückgeben, was kurze Notizen und Ankündigungen herausfiltert (z. B. 1000).

  • onlyFreeboolean

    Gib nur kostenlose Beiträge ohne Paywall zurück (z. B. true).

  • startDatestring

    Nur Beiträge zurückgeben, die an oder nach diesem Datum veröffentlicht wurden, Format YYYY-MM-DD (z. B. 2024-01-01). Wird innerhalb der zuletzt gescannten 'limit' Beiträge angewendet, erhöhe daher 'limit', um ältere Zeiträume zu erreichen.

Du sendest. Ein kleiner JSON-Body. Die gezeigten Werte sind Beispiele, die du durch deine eigenen ersetzt.

Antwort

JSON, ein Beispielwert pro Feld.

  • foundboolean

    true

each itemdata.items[]
  • postIdstring

    148302911

  • titlestring

    Why roadmaps are guesses

  • urlstring

    https://www.clearheaded.blog/p/why-roadmaps-are-guesses

  • slugstring

    why-roadmaps-are-guesses

  • postTypestring

    newsletter

  • createdUtcnumber

    1758585600

  • wordcountnumber

    2140

  • authorNamestring

    Priya Nakamura

  • authorHandlestring

    priyanakamura

  • contentStatusstring

    full

  • textstring

    Every roadmap I have shipped was a guess with a deadline attached.

publicationdata.items[].publication
  • idstring

    pub_5521

  • namestring

    Clearheaded

  • urlstring

    https://www.clearheaded.blog

  • subdomainstring

    clearheaded

  • customDomainstring

    www.clearheaded.blog

  • descriptionstring

    Notes on building things without lying to yourself.

  • imagestring

    https://substackcdn.com/image/fetch/clearheaded/logo.png

  • languagestring

    en

  • paymentsEnabledboolean

    true

  • subscriberCountnumber

    38400

each commentdata.items[].comments[]
  • commentIdstring

    c_88213

  • textstring

    This matches every planning meeting I have sat through for a decade.

  • createdUtcnumber

    1758600000

  • authorNamestring

    Devon Okafor

  • authorHandlestring

    devonokafor

  • authorUrlstring

    https://substack.com/@devonokafor

  • authorImagestring

    https://substackcdn.com/image/fetch/clearheaded/devon-avatar.png

  • reactionCountnumber

    44

  • restackCountnumber

    2

  • isPinnedboolean

    true

  • isAuthorboolean

    false

each replydata.items[].comments[].replies[]
  • commentIdstring

    c_88240

  • textstring

    Glad it landed. Curious how your team names the guess out loud.

  • createdUtcnumber

    1758603600

  • authorNamestring

    Priya Nakamura

  • authorHandlestring

    priyanakamura

  • authorUrlstring

    https://www.clearheaded.blog/people/priya-nakamura

  • authorImagestring

    https://substackcdn.com/image/fetch/clearheaded/priya-avatar.png

  • reactionCountnumber

    12

  • restackCountnumber

    0

  • isPinnedboolean

    false

  • isAuthorboolean

    true

Du bekommst zurück. Benannte, typisierte Felder in derselben Struktur, egal welche Quelle antwortet.

FAQ

Über die Substack-Beiträge-API

Die AnyAPI-Substack-Beiträge-API liefert Substack-Daten als normalisiertes JSON aus einem POST-Aufruf an /v1/run/substack.posts. Hole Beiträge aus jeder Substack-Publikation per URL oder übergib die URL eines einzelnen Beitrags (…/p/slug), um nur diesen einen Artikel abzurufen. Liefert Titel, Untertitel, Veröffentlichungsdatum, Paywall-Status, Wortanzahl, Interaktion (Reaktionen, Kommentare, Restacks), Autorenprofil, Publikationsdetails, den vollständigen Artikeltext als Text, HTML und Markdown sowie optional Kommentar-Threads. AnyAPI liefert ein normalisiertes Schema, egal welche Quelle antwortet. Sie kostet 0,44 USD pro 1.000 Ergebnisse, und nie mehr als 0,0444 USD für eine einzelne Anfrage, in US-Dollar, ohne Abo und ohne monatliches Minimum. In den letzten 30 Tagen waren 47,1% der Substack Beiträge-Aufrufe über AnyAPI erfolgreich, bei einer mittleren Antwortzeit von 3,7 Sekunden über 34 gemessene Aufrufe.

Sie kostet 0,44 USD pro 1.000 Ergebnisse, und nie mehr als 0,0444 USD für eine einzelne Anfrage, in US-Dollar, ohne Abo und ohne monatliches Minimum. Du lädst ein USD-Guthabenkonto auf, und jeder Aufruf bucht davon ab. Bei manchen fehlgeschlagenen, vom Guthabenkonto bezahlten Anfragen fallen Bearbeitungsgebühren an, die wir zum Selbstkostenpreis ohne Aufschlag weitergeben. Die Fehlerantwort zeigt den berechneten Betrag.

Hole Beiträge aus jeder Substack-Publikation per URL oder übergib die URL eines einzelnen Beitrags (…/p/slug), um nur diesen einen Artikel abzurufen. Liefert Titel, Untertitel, Veröffentlichungsdatum, Paywall-Status, Wortanzahl, Interaktion (Reaktionen, Kommentare, Restacks), Autorenprofil, Publikationsdetails, den vollständigen Artikeltext als Text, HTML und Markdown sowie optional Kommentar-Threads. Die Antwort ist normalisiertes JSON mit demselben Envelope, den jeder AnyAPI-Endpoint liefert, sodass das Parsen eines zweiten Endpoints nur eine geänderte URL bedeutet.

In den letzten 30 Tagen waren 47,1% der Substack Beiträge-Aufrufe über AnyAPI erfolgreich, bei einer mittleren Antwortzeit von 3,7 Sekunden über 34 gemessene Aufrufe. Das sind AnyAPIs eigene Messungen des Traffics durch das Gateway, laufend neu berechnet, kein veröffentlichtes Service-Level-Ziel.

Ja. Ein neues AnyAPI-Konto startet mit 0,10 USD Gratis-Guthaben, ohne Karte. Das deckt mindestens 2 Substack-Beiträge-Aufrufe zu je bis zu 0,0444 USD.

Sende eine POST-Anfrage an https://api.getanyapi.com/v1/run/substack.posts mit deinem AnyAPI-Schlüssel in einem Header „Authorization: Bearer“ und der Eingabe als JSON-Body. Derselbe Schlüssel und dasselbe Guthabenkonto funktionieren bei jedem AnyAPI-Endpoint.

Nein. Du lädst US-Dollar auf ein Prepaid-AnyAPI-Guthaben, und jede Anfrage bucht davon ab. Es gibt keinen Monatstarif und kein Minimum, und dasselbe Guthaben bezahlt jeden AnyAPI-Endpoint.

Ja. Installiere @getanyapi/sdk von npm für TypeScript oder getanyapi von pip für Python. Beide rufen jeden AnyAPI-Endpoint mit demselben Schlüssel auf, und jeder HTTP-Client funktioniert ebenfalls.

Ja. Ein Agent kann sich mit dem AnyAPI-MCP-Server unter https://api.getanyapi.com/mcp verbinden oder mit einem unauthentifizierten POST an https://api.getanyapi.com/agent/signup einen eigenen kostenlosen Test-Schlüssel erstellen und diesen Endpoint über HTTP aufrufen.