X / Twitter-API

X / Twitter-Beiträge des Nutzers-API

Hole die Timeline im Reiter „Posts“ des Profils eines X-(Twitter-)Kontos per Handle. Die Ergebnisse folgen der Profilreihenfolge: Ein angehefteter Beitrag kann zuerst erscheinen, gefolgt von den übrigen selbst verfassten Beiträgen in umgekehrter zeitlicher Reihenfolge, Reposts, Zitaten und Fortsetzungen des Self-Threads.

0,45 USD/1k Anfr., Zahlung pro Anfrage, kein Abo.

@buildwithjonah / X
x.com/buildwithjonah

@buildwithjonah

BFollow

@buildwithjonah

PostsRepliesHighlightsMedia

Pinned

B

@buildwithjonah· Sep 26, 2024

Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.

964123,820
Was die API zurückgegeben hattweets[0]
{
"id": "1842093771280384512",
"url": "https://x.com/buildwithjonah/status/1842093771280384512",
"text": "Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.",
"createdUtc": 1727366400,
"lang": "en",
"likes": 3820,
"retweets": 412,
"replies": 96,
+12 weitere Felder
}
Verfügbarkeit
99,87%
30d · 34.880 Aufrufe
Anfragen
34.880
30 T · wöchentlich, letzte 12 Wochen
Antwort
2,0s
Median · 30d

Preise und Anbieter

Preise der X / Twitter-Beiträge des Nutzers-API: eine API, 3 austauschbare Anbieter

Der günstigste Anbieter bedient zuerst. Fällt er aus, übernimmt der nächste im selben Aufruf.

Du zahlst
4,50 USD
0,45 USD/1k Anfr., nur für das, was du nutzt. Kein Monatstarif.
Deine ersten 222 Anfragen sind mit dem Startguthaben von 0,10 USD kostenlos.

Ausprobieren

X / Twitter Beiträge des Nutzers mit einer Anfrage abrufen

requireFieldsarray
Optional; wenn weggelassen, bleibt das Routing unverändert, und die günstigste Quelle bedient. Nenne die Ausgabefelder, die diese Anfrage zurückgeben können muss, zum Beispiel `isPinned` oder `isReply`, und sie wird nur von einer Quelle bedient, die jedes davon zurückgibt. Felder, die du nicht nennst, werden weiterhin zurückgegeben, sobald die bedienende Quelle sie hat. Das kann deinen Preis erhöhen: Wenn die günstigste Quelle ein genanntes Feld nicht zurückgeben kann, bedient eine teurere Quelle, und dir wird ihr Preis genannt und berechnet. Ein genanntes Feld kann bei einem Tweet, der es tatsächlich nicht hat, trotzdem fehlen. Eine Kombination zu nennen, die keine einzelne Quelle zusammen zurückgibt, wird als ungültige Eingabe ohne Berechnung abgelehnt. Bei einem paginierten Durchlauf gilt es nur für die erste Seite; spätere Seiten bleiben bei der Quelle, die diese Seite gewählt hat, zu dem Preis, der ihr genannt wurde.
Ö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": {
    "tweets": [
      {
        "id": "1842093771280384512",
        "url": "https://x.com/buildwithjonah/status/1842093771280384512",
        "text": "Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.",
        "createdUtc": 1727366400,
        "lang": "en",
        "likes": 3820,
        "retweets": 412,
        "replies": 96,
        "quotes": 28,
        "views": 284000,
        "bookmarks": 1540,
        "isReply": false,
        "isPinned": true,
        "media": [],
        "conversationId": "1842093771280384512",
        "source": "Twitter Web App",
        "authorId": "1401882093771280384",
        "authorName": "Jonah Ruiz",
        "authorHandle": "buildwithjonah",
        "authorImage": "https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg"
      },
      {
        "id": "1841002881044099072",
        "url": "https://x.com/buildwithjonah/status/1841002881044099072",
        "text": "Shipped a small tool today that diffs API response schemas across versions. Saved me from a nasty silent break last week.",
        "createdUtc": 1727280000,
        "lang": "en",
        "likes": 640,
        "retweets": 52,
        "replies": 18,
        "quotes": 2,
        "views": 41200,
        "bookmarks": 210,
        "isReply": false,
        "isPinned": false,
        "media": [
          {
            "type": "photo",
            "url": "https://pbs.twimg.com/media/F9j1QoQWkAA_diff_tool.jpg",
            "width": 1600,
            "height": 1000
          }
        ],
        "conversationId": "1841002881044099072",
        "source": "Twitter for iPhone",
        "authorId": "1401882093771280384",
        "authorName": "Jonah Ruiz",
        "authorHandle": "buildwithjonah",
        "authorImage": "https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg"
      },
      {
        "id": "1839881220337844224",
        "url": "https://x.com/buildwithjonah/status/1839881220337844224",
        "text": "@dataeng_marta Totally agree, cursor pagination beats offset once you get past a few hundred thousand rows.",
        "createdUtc": 1727107200,
        "lang": "en",
        "likes": 88,
        "retweets": 4,
        "replies": 6,
        "quotes": 0,
        "views": 6200,
        "bookmarks": 12,
        "isReply": true,
        "isPinned": false,
        "media": [],
        "conversationId": "1839880002114899968",
        "source": "Twitter Web App",
        "authorId": "1401882093771280384",
        "authorName": "Jonah Ruiz",
        "authorHandle": "buildwithjonah",
        "authorImage": "https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg"
      }
    ],
    "nextCursor": "DAABCgABGZ3xw5A2xVIKAAIY__posts_page2"
  }
}

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.

  • handlestring

    buildwithjonah

    Twitter/X-Handle ohne das führende @.

  • cursorstring

    Opaker Paginierungs-Cursor aus dem nextCursor einer vorherigen Antwort. Für die erste Seite weglassen.

  • requireFieldsarray

    Optional; wenn weggelassen, bleibt das Routing unverändert, und die günstigste Quelle bedient. Nenne die Ausgabefelder, die diese Anfrage zurückgeben können muss, zum Beispiel `isPinned` oder `isReply`, und sie wird nur von einer Quelle bedient, die jedes davon zurückgibt. Felder, die du nicht nennst, werden weiterhin zurückgegeben, sobald die bedienende Quelle sie hat. Das kann deinen Preis erhöhen: Wenn die günstigste Quelle ein genanntes Feld nicht zurückgeben kann, bedient eine teurere Quelle, und dir wird ihr Preis genannt und berechnet. Ein genanntes Feld kann bei einem Tweet, der es tatsächlich nicht hat, trotzdem fehlen. Eine Kombination zu nennen, die keine einzelne Quelle zusammen zurückgibt, wird als ungültige Eingabe ohne Berechnung abgelehnt. Bei einem paginierten Durchlauf gilt es nur für die erste Seite; spätere Seiten bleiben bei der Quelle, die diese Seite gewählt hat, zu dem Preis, der ihr genannt wurde.

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 tweetdata.tweets[]
  • idstring

    1842093771280384512

  • urlstring

    https://x.com/buildwithjonah/status/1842093771280384512

  • textstring

    Spent the last 6 months building a data pipeline that normalizes 40 scraper APIs into one schema. Here is what broke, and what I would do differently. A thread.

  • createdUtcnumber

    1727366400

  • langstring

    en

  • likesnumber

    3820

  • retweetsnumber

    412

  • repliesnumber

    96

  • quotesnumber

    28

  • viewsnumber

    284000

  • bookmarksnumber

    1540

  • isReplybooleankann erfordern

    false

  • isPinnedbooleankann erfordern

    true

  • mediaarray
  • conversationIdstring

    1842093771280384512

  • sourcestring

    Twitter Web App

  • authorIdstring

    1401882093771280384

  • authorNamestring

    Jonah Ruiz

  • authorHandlestring

    buildwithjonah

  • authorImagestring

    https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg

datadata
  • nextCursorstring

    DAABCgABGZ3xw5A2xVIKAAIY__posts_page2

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

FAQ

Über die X / Twitter-Beiträge des Nutzers-API

Die AnyAPI-X / Twitter-Beiträge des Nutzers-API liefert X / Twitter-Daten als normalisiertes JSON aus einem POST-Aufruf an /v1/run/twitter.user_posts. Hole die Timeline im Reiter „Posts“ des Profils eines X-(Twitter-)Kontos per Handle. Die Ergebnisse folgen der Profilreihenfolge: Ein angehefteter Beitrag kann zuerst erscheinen, gefolgt von den übrigen selbst verfassten Beiträgen in umgekehrter zeitlicher Reihenfolge, Reposts, Zitaten und Fortsetzungen des Self-Threads. AnyAPI routet jede Anfrage über 3 Quellen und weicht automatisch aus, wenn eine ausfällt. Sie kostet ab 0,45 USD pro 1.000 Anfragen, in US-Dollar, ohne Abo und ohne monatliches Minimum. In den letzten 30 Tagen waren 99,9% der X / Twitter Beiträge des Nutzers-Aufrufe über AnyAPI erfolgreich, bei einer mittleren Antwortzeit von 2,0 Sekunden über 34.880 gemessene Aufrufe.

Sie kostet ab 0,45 USD pro 1.000 Anfragen, 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 die Timeline im Reiter „Posts“ des Profils eines X-(Twitter-)Kontos per Handle. Die Ergebnisse folgen der Profilreihenfolge: Ein angehefteter Beitrag kann zuerst erscheinen, gefolgt von den übrigen selbst verfassten Beiträgen in umgekehrter zeitlicher Reihenfolge, Reposts, Zitaten und Fortsetzungen des Self-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 99,9% der X / Twitter Beiträge des Nutzers-Aufrufe über AnyAPI erfolgreich, bei einer mittleren Antwortzeit von 2,0 Sekunden über 34.880 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 222 X / Twitter-Beiträge des Nutzers-Aufrufe zu je 0,00045 USD.

AnyAPI fragt in derselben Anfrage die nächste seiner 3 Quellen, die günstigste zuerst, sodass der Ausfall einer Quelle deinen Aufruf nicht scheitern lässt.

Sende eine POST-Anfrage an https://api.getanyapi.com/v1/run/twitter.user_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.