API X / Twitter

X / Twitter Fil de discussion API

Résolvez le fil linéaire d’un même auteur qui contient une publication X (Twitter), de sa racine jusqu’aux suites liées de l’auteur. Cela exclut les réponses des autres utilisateurs.

3,75 $US/1k req, paiement à la requête, sans abonnement.

Post
x.com/buildwithjonah/status/1842093771280384512

Post

J

Jonah Ruiz

@buildwithjonah

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.

4:00 PM · Sep 26, 2024 · 284K Views

964123,8201,540
J

Jonah Ruiz@buildwithjonah

First lesson: every provider's error format is different. We ended up writing a translation layer just to know whether a failure meant retry, or never retry.

Ce que l’API a renvoyétweets[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.",
"conversationId": "1842093771280384512",
"inReplyToId": null,
"authorId": "1401882093771280384",
"authorHandle": "buildwithjonah",
"authorName": "Jonah Ruiz",
+11 champs de plus
}
Disponibilité
97,65%
30d · 469 appels
Requêtes
471
30 j · par semaine, 12 dernières sem.
Réponse
3,7s
médiane · 30d

Tarifs

Tarifs de l’API X / Twitter Fil de discussion

Vous payez
37,50 $US
3,75 $US/1k req, seulement pour ce que vous utilisez. Aucun forfait mensuel.
Vos 26 premières requêtes sont gratuites avec le solde de départ de 0,10 $US.

Essayer

Obtenez X / Twitter Fil de discussion en une requête

Ouvrir dans
Obtenir une clé gratuite
Exemple de réponse
Les exécutions gratuites ne renvoient que les 3 premiers résultats. Alimentez une clé pour obtenir la réponse complète.
{
  "found": true,
  "data": {
    "conversationId": "1842093771280384512",
    "threadLength": 3,
    "complete": true,
    "author": {
      "id": "1401882093771280384",
      "handle": "buildwithjonah",
      "name": "Jonah Ruiz"
    },
    "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.",
        "conversationId": "1842093771280384512",
        "inReplyToId": null,
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [],
        "createdUtc": 1727366400,
        "likeCount": 3820,
        "replyCount": 96,
        "repostCount": 412,
        "quoteCount": 28,
        "viewCount": 284000,
        "bookmarkCount": 1540,
        "lang": "en",
        "isReply": false,
        "source": "Twitter Web App"
      },
      {
        "id": "1842093771280450048",
        "url": "https://x.com/buildwithjonah/status/1842093771280450048",
        "text": "First lesson: every provider's error format is different. We ended up writing a translation layer just to know whether a failure meant retry, or never retry.",
        "conversationId": "1842093771280384512",
        "inReplyToId": "1842093771280384512",
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [
          {
            "type": "photo",
            "url": "https://pbs.twimg.com/media/F9k2QoQWkAA_error_flow.jpg",
            "width": 1600,
            "height": 900
          }
        ],
        "createdUtc": 1727366460,
        "likeCount": 1240,
        "replyCount": 31,
        "repostCount": 88,
        "quoteCount": 5,
        "viewCount": 91000,
        "bookmarkCount": 512,
        "lang": "en",
        "isReply": true,
        "source": "Twitter Web App"
      },
      {
        "id": "1842093771280516096",
        "url": "https://x.com/buildwithjonah/status/1842093771280516096",
        "text": "Second lesson: pagination cursors are never portable across providers. We had to build our own cursor abstraction to keep client code simple.",
        "conversationId": "1842093771280384512",
        "inReplyToId": "1842093771280450048",
        "authorId": "1401882093771280384",
        "authorHandle": "buildwithjonah",
        "authorName": "Jonah Ruiz",
        "media": [],
        "createdUtc": 1727366520,
        "likeCount": 980,
        "replyCount": 22,
        "repostCount": 64,
        "quoteCount": 3,
        "viewCount": 68000,
        "bookmarkCount": 401,
        "lang": "en",
        "isReply": true,
        "source": "Twitter Web App"
      }
    ],
    "url": "https://x.com/buildwithjonah",
    "verified": true,
    "blueVerified": true,
    "avatarUrl": "https://pbs.twimg.com/profile_images/1401882093771280384/jonah_400x400.jpg",
    "coverUrl": "https://pbs.twimg.com/profile_banners/1401882093771280384/1700000000",
    "bio": "Building data infra. Previously eng @Segment. Writing about pipelines and APIs.",
    "location": "Denver, CO",
    "followers": 41200,
    "following": 512,
    "createdUtc": 1517443200
  }
}

Référence complète des paramètres et de la réponse : chaque champ, type et exemple de cet endpoint.

Référence

Une requête, une seule forme de réponse.

Chaque champ que vous envoyez et chaque champ que vous recevez, avec un vrai exemple.

Dernière vérification : 2026-10-07 · disponibilité et latence mesurées sur 30d

Corps de la requête

JSON, envoyé à cet endpoint.

  • urlstring

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

    URL canonique x.com ou twitter.com d’un statut avec un ID de tweet numérique. N’importe quel tweet du fil d’un même auteur peut être fourni ; le fournisseur retrouve la racine du fil.

Vous envoyez. Un petit corps JSON. Les valeurs affichées sont des exemples à remplacer par les vôtres.

Réponse

JSON, une valeur d’exemple par champ.

  • foundboolean

    true

datadata
  • conversationIdstring

    1842093771280384512

  • threadLengthnumber

    3

  • completeboolean

    true

  • urlstring

    https://x.com/buildwithjonah

  • verifiedboolean

    true

  • blueVerifiedboolean

    true

  • avatarUrlstring

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

  • coverUrlstring

    https://pbs.twimg.com/profile_banners/1401882093771280384/1700000000

  • biostring

    Building data infra. Previously eng @Segment. Writing about pipelines and APIs.

  • locationstring

    Denver, CO

  • followersnumber

    41200

  • followingnumber

    512

  • createdUtcnumber

    1517443200

authordata.author
  • idstring

    1401882093771280384

  • handlestring

    buildwithjonah

  • namestring

    Jonah Ruiz

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.

  • conversationIdstring

    1842093771280384512

  • inReplyToIdnull

    null

  • authorIdstring

    1401882093771280384

  • authorHandlestring

    buildwithjonah

  • authorNamestring

    Jonah Ruiz

  • mediaarray
  • createdUtcnumber

    1727366400

  • likeCountnumber

    3820

  • replyCountnumber

    96

  • repostCountnumber

    412

  • quoteCountnumber

    28

  • viewCountnumber

    284000

  • bookmarkCountnumber

    1540

  • langstring

    en

  • isReplyboolean

    false

  • sourcestring

    Twitter Web App

Vous recevez. Des champs nommés et typés, dans la même forme quelle que soit la source qui répond.

FAQ

À propos de l’API X / Twitter Fil de discussion

L’API X / Twitter Fil de discussion d’AnyAPI renvoie des données X / Twitter en JSON normalisé à partir d’un appel POST à /v1/run/twitter.thread. Résolvez le fil linéaire d’un même auteur qui contient une publication X (Twitter), de sa racine jusqu’aux suites liées de l’auteur. Cela exclut les réponses des autres utilisateurs. AnyAPI renvoie un schéma normalisé unique quelle que soit la source qui répond. Elle coûte à partir de 3,75 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Ces 30 derniers jours, 97,7% des appels X / Twitter Fil de discussion passés par AnyAPI ont réussi, avec un temps de réponse médian de 3,7 secondes, sur 469 appels mesurés.

Elle coûte à partir de 3,75 $US pour 1 000 requêtes, en dollars US, sans abonnement et sans minimum mensuel. Vous alimentez un portefeuille en USD et chaque appel le débite. Certaines requêtes échouées financées par le portefeuille entraînent des frais de traitement que nous répercutons au prix coûtant, sans marge ; la réponse d’erreur indique le montant facturé.

Résolvez le fil linéaire d’un même auteur qui contient une publication X (Twitter), de sa racine jusqu’aux suites liées de l’auteur. Cela exclut les réponses des autres utilisateurs. La réponse est du JSON normalisé avec la même enveloppe que celle de tous les endpoints AnyAPI, donc analyser un second endpoint revient à changer l’URL et rien d’autre.

Ces 30 derniers jours, 97,7% des appels X / Twitter Fil de discussion passés par AnyAPI ont réussi, avec un temps de réponse médian de 3,7 secondes, sur 469 appels mesurés. Ce sont les propres mesures d’AnyAPI du trafic passant par la passerelle, recalculées en continu, et non un objectif de niveau de service publié.

Oui. Un nouveau compte AnyAPI démarre avec 0,10 $US de solde gratuit, sans carte, ce qui couvre 26 appels X / Twitter Fil de discussion à 0,00375 $US chacun.

Envoyez une requête POST à https://api.getanyapi.com/v1/run/twitter.thread avec votre clé AnyAPI dans un en-tête « Authorization: Bearer » et l’entrée en corps JSON. La même clé et le même portefeuille fonctionnent sur tous les endpoints AnyAPI.

Non. Vous ajoutez des dollars US à un solde AnyAPI prépayé unique et chaque requête le débite. Il n’y a ni forfait mensuel ni minimum, et le même solde paie tous les endpoints AnyAPI.

Oui. Installez @getanyapi/sdk depuis npm pour TypeScript ou getanyapi depuis pip pour Python. Les deux appellent chaque endpoint AnyAPI avec la même clé, et n’importe quel client HTTP fonctionne aussi.

Oui. Un agent peut se connecter au serveur MCP d’AnyAPI à https://api.getanyapi.com/mcp, ou créer sa propre clé d’essai gratuit avec un seul POST non authentifié vers https://api.getanyapi.com/agent/signup et appeler cet endpoint en HTTP.