Zum Hauptinhalt springen

Objektmodell

Tweet

Tweets sind die grundlegenden Bausteine von X. Das Tweet-Objekt umfasst eine lange Liste von „Root-Level“-Feldern wie id, text und created_at. Tweet-Objekte sind außerdem das „übergeordnete“ Objekt für mehrere untergeordnete Objekte, darunter user, media, poll und place. Verwenden Sie den Feldparameter tweet.fields, wenn Sie diese Root-Level-Felder für das Tweet-Objekt anfordern. Das Tweet-Objekt kann in der User-Ressource gefunden und über Expansions eingebunden werden. Zusätzliche, mit dem angeforderten Tweet verwandte Tweets können ebenfalls in der Tweet-Ressource gefunden und erweitert werden. Das Objekt steht für Expansions mit ?expansions=pinned_tweet_id in der User-Ressource oder ?expansions=referenced_tweets.id in der Tweet-Ressource zur Verfügung, um das Objekt zunächst nur mit Standardfeldern zu erhalten. Verwenden Sie diese Expansion zusammen mit dem Feldparameter tweet.fields, wenn Sie zusätzliche Felder anfordern, um das Objekt zu vervollständigen.
FeldwertTypBeschreibungVerwendungsmöglichkeiten
id (Standard)stringDie eindeutige Kennung des angeforderten Tweet.Verwenden Sie dies, um einen bestimmten Tweet programmatisch abzurufen.
text (Standard)stringDer tatsächliche UTF-8-Text des Tweet. Siehe twitter-text für Details zu gültigen Zeichen.Schlüsselwort-Extraktion und Sentiment-Analyse/Klassifizierung.
edit_history_tweet_ids (Standard)objectEindeutige Kennungen, die alle Versionen eines Tweet anzeigen. Für Tweets ohne Bearbeitungen gibt es eine ID. Für Tweets mit Bearbeitungsverlauf gibt es mehrere IDs.Verwenden Sie diese Information, um den Bearbeitungsverlauf eines Tweet zu finden.
articleobjectEnthält Metadaten für den Artikel, der in diesem Tweet vorhanden ist.Verwenden Sie dies, um den Text und die Entitäten eines Artikels zu erhalten.
attachmentsobjectGibt den Typ der Anhänge (falls vorhanden) in diesem Tweet an.Verstehen der zurückgegebenen Objekte für angeforderte Erweiterungen.
author_idstringDie eindeutige Kennung des Nutzers, der diesen Tweet gepostet hat.Hydratisierung des User-Objekts, Teilen von Datensätzen für Peer-Review.
card_uristringDie URI für die Karte, die in diesem Tweet vorhanden ist.
community_idstringDie eindeutige Kennung für die Community, zu der dieser Post gehört.
context_annotationsarrayEnthält Kontext-Annotationen für den Tweet.Entitätserkennung/-extraktion, thematische Analyse.
conversation_idstringDie Tweet-ID des ursprünglichen Tweet der Unterhaltung (einschließlich direkter Antworten, Antworten auf Antworten).Verwenden Sie dies, um die Unterhaltung aus einem Tweet zu rekonstruieren.
created_atdate (ISO 8601)Erstellungszeit des Tweet.Nützlich für Zeitreihenanalysen und das Verstehen, wann ein Tweet erstellt wurde.
display_text_rangearrayEin Array mit Start- und Endindex für den Textbereich, der angezeigt wird.Nützlich, um zu wissen, welcher Textbereich standardmäßig für lange Posts angezeigt wird.
edit_controlsobjectZeigt an, wie lange der Tweet noch bearbeitet werden kann und die Anzahl der verbleibenden Bearbeitungen.Verwenden Sie dies, um zu bestimmen, ob ein Tweet zur Bearbeitung berechtigt ist.
entitiesobjectEntitäten, die aus dem Text des Tweet geparst wurden. Siehe Entitäten in Twitter-Objekten.Bietet zusätzliche Informationen über Hashtags, URLs, Erwähnungen usw.
geoobjectZeigt den Standort oder Ort eines geo-getaggten Tweet an.Verwenden Sie dies, um den Standort eines geo-getaggten Tweet zu ermitteln.
in_reply_to_user_idstringWenn der dargestellte Tweet eine Antwort ist, enthält dieses Feld die Autor-ID des ursprünglichen Tweet.Bestimmen Sie, ob ein Tweet eine Antwort auf einen anderen Tweet war.
langstringSprache des Tweet, falls von Twitter erkannt.Klassifizierung von Tweets nach gesprochener Sprache.
non_public_metricsobjectNicht-öffentliche Engagement-Metriken für den Tweet zum Zeitpunkt der Anfrage. Erfordert Nutzerkontext-Authentifizierung.Bestimmen Sie die Gesamtimpressionen, die für den Tweet generiert wurden.
note_tweetobjectEnthält den vollständigen Text eines Post für lange Posts (>280 Zeichen).Erhalten Sie den vollständigen Text eines Posts.
organic_metricsobjectEngagement-Metriken, verfolgt in einem organischen Kontext, für den Tweet zum Zeitpunkt der Anfrage. Erfordert Nutzerkontext-Authentifizierung.Messen Sie organisches Engagement für den Tweet.
possibly_sensitivebooleanZeigt an, ob der Inhalt als sensibel erkannt werden könnte.Studium der Verbreitung bestimmter Inhaltstypen.
promoted_metricsobjectEngagement-Metriken, verfolgt in einem beworbenen Kontext, für den Tweet zum Zeitpunkt der Anfrage. Erfordert Nutzerkontext-Authentifizierung.Messen Sie Engagement für den Tweet, wenn er beworben wurde.
public_metricsobjectÖffentliche Engagement-Metriken für den Tweet zum Zeitpunkt der Anfrage.Messen Sie Tweet-Engagement.
referenced_tweetsarrayEine Liste von Tweets, auf die sich dieser Tweet bezieht, wie Retweets, zitierte Tweets oder Antworten.Verstehen Sie Unterhaltungsaspekte von Retweets usw.
reply_settingsstringZeigt, wer auf einen bestimmten Tweet antworten kann. Optionen sind “everyone”, “mentioned_users” und “followers”.Bestimmen Sie die Antworteinstellungen für die Unterhaltung des Tweet.
withheldobjectEnthält Zurückhaltungsdetails für zurückgehaltene Inhalte.
scopesobjectEnthält Bereichsdetails für den Tweet.Zeigt an, wer den Post sehen kann. Wird nur für beworbene Posts zurückgegeben.
media_metadataarrayEnthält Metadaten für Medienanhänge des Tweet.Erhalten Sie zusätzliche Metadaten wie den alt_text eines Tweet’s Medienanhangs.
Abrufen eines Tweet-Objekts Beispielanfrage In der folgenden Anfrage fordern wir fields für den Tweet über den endpoint Tweets lookup an. Ersetzen Sie dabei $BEARER_TOKEN durch Ihr eigenes, generiertes Bearer Token.
curl --request GET 'https://api.x.com/2/tweets?ids=1212092628029698048&tweet.fields=attachments,author_id,context_annotations,created_at,entities,geo,id,in_reply_to_user_id,lang,possibly_sensitive,public_metrics,referenced_tweets,text,withheld&expansions=referenced_tweets.id' --header 'Authorization: Bearer $BEARER_TOKEN'
Beispielantwort
{
  "data": [
    {
      "text": "Wir glauben, dass die beste zukünftige Version unserer API entstehen wird, wenn wir sie mit EUCH entwickeln. Auf ein weiteres großartiges Jahr mit allen, die auf der Twitter-Plattform entwickeln. Wir können es kaum erwarten, im neuen Jahr weiter mit euch zu arbeiten. https://t.co/yvxdK6aOo2",
      "edit_history_tweet_ids": [
        "1212092628029698048"
      ],
      "lang": "en",
      "in_reply_to_user_id": "2244994945",
      "entities": {
        "urls": [
          {
            "start": 222,
            "end": 245,
            "url": "https://t.co/yvxdK6aOo2",
            "expanded_url": "https://x.com/LovesNandos/status/1211797914437259264/photo/1",
            "display_url": "pic.x.com/yvxdK6aOo2",
            "media_key": "16_1211797899316740096"
          }
        ],
        "annotations": [
          {
            "start": 42,
            "end": 44,
            "probability": 0.5359,
            "type": "Other",
            "normalized_text": "API"
          },
          {
            "start": 144,
            "end": 150,
            "probability": 0.9832,
            "type": "Other",
            "normalized_text": "Twitter"
          }
        ]
      },
      "author_id": "2244994945",
      "referenced_tweets": [
        {
          "type": "replied_to",
          "id": "1212092627178287104"
        }
      ],
      "id": "1212092628029698048",
      "public_metrics": {
        "retweet_count": 7,
        "reply_count": 3,
        "like_count": 38,
        "quote_count": 1
      },
      "context_annotations": [
        {
          "domain": {
            "id": "29",
            "name": "Events [Entity Service]",
            "description": "Ereignisse der realen Welt. "
          },
          "entity": {
            "id": "1186637514896920576",
            "name": " Silvester"
          }
        },
        {
          "domain": {
            "id": "29",
            "name": "Events [Entity Service]",
            "description": "Ereignisse der realen Welt. "
          },
          "entity": {
            "id": "1206982436287963136",
            "name": "Frohes neues Jahr: Es ist endlich überall 2020!",
            "description": "Erleben Sie Feuerwerke und andere Feierlichkeiten, während Menschen auf der ganzen Welt das neue Jahr begrüßen.\nFoto über @GettyImages "
          }
        },
        {
          "domain": {
            "id": "119",
            "name": "Feiertag",
            "description": "Feiertage wie Weihnachten oder Halloween"
          },
          "entity": {
            "id": "1186637514896920576",
            "name": " Silvester"
          }
        },
        {
          "domain": {
            "id": "119",
            "name": "Feiertag",
            "description": "Feiertage wie Weihnachten oder Halloween"
          },
          "entity": {
            "id": "1206982436287963136",
            "name": "Frohes neues Jahr: Es ist endlich überall 2020!",
            "description": "Erleben Sie Feuerwerke und andere Feierlichkeiten, während Menschen auf der ganzen Welt das neue Jahr begrüßen.\nFoto über @GettyImages "
          }
        },
        {
          "domain": {
            "id": "30",
            "name": "Entities [Entity Service]",
            "description": "Entity Service Top-Level-Domain, jedes Element im Entity Service sollte in dieser Domain sein"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Services"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Marke",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "131",
            "name": "Unified Twitter Taxonomy",
            "description": "Eine Taxonomie der Nutzerinteressen. "
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "131",
            "name": "Unified Twitter Taxonomy",
            "description": "Eine Taxonomie der Nutzerinteressen. "
          },
          "entity": {
            "id": "847868745150119936",
            "name": "Familie & Beziehungen",
            "description": "Hobbys und Interessen"
          }
        },
        {
          "domain": {
            "id": "131",
            "name": "Unified Twitter Taxonomy",
            "description": "Eine Taxonomie der Nutzerinteressen. "
          },
          "entity": {
            "id": "1196446161223028736",
            "name": "Soziale Medien"
          }
        },
        {
          "domain": {
            "id": "29",
            "name": "Events [Entity Service]",
            "description": "Ereignisse der realen Welt. "
          },
          "entity": {
            "id": "1206982436287963136",
            "name": "Frohes neues Jahr: Es ist endlich überall 2020!",
            "description": "Erleben Sie Feuerwerke und andere Feierlichkeiten, während Menschen auf der ganzen Welt das neue Jahr begrüßen.\nFoto über @GettyImages "
          }
        },
        {
          "domain": {
            "id": "119",
            "name": "Feiertag",
            "description": "Feiertage wie Weihnachten oder Halloween"
          },
          "entity": {
            "id": "1206982436287963136",
            "name": "Frohes neues Jahr: Es ist endlich überall 2020!",
            "description": "Erleben Sie Feuerwerke und andere Feierlichkeiten, während Menschen auf der ganzen Welt das neue Jahr begrüßen.\nFoto über @GettyImages "
          }
        }
      ],
      "created_at": "2019-12-31T19:26:16.000Z",
      "attachments": {
        "media_keys": [
          "16_1211797899316740096"
        ]
      },
      "possibly_sensitive": false
    }
  ],
  "includes": {
    "tweets": [
      {
        "text": "Diese Veröffentlichungen wären ohne das Feedback, das Sie unterwegs gegeben haben, nicht möglich gewesen, also VIELEN DANK an alle, die ihre Zeit und Ideen beigetragen haben. Haben Sie weiteres Feedback? Lassen Sie es uns wissen ⬇️ https://t.co/Vxp4UKnuJ9",
        "edit_history_tweet_ids": [
          "1212092627178287104"
        ],
        "lang": "en",
        "in_reply_to_user_id": "2244994945",
        "entities": {
          "urls": [
            {
              "start": 187,
              "end": 210,
              "url": "https://t.co/Vxp4UKnuJ9",
              "expanded_url": "https://twitterdevfeedback.uservoice.com/forums/921790-twitter-developer-labs",
              "display_url": "twitterdevfeedback.uservoice.com/forums/921790-…",
              "status": 200,
              "title": "Updates zu unseren Feedback-Kanälen",
              "description": "Wir entwickeln unsere Entwicklerplattform offen, mit Ihrem Input und Feedback. Im vergangenen Jahr hat es uns geholfen, direkt von Ihnen und den Nutzern Ihrer Apps zu hören, um Entwicklerprodukte zu erstellen, die auf die Anwendungsfälle eingehen, die Sie uns dabei geholfen haben zu identifizieren. Wir möchten dies zu unserer Art der Produktentwicklung machen, und künftig konsolidieren wir unsere Feedback-Kanäle. Sie dort treffen, wo Sie sind Ab heute werden wir unseren UserVoice-Feedback-Kanal zugunsten häufigerer direkter Gespräche mit Ihnen einstellen...",
              "unwound_url": "https://devcommunity.x.com/t/updates-on-our-feedback-channels/169706"
            }
          ]
        },
        "author_id": "2244994945",
        "referenced_tweets": [
          {
            "type": "replied_to",
            "id": "1212092626247110657"
          }
        ],
        "id": "1212092627178287104",
        "public_metrics": {
          "retweet_count": 2,
          "reply_count": 1,
          "like_count": 19,
          "quote_count": 0
        },
        "created_at": "2019-12-31T19:26:16.000Z",
        "possibly_sensitive": false
      }
    ]
  }

Nutzer

Das User-Objekt enthält Metadaten zum Twitter-Nutzerkonto, die den referenzierten Nutzer beschreiben. Das User-Objekt ist das primäre Objekt, das im endpoint users lookup zurückgegeben wird. Wenn Sie bei diesem endpoint zusätzliche Nutzerfelder anfordern, verwenden Sie den Parameter fields user.fields. Das User-Objekt kann auch als untergeordnetes Objekt im Tweet-Objekt vorkommen und per Expansion eingebunden werden. Das Objekt kann mit ?expansions=author_id oder ?expansions=in_reply_to_user_id einbezogen werden, um die komprimierte Variante nur mit Standardfeldern zu erhalten. Verwenden Sie die Expansion in Kombination mit dem Parameter user.fields, wenn Sie zusätzliche Felder anfordern, um das Objekt zu vervollständigen.  
FeldwertTypBeschreibungVerwendungsmöglichkeiten
id (Standard)stringDie eindeutige Kennung dieses Benutzers.

"id": "2244994945"
Verwenden Sie dies, um programmatisch Informationen über einen bestimmten Twitter-Benutzer abzurufen.
name (Standard)stringDer Name des Benutzers, wie er ihn in seinem Profil definiert hat. Nicht zwangsläufig der Name einer Person. Normalerweise auf 50 Zeichen begrenzt, kann sich jedoch ändern.

"name": "Twitter Dev"
username (Standard)stringDer Twitter-Bildschirmname, Handle oder Alias, mit dem sich dieser Benutzer identifiziert. Benutzernamen sind eindeutig, können sich jedoch ändern. Normalerweise maximal 15 Zeichen lang, aber einige historische Konten können längere Namen haben.

"username": "TwitterDev"
affiliationobjectEnthält Details über die Zugehörigkeit eines Benutzers.Kann verwendet werden, um das Zugehörigkeitsabzeichen eines Benutzers zu erhalten.
confirmed_emailstringDie bestätigte E-Mail-Adresse des authentifizierten Benutzers.
connection_statusarrayStellt eine Liste der Beziehungen zwischen dem authentifizierenden Benutzer und dem nachgeschlagenen Benutzer bereit, wie z. B. folgen, gefolgt, Folge-Anfrage gesendet, Folge-Anfrage erhalten, blockieren, stummschalten

”connection_status”: [
“follow_request_received”,
“follow_request_sent”,
“blocking”,
“followed_by”,
“following”,
“muting”
]
Kann verwendet werden, um den Verbindungsstatus zwischen dem authentifizierenden Benutzer und dem nachgeschlagenen Benutzer zu bestimmen.
created_atdate (ISO 8601)Der UTC-Zeitstempel, zu dem das Benutzerkonto auf Twitter erstellt wurde.

"created_at": "2013-12-14T04:35:55.000Z"
Kann verwendet werden, um zu bestimmen, wie lange jemand bereits Twitter nutzt
descriptionstringDer Text der Profilbeschreibung dieses Benutzers (auch als Bio bekannt), falls der Benutzer eine bereitgestellt hat.

"description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API."
entitiesobjectEnthält Details über Text, der eine besondere Bedeutung in der Beschreibung des Benutzers hat.

"entities": { <br/> "url": { <br/> "urls": [ <br/> { <br/> "start": 0, <br/> "end": 23, <br/> "url": "https://t.co/3ZX3TNiZCY", <br/> "expanded_url": "/content/developer-twitter/en/community", <br/> "display_url": "developer.x.com/en/community" <br/> } <br/> ] <br/> }, <br/> "description": { <br/> "urls": [ <br/> { <br/> "start": 0, <br/> "end": 23, <br/> "url": "https://t.co/3ZX3TNiZCY", <br/> "expanded_url": "/content/developer-twitter/en/community", <br/> "display_url": "developer.x.com/en/community" <br/> }, <br/> "hashtags": [ <br/> { <br/> "start": 23, <br/> "end": 30, <br/> "tag": "DevRel" <br/> }, <br/> { <br/> "start": 113, <br/> "end": 130, <br/> "tag": "BlackLivesMatter" <br/> }, <br/> "mentions": [ <br/> { <br/> "start": 0, <br/> "end": 10, <br/> "tag": "TwitterDev" <br/> }, <br/> "cashtags": [ <br/> { <br/> "start": 12, <br/> "end": 16, <br/> "tag": "twtr" <br/> } <br/> ] <br/> } <br/> }
Entities sind JSON-Objekte, die zusätzliche Informationen über Hashtags, URLs, Benutzererwähnungen und Cashtags bereitstellen, die mit der Beschreibung verknüpft sind. Weitere Details finden Sie in der jeweiligen Entity.

Alle Benutzer-start-Indizes sind inklusiv, während alle Benutzer-end-Indizes exklusiv sind.
is_identity_verifiedbooleanGibt an, ob der Benutzer ID-verifiziert ist.
locationstringDer im Profil des Benutzers angegebene Standort, falls der Benutzer einen bereitgestellt hat. Da dies ein Freitextwert ist, zeigt er möglicherweise keinen gültigen Standort an, kann aber bei der Durchführung von Suchen mit Standortabfragen unscharf ausgewertet werden.

"location": "127.0.0.1"
most_recent_tweet_idstringEindeutige Kennung des neuesten Tweets dieses Benutzers.Ermittelt den neuesten Tweet des Benutzers.
parodybooleanGibt an, ob dieses Benutzerkonto das Parodie-Label hat oder nicht.
pinned_tweet_idstringEindeutige Kennung des angehefteten Tweets dieses Benutzers.

"pinned_tweet_id": "1255542774432063488"
Ermittelt den Tweet, der oben im Profil des Benutzers angeheftet ist. Kann möglicherweise verwendet werden, um die Sprache des Benutzers zu bestimmen.
profile_banner_urlstringDie URL zum Profilbanner für diesen Benutzer, wie es im Profil des Benutzers angezeigt wird.

"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1721022977"
Kann verwendet werden, um das Profilbanner dieses Benutzers herunterzuladen.
profile_image_urlstringDie URL zum Profilbild für diesen Benutzer, wie es im Profil des Benutzers angezeigt wird.

"profile_image_url": "https://pbs.twimg.com/profile_images/1267175364003901441/tBZNFAgA_normal.jpg"
Kann verwendet werden, um das Profilbild dieses Benutzers herunterzuladen.
protectedbooleanGibt an, ob dieser Benutzer sich dafür entschieden hat, seine Tweets zu schützen (mit anderen Worten, ob die Tweets dieses Benutzers privat sind).

"protected": false
public_metricsobjectEnthält Details über die Aktivität für diesen Nutzer.

"public_metrics": { "followers_count": 507902, "following_count": 1863, "tweet_count": 3561, "listed_count": 1550 }
Kann verwendet werden, um die Reichweite oder den Einfluss eines Twitter-Nutzers zu bestimmen, das Spektrum der Interessen des Nutzers zu quantifizieren und das Engagement-Level des Nutzers auf Twitter zu messen.
receives_your_dmbooleanGibt an, ob dieser Nutzer die DM des authentifizierten Nutzers erhalten wird oder nicht.
subscriptionobjectEnthält Details darüber, ob der Nutzer den authentifizierten Nutzer abonniert hat oder nicht.
subscription_typestringEine Zeichenkette, die den Typ des X Premium-Abonnements des authentifizierten Nutzers darstellt. Beispiel: None, Basic, Premium,PremiumPlus. Gibt immer None zurück, wenn der Nutzer nicht der authentifizierte Nutzer ist.
urlstringDie im Profil des Nutzers angegebene URL, falls vorhanden.

"url": "https://t.co/3ZX3TNiZCY"
Eine URL, die von einem Twitter-Nutzer in seinem Profil angegeben wurde. Dies könnte eine Homepage sein, ist aber nicht immer der Fall.
verifiedbooleanGibt an, ob dieser Nutzer ein verifizierter Twitter-Nutzer ist.

"verified": true
Gibt an, ob dieser Twitter-Nutzer ein verifiziertes Konto hat oder nicht. Ein verifiziertes Konto zeigt den Nutzern, dass ein Konto von öffentlichem Interesse authentisch ist.
verified_followers_countstringEine Zeichenkette, die die Anzahl der verifizierten Follower eines Nutzers darstellt.
verified_typestringEine Zeichenkette, die den Typ der Verifizierung eines Nutzers darstellt. Beispiel: „blue”, „business”, „government”
withheldobjectEnthält Details zur Zurückhaltung für zurückgehaltene Inhalte, falls zutreffend.
Abrufen eines User-Objekts Beispielanfrage In der folgenden Anfrage fordern wir fields für den Nutzer über den users lookup endpoint an. Ersetzen Sie dabei $BEARER_TOKEN durch Ihr eigenes, generiertes Bearer Token.
  curl --request GET 'https://api.x.com/2/users?
  ids=2244994945&user.fields=created_at,description,entities,id,location,name,pinned_tweet_id,profile_image_url,protected,url,username,verified,withheld&expansions=pinned_tweet_id'
  --header 'Authorization: Bearer $BEARER_TOKEN'
  }
Beispielantwort
    "data": [
        {
            "id": "2244994945",
            "name": "Twitter Dev",
            "username": "TwitterDev",
            "location": "127.0.0.1",
            "entities": {
                "url": {
                    "urls": [
                        {
                            "start": 0,
                            "end": 23,
                            "url": "https://t.co/3ZX3TNiZCY",
                            "expanded_url": "/content/developer-twitter/en/community",
                            "display_url": "developer.x.com/en/community"
                        }
                    ]
                },
                "description": {
                    "hashtags": [
                        {
                            "start": 23,
                            "end": 30,
                            "tag": "DevRel"
                        },
                        {
                            "start": 113,
                            "end": 130,
                            "tag": "BlackLivesMatter"
                        }
                    ]
                }
            },
            "verified": true,
            "description": "Die Stimme von Twitters #DevRel-Team und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen zur Twitter-API. \n\n#BlackLivesMatter",
            "url": "https://t.co/3ZX3TNiZCY",
            "profile_image_url": "https://pbs.twimg.com/profile_images/1267175364003901441/tBZNFAgA_normal.jpg",
            "protected": false,
            "pinned_tweet_id": "1255542774432063488",
            "created_at": "2013-12-14T04:35:55.000Z"
        }
    ],
    "includes": {
        "tweets": [
            {
                "id": "1255542774432063488",
                "text": "In diesen beispiellosen Zeiten kann das, was auf Twitter geschieht, der Welt helfen, die Pandemie besser zu verstehen und darauf zu reagieren. \n\nWir starten einen kostenlosen COVID-19-Stream-Endpoint, damit qualifizierte Entwickler und Forscher die öffentliche Konversation in Echtzeit untersuchen können. https://t.co/BPqMcQzhId"
            }
        ]
    }
}

Space

Spaces ermöglichen Ausdruck und Interaktion über Live-Audio-Unterhaltungen. Das Space-Datenwörterbuch enthält relevante metadata zu einem Space; alle Details werden in Echtzeit aktualisiert. User-Objekte können in der Nutzerressource gefunden und über diese abgerufen werden. Diese Objekte lassen sich einbinden, indem mindestens eines von host_ids, creator_id, speaker_ids, mentioned_user_ids zum Abfrageparameter expansions hinzugefügt wird. Im Gegensatz zu Tweets sind Spaces vergänglich und nach ihrem Ende oder wenn sie von ihrem Ersteller abgesagt werden, nicht mehr verfügbar. Wenn Ihre App Spaces-Daten verarbeitet, sind Sie dafür verantwortlich, die aktuellsten Informationen zurückzugeben und Daten zu entfernen, die auf der Plattform nicht mehr verfügbar sind. Die Spaces lookup endpoints können Ihnen helfen sicherzustellen, dass Sie die Erwartungen und die Absicht der Nutzer respektieren.
Field ValueTypeDescriptionHow it can be used
id (default)stringDer eindeutige Bezeichner des angeforderten Space.
"id": "1zqKVXPQhvZJB"
Eindeutige Identifizierung eines in der Antwort zurückgegebenen Space.
state (default)stringZeigt an, ob der Space gestartet ist, starten wird oder beendet wurde.
"state": "live"
Live- oder geplante Spaces filtern.
created_atdate (ISO 8601)Erstellungszeit dieses Space.
"created_at": "2021-07-04T23:12:08.000Z"
Verstehen, wann ein Space erstellt wurde, und nach Zeit sortieren.
creator_idstringEindeutiger Bezeichner des Space-Erstellers.
"creator_id": "2244994945"
ended_atdate (ISO 8601)Zeitpunkt, zu dem der Space endete, falls zutreffend.
"ended_at": "2021-07-04T00:11:44.000Z"
Bestimmen, wann ein Live-Space endete, zur Bestimmung der Laufzeit.
host_idsarrayEindeutige Bezeichner der Hosts des Space.
"host_ids": ["2244994945", "6253282"]
User-Objekte erweitern, Engagement verstehen.
langstringSprache des Space, falls erkannt.
"lang": "en"
Spaces nach Sprache klassifizieren.
is_ticketedbooleanGibt an, ob es sich um einen Ticketed Space handelt.
"is_ticketed": false
Inhalte von Interesse hervorheben.
invited_user_idsarrayListe der als Sprecher eingeladenen Nutzer-IDs.
"invited_user_ids": ["2244994945", "6253282"]
User-Objekte erweitern, Engagement verstehen.
participant_countintegerAnzahl der Nutzer im Space, einschließlich Hosts und Sprecher.
"participant_count": 420
Engagement verstehen, Berichte erstellen.
subscriber_countintegerAnzahl der Personen, die eine Erinnerung für einen Space gesetzt haben.
"subscriber_count": 36
Interesse am Event verstehen.
scheduled_startdate (ISO 8601)Geplanter Startzeitpunkt des Space.
"scheduled_start": "2021-07-14T08:00:00.000Z"
Mit Kalenderbenachrichtigungen integrieren.
speaker_idsarrayListe der Nutzer, die zu irgendeinem Zeitpunkt gesprochen haben.
"speaker_ids": ["2244994945", "6253282"]
User-Objekte erweitern, Engagement verstehen.
started_atdate (ISO 8601)Tatsächlicher Startzeitpunkt eines Space.
"started_at": "2021-07-14T08:00:12.000Z"
Startzeit des Space bestimmen.
titlestringTitel des Space.
"title": "Say hello to the Space data object!"
Schlüsselwörter, Hashtags, Erwähnungen verstehen.
topic_idsarrayIDs der vom Space-Ersteller ausgewählten Themen.
"topic_ids": ["2244994945", "6253282"]
Schlüsselwörter, Hashtags, Erwähnungen verstehen.
updated_atdate (ISO 8601)Letzte Aktualisierung der Space metadata.
"updated_at": "2021-07-11T14:44:44.000Z"
Informationen aktuell halten.
Abrufen eines Space-Objekts Beispielanfrage In der folgenden Anfrage fordern wir fields für den Space über den Spaces lookup endpoint an. Achten Sie darauf, $BEARER_TOKEN durch Ihr eigenes generiertes Bearer Token zu ersetzen.
curl "https://api.x.com/2/spaces/1DXxyRYNejbKM?space.fields=created_at,creator_id,created_athost_ids,lang,is_ticketed,invited_user_ids,participant_count,scheduled_start,speaker_ids,started_at,state,title,updated_at&expansions=creator_id,host_ids,invited_user_ids,speaker_ids" --header "Authorization: Bearer $BEARER_TOKEN"
** Beispielausgabe **
{
  "data": {
    "id": "1zqKVXPQhvZJB",
    "state": "live",
    "created_at": "2021-07-04T23:12:08.000Z",
    "host_ids": [
      "2244994945",
      "6253282"
    ],
    "lang": "en",
    "is_ticketed": false,
    "invited_user_ids": [
      "2244994945",
      "6253282"
    ],
    "participant_count": 420,
    "scheduled_start": "2021-07-14T08:00:00.000Z",
    "speaker_ids": [
      "2244994945",
      "6253282"
    ],
    "started_at": "2021-07-14T08:00:12.000Z",
    "title": "Sag hallo zum Space-Datenobjekt!",
    "updated_at": "2021-07-11T14:44:44.000Z"
  },
  "includes": {
    "users": [
      {
        "id": "2244994945",
        "name": "Twitter Dev",
        "username": "TwitterDev"
      },
      {
        "id": "6253282",
        "name": "Twitter API",
        "username": "TwitterAPI"
      }
    ]
  }
}

List

Das List-Objekt enthält Twitter Lists-Metadaten, die die referenzierte List beschreiben. Das List-Objekt ist das primäre Objekt, das im List-Lookup-endpoint zurückgegeben wird. Wenn Sie an diesem endpoint zusätzliche List fields anfordern, verwenden Sie den Parameter fields list.fields. Das List-Objekt ist kein untergeordnetes Element anderer data-Objekte. Allerdings können User-Objekte in der user-Ressource gefunden und erweitert werden. Diese Objekte können durch Hinzufügen von owner_id zum expansions query-Parameter einbezogen werden. Verwenden Sie diese Expansion zusammen mit dem fields-Parameter list.fields, wenn Sie zusätzliche fields anfordern, um das primäre List-Objekt zu vervollständigen, und user.fields, um das Erweiterungsobjekt zu vervollständigen.
Field ValueTypeDescriptionHow it can be used
id (default)stringDer eindeutige Bezeichner dieser List.
"id": "2244994945"
Verwenden Sie dies, um programmgesteuert Informationen über eine bestimmte List abzurufen.
name (default)stringDer Name der List, wie beim Erstellen der List festgelegt.
"name": "Twitter Lists"
created_atdate (ISO 8601)Das UTC-Datum und die Uhrzeit, zu der die List erstellt wurde.
"created_at": "2013-12-14T04:35:55.000Z"
Bestimmen Sie, wie lange eine List auf X existiert.
descriptionstringEine kurze Beschreibung, die Nutzer über die List informiert.
"description": "People that are active members of the Bay area cycling community on Twitter."
follower_countintegerZeigt, wie viele Nutzer dieser List folgen.
"follower_count": 198
member_countintegerZeigt, wie viele Mitglieder Teil dieser List sind.
"member_count": 60
privatebooleanGibt an, ob die List privat ist.
"private": false
owner_idstringEindeutiger Bezeichner des Besitzers dieser List.
"owner_id": "1255542774432063488"
Kann verwendet werden, um zu ermitteln, ob dieser Nutzer weitere Lists besitzt, und um User-Objekte zu erweitern.
Abrufen eines User-Objekts Beispielanfrage In der folgenden Anfrage fordern wir fields für den Nutzer am endpoint List lookup by ID an. Ersetzen Sie $BEARER_TOKEN durch Ihr generiertes Bearer Token.
curl --request GET 'https://api.x.com/2/lists/1355797419175383040?list.fields=created_at,description,private,follower_count,member_count,owner_id&expansions=owner_id' --header 'Authorization: Bearer $BEARER_TOKEN'
Beispielantwort
{
  "data": {
    "name": "Twitter Comms",
    "member_count": 60,
    "id": "1355797419175383040",
    "private": false,
    "description": "",
    "follower_count": 198,
    "owner_id": "257366942",
    "created_at": "2021-01-31T08:37:48.000Z"
  },
  "includes": {
    "users": [
      {
        "created_at": "2011-02-25T07:51:26.000Z",
        "name": "Ashleigh Hay 🤸🏼‍♀️",
        "id": "257366942",
        "username": "shleighhay",
        "verified": false
      }
    ]
  }
}

Medien

„Medien“ bezieht sich auf jedes Bild, GIF oder Video, das an einen Tweet angehängt ist. Das Medienobjekt ist an keinem endpoint ein primäres Objekt, kann jedoch im Tweet-Objekt gefunden und per expansions eingebunden werden. Das Objekt ist mit ?expansions=attachments.media_keys erweiterbar, um das komprimierte Objekt nur mit Standardfeldern zu erhalten. Verwenden Sie die Expansion zusammen mit dem Feld-Parameter media.fields, wenn Sie zusätzliche Felder anfordern, um das Objekt zu vervollständigen.
FeldwertTypBeschreibungVerwendung
media_key (default)stringEindeutiger Bezeichner des eingebundenen Medieninhalts.
"media_key": "13_1263145212760805376"
Kann verwendet werden, um Medien programmgesteuert abzurufen
type (default)stringInhaltstyp (animated_gif, photo, video).
"type": "video"
Medien als Foto, GIF oder Video klassifizieren
urlstringDirekte URL zur Mediendatei auf X.Liefert ein Media-Objekt mit einem URL-Feld für Fotos
duration_msintegerVerfügbar, wenn type „video“ ist. Dauer des Videos in Millisekunden.
"duration_ms": 46947
heightintegerHöhe dieses Inhalts in Pixeln.
"height": 1080
non_public_metricsobjectNicht öffentliche Engagement-metrics für den Medieninhalt zum Zeitpunkt der Anfrage. Erfordert Authentifizierung im Benutzerkontext.
"non_public_metrics": { "playback_0_count": 1561, "playback_100_count": 116, "playback_25_count": 559, "playback_50_count": 305, "playback_75_count": 183,}
Videointeraktion bestimmen: wie viele Nutzer jeden Viertelabschnitt des Videos abgespielt haben.
organic_metricsobjectEngagement-metrics für den Medieninhalt, im organischen Kontext erfasst, zum Zeitpunkt der Anfrage. Erfordert Authentifizierung im Benutzerkontext.
"organic_metrics": { "playback_0_count": 1561, "playback_100_count": 116, "playback_25_count": 559, "playback_50_count": 305, "playback_75_count": 183, "view_count": 629}
Organisches Medien-Engagement ermitteln.
preview_image_urlstringURL zur statischen Platzhaltervorschau dieses Inhalts.
"preview_image_url": "https://pbs.twimg.com/media/EYeX7akWsAIP1_1.jpg"
promoted_metricsobjectEngagement-metrics für den Medieninhalt, im beworbenen Kontext erfasst, zum Zeitpunkt der Anfrage. Erfordert Authentifizierung im Benutzerkontext.
"promoted_metrics": { "playback_0_count": 259, "playback_100_count": 15, "playback_25_count": 113, "playback_50_count": 57, "playback_75_count": 25, "view_count": 124}
Medien-Engagement bestimmen, wenn der Tweet beworben wurde.
public_metricsobjectÖffentliche Engagement-metrics für den Medieninhalt zum Zeitpunkt der Anfrage.
"public_metrics": { "view_count": 6865141}
Gesamtzahl der Aufrufe für das dem Tweet angehängte Video ermitteln.
widthintegerBreite dieses Inhalts in Pixeln.
"width": 1920
alt_textstringEine Bildbeschreibung zur Unterstützung der Barrierefreiheit. Kann bis zu 1000 Zeichen lang sein. Alt-Text kann derzeit nur zu Bildern hinzugefügt werden.
"alt_text": "Rugged hills along the Na Pali coast on the island of Kauai"
Kann verwendet werden, um eine schriftliche Beschreibung eines Bildes bereitzustellen, falls ein Nutzer sehbehindert ist.
variantsarrayJedes Medienobjekt kann mehrere Anzeige- oder Wiedergabevarianten mit unterschiedlichen Auflösungen oder Formaten haben.
"variants": [{ "bit_rate": 632000, "content_type": "video/mp4", "url": "https://video.twimg.com/ext_tw_video/1527322141724532740/pu/vid/320x568/lnBaR2hCqE-R_90a.mp4?tag=12"}]
Abrufen eines Medienobjekts Beispielanfrage In der folgenden Anfrage fordern wir fields für das dem Tweet angehängte Medienobjekt am endpoint Tweet lookup an. Da Media ein untergeordnetes Objekt eines Tweets ist, ist die Erweiterung attachment.media_keys erforderlich. Achten Sie darauf, $BEARER_TOKEN durch Ihr eigenes, generiertes Bearer Token zu ersetzen.
curl --request GET 'https://api.x.com/2/tweets?ids=1263145271946551300&expansions=attachments.media_keys&media.fields=duration_ms,height,media_key,preview_image_url,public_metrics,type,url,width,alt_text' --header 'Authorization: Bearer $BEARER_TOKEN'
{
  "data": [
    {
      "text": "Testen, testen...\n\nEine neue Art, ein Gespräch mit genau den Personen zu führen, die du willst. Wir beginnen mit einem kleinen % weltweit, also halte deine 👀 offen, um es in Aktion zu sehen. https://t.co/pV53mvjAVT",
      "id": "1263145271946551300",
      "attachments": {
        "media_keys": [
          "13_1263145212760805376"
        ]
      }
    }
  ],
  "includes": {
    "media": [
      {
        "duration_ms": 46947,
        "type": "video",
        "height": 1080,
        "media_key": "13_1263145212760805376",
        "public_metrics": {
          "view_count": 6909260
        },
        "preview_image_url": "https://pbs.twimg.com/media/EYeX7akWsAIP1_1.jpg",
        "width": 1920
      }
    ]
  }
}

Umfrage

Eine in einem Tweet enthaltene Umfrage ist kein primäres Objekt an einem endpoint, kann aber im Tweet-Objekt gefunden und erweitert werden. Das Objekt kann mit ?expansions=attachments.poll_ids erweitert werden, um das komprimierte Objekt nur mit Standardfeldern zu erhalten. Verwenden Sie die expansions zusammen mit dem Feld-Parameter poll.fields, wenn Sie zusätzliche Felder anfordern, um das Objekt zu vervollständigen.
FeldwertTypeBeschreibung
id (Standard)stringEindeutiger Bezeichner der erweiterten Umfrage.
{"id": "1199786642791452673"}
options (Standard)arrayEnthält Objekte, die jede Auswahlmöglichkeit in der referenzierten Umfrage beschreiben.
{"options": [ { "position": 1, "label": "“C Sharp”", "votes": 795 }, { "position": 2, "label": "“C Hashtag”", "votes": 156 } ]}
duration_minutesintegerGibt die Gesamtdauer dieser Umfrage an.
{"duration_minutes": 1440}
end_datetimedate (ISO 8601)Gibt das Enddatum und die Endzeit für diese Umfrage an.
{"end_datetime": "2019-11-28T20:26:41.000Z"}
voting_statusstringGibt an, ob diese Umfrage noch aktiv ist und Stimmen erhalten kann oder ob die Abstimmung bereits geschlossen ist.
{"voting_status": "closed"}
Abrufen eines Umfrageobjekts Beispielanfrage In der folgenden Anfrage fordern wir Felder für das Umfrageobjekt an, das dem Tweet am endpoint Tweets lookup angehängt ist. Da die Umfrage ein untergeordnetes Objekt eines Tweets ist, ist die expansion attachments.poll_id erforderlich. Stellen Sie sicher, dass Sie $BEARER_TOKEN durch Ihr eigenes generiertes Bearer Token ersetzen.
curl --request GET 'https://api.x.com/2/tweets?ids=1199786642791452673&expansions=attachments.poll_ids&poll.fields=duration_minutes,end_datetime,id,options,voting_status' --header 'Authorization: Bearer $BEARER_TOKEN'
Beispielantwort
{
  "data": [
    {
      "text": "C#",
      "id": "1199786642791452673",
      "attachments": {
        "poll_ids": [
          "1199786642468413448"
        ]
      }
    }
  ],
  "includes": {
    "polls": [
      {
        "id": "1199786642468413448",
        "voting_status": "closed",
        "duration_minutes": 1440,
        "options": [
          {
            "position": 1,
            "label": "„C Sharp"",
            "votes": 795
          },
          {
            "position": 2,
            "label": "„C Hashtag"",
            "votes": 156
          }
        ],
        "end_datetime": "2019-11-28T20:26:41.000Z"
      }
    ]
  }
}

Ort

Der in einem Tweet getaggte Ort ist auf keinem endpoint ein Primärobjekt, kann jedoch in der Tweet-Ressource gefunden und erweitert werden. Das Objekt kann mit ?expansions=geo.place_id einbezogen werden, um das komprimierte Objekt nur mit Standard-fields zu erhalten. Verwenden Sie die Expansion zusammen mit dem Feld-Parameter place.fields, wenn Sie zusätzliche fields anfordern, um das Objekt zu vervollständigen.
FeldwertTypBeschreibungVerwendung
full_name (Standard)stringEin ausführlicher, detaillierter Ortsname.Einen Tweet nach einem bestimmten Ortsnamen klassifizieren
"full_name": "Manhattan, NY"
id (Standard)stringDer eindeutige Bezeichner des erweiterten Orts, wenn es sich um einen im Tweet getaggten Point of Interest handelt.Zum programmatischen Abrufen eines Orts verwenden
"id": "01a9a39529b27f36"
contained_withinarrayGibt die Bezeichner bekannter Orte zurück, die den referenzierten Ort enthalten.
countrystringDer ausgeschriebene Name des Landes, zu dem dieser Ort gehört.Einen Tweet nach Ländernamen klassifizieren
"country": "United States"
country_codestringDer ISO-Alpha-2-Ländercode, zu dem dieser Ort gehört.Einen Tweet nach Ländercode klassifizieren
"country_code": "US"
geoobjectEnthält Ortsdetails im GeoJSON-Format.
`json
”geo”:
“type”: “Feature”,
“bbox”: [
-74.026675,
40.683935,
-73.910408,
40.877483
],
“properties”:
}
`
namestringDer Kurzname dieses Ortes.Einen Tweet nach einem bestimmten Ortsnamen klassifizieren
"name": "Manhattan"
place_typestringGibt den speziellen Typ der durch diese Ortsinformation dargestellten Information an, beispielsweise einen Stadtnamen oder einen Point of Interest.Einen Tweet nach einem bestimmten Ortstyp klassifizieren
"place_type": "city"
Abrufen eines Ort-Objekts Beispielanforderung In der folgenden Anforderung fordern wir fields für das an den Tweet angehängte Ort-Objekt am endpoint Tweets lookup an. Da place ein untergeordnetes Objekt eines Tweets ist, ist die geo.place_id-Expansion erforderlich. Ersetzen Sie $BEARER_TOKEN unbedingt durch Ihren eigenen generierten Bearer Token.
curl --request GET 'https://api.x.com/2/tweets?ids=1136048014974423040&expansions=geo.place_id&place.fields=contained_within,country,country_code,full_name,geo,id,name,place_type' --header 'Authorization: Bearer $BEARER_TOKEN'
Beispielantwort
{
  "data": [
    {
      "text": "Wir zeigen eine Live-Demo des neuen Twitter Developer Labs-Programms, geleitet von einem Mitglied unseres DevRel-Teams, @jessicagarson #TapIntoTwitter https://t.co/ghv7f4dW5M",
      "id": "1136048014974423040",
      "geo": {
        "place_id": "01a9a39529b27f36"
      }
    }
  ],
  "includes": {
    "places": [
      {
        "geo": {
          "type": "Feature",
          "bbox": [
            -74.026675,
            40.683935,
            -73.910408,
            40.877483
          ],
          "properties": {}
        },
        "country_code": "US",
        "name": "Manhattan",
        "id": "01a9a39529b27f36",
        "place_type": "city",
        "country": "Vereinigte Staaten",
        "full_name": "Manhattan, NY"
      }
    ]
  }
}

Direct-Message-Ereignisse

Direct-Message- (DM-) Unterhaltungen bestehen aus Ereignissen. Die X API v2 unterstützt derzeit drei Ereignistypen: MessageCreate, ParticipantsJoin und ParticipantsLeave. DM-Ereignisobjekte werden von den Endpoints für Direct Message lookup zurückgegeben, und ein MessageCreate-Ereignis wird erstellt, wenn Direct Messages erfolgreich über die Endpoints für Manage Direct Messages erstellt werden. Beim Anfordern von DM-Ereignissen sind drei standardmäßige Ereignisobjektattribute bzw. fields enthalten: id, event_type und text. Um zusätzliche Ereignisfelder zu erhalten, verwenden Sie den Parameter dm_event.fields der fields, um weitere auszuwählen. Weitere verfügbare Ereignisfelder sind: dm_conversation_id, created_at, sender_id, attachments, participant_ids und referenced_tweets. Mehrere dieser Felder liefern die IDs anderer X-Objekte, die mit dem Direct-Message-Ereignis in Zusammenhang stehen:
  • sender_id - Die ID des Accounts, der die Nachricht gesendet hat oder der eine Teilnehmerin bzw. einen Teilnehmer zu einer Gruppenunterhaltung eingeladen hat
  • participant_ids - Ein Array von Account-IDs. Bei ParticipantsJoin- und ParticipantsLeave-Ereignissen enthält dieses Array die einzelne ID des Accounts, der das Ereignis erstellt hat
  • attachments - Liefert Media-IDs für Inhalte, die vom Absender auf X hochgeladen wurden
  • referenced_tweets - Wenn im Feld text eine Tweet-URL gefunden wird, ist die ID dieses Tweets in der Antwort enthalten
Die expansions sender_id, participant_ids, referenced_tweets.id und attachments.media_keys sind verfügbar, um diese X-Objekt-IDs zu erweitern.
FeldwertTypBeschreibungVerwendungszweck
id (default)stringDer eindeutige Bezeichner des Ereignisses.

”id”: “1050118621198921728”
Verwenden Sie dies, um programmgesteuert ein bestimmtes Konversationsereignis abzurufen (verfügbar mit v1.1 endpoints).
event_type (default)stringBeschreibt den Ereignistyp. Derzeit werden drei Typen unterstützt: 

* MessageCreate

* ParticipantsJoin

* ParticipantsLeave


“event_type”: “MessageCreate”
Beim Abrufen des Konversationsverlaufs: nachvollziehen, wann Nachrichten erstellt wurden, und bei Gruppenkonversationen erkennen, wann Teilnehmende beigetreten oder ausgetreten sind. Alle GET-Methoden unterstützen das Filtern nach spezifischen Ereignistypen mit dem Abfrageparameter event_type=.
text (default)stringDer UTF-8-Text der Direct Message. 

“text”: “Hello, just you!”
Bei Chatbots kann dies zur Analyse von Nachrichteninhalten und zur Bestimmung automatisierter Antworten verwendet werden. Eignet sich auch zum Aufbau von Suchfunktionen für Konversationen.
entitiesobjectEntitäten, die aus dem Text der DM extrahiert wurden.Liefert zusätzliche Informationen zu Hashtags, URLs, Erwähnungen usw.
sender_idstringID des Users, der das Ereignis erstellt. Um dieses Objekt in der Antwort zu erweitern, fügen Sie sender_id als expansion hinzu und verwenden Sie den Abfrageparameter user.fields, um gewünschte Attribute des User-Objekts anzugeben.

”sender_id”: “906948460078698496”
Ruft das User-Objekt der Person ab, die das Ereignis MessageCreate oder ParticipantsJoin erstellt hat.
participant_idsarray (of strings)IDs der Teilnehmenden, die einer Gruppenkonversation beitreten bzw. sie verlassen. Wird auch beim Erstellen neuer Gruppenkonversationen verwendet. Um dieses Objekt in der Antwort zu erweitern, fügen Sie participant_ids als expansion hinzu und verwenden Sie den Abfrageparameter user.fields, um gewünschte Attribute des User-Objekts anzugeben.

”participant_ids”: [

     “906948460078698496”

]
Dient zum Abrufen von User-Objekten für Teilnehmende, die Gruppenkonversationen beitreten oder sie verlassen.
dm_conversation_idstringDer eindeutige Bezeichner der Konversation, zu der das Ereignis gehört.

”dm_conversation_id”: “1584988213961031680”
Verwenden Sie dies, um programmgesteuert Ereignisse aus einer Konversation abzurufen und Direct Messages hinzuzufügen.
created_atdate (ISO 8601)Erstellungszeit (UTC) des Tweets.

”created_at”: “2019-06-04T23:12:08.000Z”
Dieses Feld kann verwendet werden, um nachzuvollziehen, wann eine Direct Message erstellt wurde oder wann Konversationsteilnehmende beigetreten oder ausgetreten sind.
referenced_tweetsarrayID für jeden Tweet, der im Text der Direct Message erwähnt wird. Um dieses Objekt in der Antwort zu erweitern, fügen Sie referenced_tweets.id als expansion hinzu und verwenden Sie den Abfrageparameter tweet.fields, um gewünschte Attribute des Tweet-Objekts anzugeben.

”referenced_tweets”: [

   

“id”: “1578868150510456833”

   

]
Wenn Direct Messages auf einen Tweet verweisen, können diese IDs verwendet werden, um die Details des Tweets nachzuschlagen.
attachmentsobjectBei Direct Messages mit angehängten Medien enthält dies den media key des hochgeladenen Inhalts (Foto, Video oder GIF). Um dieses Objekt in der Antwort zu erweitern, fügen Sie attachments.media_keys als expansion hinzu und verwenden Sie den Abfrageparameter media.fields, um gewünschte Attribute des Medienobjekts anzugeben. Derzeit wird ein Anhang unterstützt. 

“attachments”:

    “media_keys”: [

        “3_1136048009270239232”

    ]

Zum Verständnis der an Direct Messages angehängten Medienobjekte.
Abrufen eines Direct-Message-Ereignisobjekts Beispielanfrage In diesem Beispiel erstellen wir eine Anfrage, die Ereignisse abruft, die mit einer Eins-zu-eins-Konversation verknüpft sind. Diese Anfrage gibt grundlegende Direct-Message-Ereignisfelder zurück, zusammen mit zusätzlichen Feldern für referenzierte Tweets und deren Autoren. Erstellen wir eine Abfrage, die Folgendes anfordert:
  • Grundlegende Ereignisattribute wie den Zeitpunkt der Erstellung und zu welcher Konversation es gehört (dm_conversation).
  • Die Konto-ID und die Beschreibung der Person, die die Direct Message gesendet hat.
  • Den Text eines referenzierten Tweets und wann er gepostet wurde.
  • Die Konto-ID und die Beschreibung einer referenzierten Tweet-Autorin bzw. eines referenzierten Tweet-Autors.
Um diese Attribute zurückzugeben, würde Ihre Abfrage Folgendes enthalten: ?dm_event.fields=id,sender_id,text,created_at,dm_conversation_id&expansions=sender_id,referenced_tweets.id&tweet.fields=created_at,text,author_id&user.fields=description
      curl --request GET 'https://api.x.com/2/dm_conversations/with/:participant_id/dm_events?tweet.fields=created_at,text,author_id&user.fields=description&expansions=sender_id,participant_ids,referenced_tweets.id&dm_event.fields=id,sender_id,text,participant_ids,created_at,'
    --header 'Authorization: Bearer $BEARER_TOKEN'
Stellen Sie sicher, dass Sie $BEARER_TOKEN durch Ihr eigenes, generiertes Bearer Token ersetzen. Beispielantwort
      {
	"data": [{
			"id": "1585047616894574596",
			"sender_id": "944480690",
			"text": "Hallo, nur du!",
			"created_at": "2022-10-25T23:16:15.000Z",
			"event_type": "MessageCreate",
			"dm_conversation_id": "944480690-906948460078698496"
		},
		{
			"id": "1581048670673260549",
			"sender_id": "944480690",
			"text": "Einfacher Tweet-Link: https://t.co/IYFbRIdXHg",
			"referenced_tweets": [{
				"id": "1578900353814519810"
			}],
			"created_at": "2022-10-14T22:25:52.000Z",
			"event_type": "MessageCreate",
			"dm_conversation_id": "944480690-906948460078698496"
		},
		{
			"id": "1580705121553420292",
			"sender_id": "944480690",
			"text": "Neue 1-zu-1-Direktnachricht hinzufügen.",
			"created_at": "2022-10-13T23:40:43.000Z",
			"event_type": "MessageCreate",
			"dm_conversation_id": "944480690-906948460078698496"
		}
	],
	"includes": {
		"users": [{
				"name": "API Demos",
				"description": "Hosting TwitterDev-Integrationen... @TwitterDev #DevRel",
				"id": "944480690",
				"username": "FloodSocial"
			},
			{
				"name": "der SnowBot",
				"description": "Heimat des @TwitterDev SnowBot... Bereitstellung von Schneeberichten, Schneefotos und Schneeforschungslinks... Chatbot wird derzeit für Twitter APIv2 umgebaut.",
				"id": "906948460078698496",
				"username": "SnowBotDev"
			}
		],
		"tweets": [{
				"text": "Fühle mich etwas schlecht, dass ich nicht allen ein frohes neues Colorado-Wasserjahr gewünscht habe…\n\nFrohes Wasserjahr an alle meine Colorado-Freunde und -Kollegen, neue und alte…\n\nMöge dies ein großzügiges Wasserjahr werden, aber nicht zu großzügig…",
				"id": "1578900353814519810",
				"created_at": "2022-10-09T00:09:13.000Z",
				"author_id": "944480690",
				"edit_history_tweet_ids": [
					"1578900353814519810"
				]
			}
		]
	},
	"meta": {
		"result_count": 3,
		"next_token": "18LAA581J5II7LA00C00ZZZZ",
		"previous_token": "1BLC45G1H8CAL5DG0G00ZZZZ"
	}
}

Community

Communities sind dedizierte Orte für X Nutzer, um sich zu vernetzen, Inhalte zu teilen und sich an den Diskussionen zu beteiligen, die ihnen am wichtigsten sind. Posts in Communities sind für alle auf X sichtbar, aber nur Mitglieder der jeweiligen Community können interagieren und an der Diskussion teilnehmen. Das Community-Objekt enthält relevante metadata zu einer Community.
Field valueTypeDescription
created_atdate (ISO 8601)Erstellungszeitpunkt der Community.
idstringDer eindeutige Bezeichner der Community.
namestringDer Name der Community.
descriptionstringDer Beschreibungstext der Community, falls vorhanden.
accessstringDie Zugriffsebene der Community.

Kann eines der folgenden sein:
- Public
- Closed
join_policystringDie Beitrittsrichtlinie der Community.

Kann eines der folgenden sein:
- Open
- RestrictedJoinRequestsDisabled
- RestrictedJoinRequestsRequireAdminApproval
- RestrictedJoinRequestsRequireModeratorApproval
- SuperFollowRequired
member_countintegerAnzahl der Mitglieder, die der Community beigetreten sind.
Abrufen von Community-Objekten Beispielanforderung In der folgenden Anfrage geben wir bestimmte fields an, während wir anhand eines Schlüsselworts nach einer Liste von Communities suchen. Ersetze dabei $BEARER_TOKEN durch dein eigenes, generiertes Bearer Token.
curl --location 'https://api.x.com/2/communities/search?query=anime&amp;community.fields=access,created_at,description,id,join_policy,member_count,name' --header 'Authorization: $BEARER_TOKEN'
Beispielantwort
{
  "data": [
    {
      "id": "Q29tbXVuaXR5OjE3NTg3NDc4MTc2NDI3MDA5MjI=",
      "description": "Willkommen in der Anime-Community! Hier treffen sich Anime-Fans, um ihre Lieblingssendungen zu teilen und über alles rund um Anime zu diskutieren.",
      "join_policy": "Open",
      "access": "Public",
      "member_count": 39915,
      "name": "Anime-Community",
      "created_at": "2024-02-17T06:58:50.000Z"
    },
    {
      "id": "Q29tbXVuaXR5OjE1MDY3OTM5NTMxMDYwNDI4OTE=",
      "description": "Tritt bei und schreib über Anime 🥰",
      "join_policy": "Open",
      "access": "Public",
      "member_count": 26019,
      "name": "Anime-Welt 🌸",
      "created_at": "2022-03-24T00:44:07.000Z"
    },
    {
      "id": "Q29tbXVuaXR5OjE0OTY3NzYyMTU5Mzk1MzQ4NDk=",
      "description": "Für alle Anime-Liebhaber und Kreativen!",
      "join_policy": "Open",
      "access": "Public",
      "member_count": 5612,
      "name": "Anime",
      "created_at": "2022-02-24T09:17:13.000Z"
    }
  ],
  "meta": {
    "next_token": "7140dibdnow9c7btw481s8m561gat797rboud5r80xvzm"
  }
}

So verwenden Sie fields und expansions

Standardmäßig enthalten die X API v2-Datenobjekte nur eine kleine Anzahl von Standardfeldern, wenn eine Anfrage ohne die Parameter fields oder expansions gestellt wird. Dieser Leitfaden zeigt, wie Sie die Abfrageparameter fields und expansions in Ihrer Anfrage verwenden, um zusätzliche Objekte und Felder in Ihrer Antwort zu erhalten. In diesem Leitfaden fordern wir mehrere Felder im folgenden Tweet-Screenshot an.  
Dieses Bild enthält einen Screenshot eines von @X veröffentlichten Tweets. Zu sehen sind der Tweet-Text, der Benutzername, das Veröffentlichungsdatum und die -uhrzeit, die Quelle und öffentliche metrics. Er enthält außerdem ein Video.
Wie Sie im Screenshot sehen, gibt es mehrere sichtbare Informationen zum Tweet, darunter der Autor des Tweets, die Tweet-metrics, der Erstellungszeitpunkt, das Video und die Anzahl der Videoaufrufe. Es gibt auch mehrere Datenpunkte, die im Screenshot nicht sichtbar sind, aber dennoch angefordert werden können.  Bei einer Anfrage an die API ist die Standardantwort schlank und enthält nur die Standard-Tweet-Felder (id und text). Zudem erhalten Sie nur das primäre Objekt, das vom verwendeten endpoint zurückgegeben wird, nicht jedoch zugehörige Datenobjekte, die sich auf dieses primäre Objekt beziehen könnten. Diese Schlankheit, kombiniert mit den Parametern fields und expansions, ermöglicht es Ihnen, je nach Anwendungsfall genau die Felder anzufordern, die Sie benötigen.   

Anfordern zusätzlicher Fields und Objekte.

Zunächst werden wir ein Tweet-Objekt mit einer Tweet-ID und dem GET /tweets-Endpoint anfordern. Anfrage:
curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Antwort:
{
    "data": [
        {
            "id": "1260294888811347969",
            "text": "Verpassen Sie nicht die Tweets zu Ihrem Tweet. \n\nJetzt können Sie auf iOS alle Retweets mit Kommentaren an einem Ort sehen. https://t.co/oanjZfzC6y"
        }
    ]
}
Die folgende Schritt-für-Schritt-Anleitung zeigt Ihnen, wie Sie die zusätzlichen Daten abrufen, die im Screenshot zu sehen sind.
  1. Ermitteln Sie die zusätzlichen fields, die Sie anfordern möchten, indem Sie unser Objektmodell verwenden oder die Liste der fields in den API-Referenzseiten der endpoint‑s überprüfen. In diesem Fall fordern wir die folgenden zusätzlichen fields an: attachments, author_id, created_at, public_metrics.
  2. Erstellen Sie den Abfrageparameter tweet.fields, wobei Sie die oben genannten fields als Wert in einer durch Kommas getrennten Liste angeben: ?tweet.fields=attachments,author_id,created_at,public_metrics
  3. Fügen Sie den Abfrageparameter query zur zuvor gesendeten GET-/tweets-Anfrage hinzu.
Anfrage: curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics' \ --header 'Authorization: Bearer $BEARER_TOKEN' Antwort:
{
    "data": [
        {
            "id": "1260294888811347969",
            "text": "Verpassen Sie nicht die Tweets zu Ihrem Tweet. \n\nJetzt können Sie auf iOS Retweets mit Kommentaren an einem Ort sehen. https://t.co/oanjZfzC6y",
            "author_id": "783214",
            "public_metrics": {
                "retweet_count": 5219,
                "reply_count": 1828,
                "like_count": 17141,
                "quote_count": 3255
            },
            "attachments": {
                "media_keys": [
                    "13_1260294804770041858"
                ]
            },
            "created_at": "2020-05-12T19:44:51.000Z"
        }
    ]
}
  1. Als Nächstes werden wir Felder anfordern, die sich auf das Video beziehen, das in dem Tweet enthalten war. Dazu verwenden wir den expansions-Parameter mit attachments.media_keys als Wert und fügen dies zur Anfrage hinzu.
?expansions=attachments.media_keys Anfrage:
curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics&expansions=attachments.media_keys' \
  --header 'Authorization: Bearer $BEARER_TOKEN'
Antwort, wobei das Media-Objekt im includes-Objekt dargestellt wird:
{
    "data": [
        {
            "id": "1260294888811347969",
            "text": "Verpassen Sie nicht die Tweets zu Ihrem Tweet. \n\nJetzt können Sie auf iOS Retweets mit Kommentaren alle an einem Ort sehen. https://t.co/oanjZfzC6y",
            "public_metrics": {
                "retweet_count": 5219,
                "reply_count": 1828,
                "like_count": 17141,
                "quote_count": 3255
            },
            "created_at": "2020-05-12T19:44:51.000Z",
            "attachments": {
                "media_keys": [
                    "13_1260294804770041858"
                ]
            },
            "author_id": "783214"
        }
    ],
    "includes": {
        "media": [
            {
                "media_key": "13_1260294804770041858",
                "type": "video"
            }
        ]
    }
}
  1. Und schließlich werden wir die Anzahl der Aufrufe und die Dauer des Videos anfordern. Diese sind keine Standardfelder, daher müssen wir sie explizit anfordern. Verwenden Sie den Parameter media.fields mit den durch Kommas getrennten Werten public_metrics und duration_ms in Ihrer Anfrage.
?media.fields=public_metrics,duration_ms Anfrage:   curl --request GET --url 'https://api.x.com/2/tweets?ids=1260294888811347969&tweet.fields=attachments,author_id,created_at,public_metrics&expansions=attachments.media_keys&media.fields=duration_ms,public_metrics' --header 'Authorization: Bearer $BEARER_TOKEN' Antwort, die nun alle im Tweet-Screenshot sichtbaren Daten enthält:
  {
    "data": [
        {
            "id": "1260294888811347969",
            "text": "Verpassen Sie nicht die Tweets zu Ihrem Tweet. \n\nJetzt können Sie auf iOS Retweets mit Kommentaren an einem Ort sehen. https://t.co/oanjZfzC6y",
            "author_id": "783214",
            "public_metrics": {
                "retweet_count": 5219,
                "reply_count": 1828,
                "like_count": 17141,
                "quote_count": 3255
            },
            "created_at": "2020-05-12T19:44:51.000Z",
            "attachments": {
                "media_keys": [
                    "13_1260294804770041858"
                ]
            }
        }
    ],
    "includes": {
        "media": [
            {
                "duration_ms": 36503,
                "media_key": "13_1260294804770041858",
                "public_metrics": {
                    "view_count": 1534703
                },
                "type": "video"
            }
        ]
    }
}
Insgesamt haben wir in diesem Beispiel die folgenden Parameter verwendet:
  • ids=1260294888811347969
  • tweet.fields=attachments,author_id,created_at,public_metrics
  • expansions=attachments.media_keys
  • media.fields=public_metrics,duration_ms  
Kombiniert ergibt sich folgende vollständige Query-Zeichenfolge:
?ids=1260294888811347969&tweet.fields=attachments,author\_id,created\_at,public\_metrics&expansions=attachments.media\_keys&media.fields=public\_metrics,duration\_ms

Beispiel-Payloads für die X API v2

Tweet

{
  "data": [
    {
      "conversation_id": "1304102743196356610",
      "id": "1307025659294674945",
      "possibly_sensitive": false,
      "public_metrics": {
        "retweet_count": 11,
        "reply_count": 2,
        "like_count": 70,
        "quote_count": 1
      },
      "entities": {
        "urls": [
          {
            "start": 74,
            "end": 97,
            "url": "https://t.co/oeF3ZHeKQQ",
            "expanded_url": "https://dev.to/twitterdev/understanding-the-new-tweet-payload-in-the-twitter-api-v2-1fg5",
            "display_url": "dev.to/twitterdev/und…",
            "images": [
              {
                "url": "https://pbs.twimg.com/news_img/1317156296982867969/2uLfv-Bh?format=jpg&name=orig",
                "width": 1128,
                "height": 600
              },
              {
                "url": "https://pbs.twimg.com/news_img/1317156296982867969/2uLfv-Bh?format=jpg&name=150x150",
                "width": 150,
                "height": 150
              }
            ],
            "status": 200,
            "title": "Die neue Tweet-Payload in der X API v2 verstehen",
            "description": "X hat kürzlich die neue X API v2 angekündigt, die von Grund auf neu entwickelt wurde, um neue Features zu bieten...",
            "unwound_url": "https://dev.to/twitterdev/understanding-the-new-tweet-payload-in-the-twitter-api-v2-1fg5"
          }
        ]
      },
      "text": "Hier ist ein Artikel, der die Updates in der neuen Tweet-Payload v2 hervorhebt https://t.co/oeF3ZHeKQQ",
      "in_reply_to_user_id": "2244994945",
      "created_at": "2020-09-18T18:36:15.000Z",
      "author_id": "2244994945",
      "referenced_tweets": [
        {
          "type": "replied_to",
          "id": "1304102743196356610"
        }
      ],
      "lang": "en",
      "source": "Twitter Web App"
    }
  ],
  "includes": {
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "id": "2244994945",
        "verified": true,
        "location": "127.0.0.1",
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, News und Events rund um die #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "username": "TwitterDev",
        "public_metrics": {
          "followers_count": 513961,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "name": "Twitter Dev",
        "url": "https://t.co/3ZX3TNiZCY",
        "protected": false
      }
    ],
    "tweets": [
      {
        "conversation_id": "1304102743196356610",
        "id": "1304102743196356610",
        "possibly_sensitive": false,
        "public_metrics": {
          "retweet_count": 31,
          "reply_count": 12,
          "like_count": 104,
          "quote_count": 4
        },
        "entities": {
          "mentions": [
            {
              "start": 146,
              "end": 158,
              "username": "suhemparack"
            }
          ],
          "urls": [
            {
              "start": 237,
              "end": 260,
              "url": "https://t.co/CjneyMpgCq",
              "expanded_url": "https://x.com/TwitterDev/status/1304102743196356610/video/1",
              "display_url": "pic.x.com/CjneyMpgCq"
            }
          ],
          "hashtags": [
            {
              "start": 8,
              "end": 19,
              "tag": "TwitterAPI"
            }
          ]
        },
        "attachments": {
          "media_keys": [
            "13_1303848070984024065"
          ]
        },
        "text": "Die neue #TwitterAPI enthält einige Verbesserungen an der Tweet-Payload. Sie fragen sich wahrscheinlich — was sind die wichtigsten Unterschiede? 🧐\n\nIn diesem Video vergleicht @SuhemParack die v1.1 Tweet-Payload mit dem, was Sie bei der Verwendung unserer v2 Endpoints finden. https://t.co/CjneyMpgCq",
        "created_at": "2020-09-10T17:01:37.000Z",
        "author_id": "2244994945",
        "lang": "en",
        "source": "Twitter Media Studio"
      }
    ]
  }
}

Antwort auf einen Tweet

{
  "data": [
    {
      "lang": "en",
      "conversation_id": "1296887091901718529",
      "text": "Sehen Sie, wie @PennMedCDH X-Daten nutzt, um die COVID-19-Gesundheitskrise zu verstehen 📊\n\nhttps://t.co/1tdA8uDWes",
      "referenced_tweets": [
        {
          "type": "replied_to",
          "id": "1296887091901718529"
        }
      ],
      "possibly_sensitive": false,
      "entities": {
        "annotations": [
          {
            "start": 30,
            "end": 36,
            "probability": 0.6318,
            "type": "Product",
            "normalized_text": "Twitter"
          }
        ],
        "mentions": [
          {
            "start": 8,
            "end": 19,
            "username": "PennMedCDH"
          }
        ],
        "urls": [
          {
            "start": 87,
            "end": 110,
            "url": "https://t.co/1tdA8uDWes",
            "expanded_url": "https://developer.x.com/en/use-cases/success-stories/penn",
            "display_url": "developer.x.com/en/use-cases/s…",
            "status": 200,
            "title": "Penn Medicine Center for Digital Health",
            "description": "Das Penn Med Center for Digital Health hat eine COVID-19-X-Karte erstellt, die Diagramme mit Stimmungsanalysen, gemeldeten Symptomen, bundesstaatlichen Datenaufteilungen und Grenzdaten zum COVID-19-Ausbruch enthält. Darüber hinaus nutzt ihre Penn Med With You-Initiative aggregierte regionale Informationen von X, um ihre Website und ihren SMS-Service zu informieren. Der Service nutzt diese Informationen, um relevante und zeitnahe Ressourcen zu verbreiten.",
            "unwound_url": "https://developer.x.com/en/use-cases/success-stories/penn"
          }
        ]
      },
      "id": "1296887316556980230",
      "public_metrics": {
        "retweet_count": 9,
        "reply_count": 3,
        "like_count": 26,
        "quote_count": 2
      },
      "author_id": "2244994945",
      "in_reply_to_user_id": "2244994945",
      "context_annotations": [
        {
          "domain": {
            "id": "46",
            "name": "Markenkategorie",
            "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Dienstleistungen"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Marke",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "123",
            "name": "Laufende Nachrichtenstory",
            "description": "Laufende Nachrichtenstorys wie „Brexit""
          },
          "entity": {
            "id": "1220701888179359745",
            "name": "COVID-19"
          }
        }
      ],
      "source": "Twitter Web App",
      "created_at": "2020-08-21T19:10:05.000Z"
    }
  ],
  "includes": {
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "id": "2244994945",
        "protected": false,
        "username": "TwitterDev",
        "verified": true,
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen im Zusammenhang mit der #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "location": "127.0.0.1",
        "name": "Twitter Dev",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "url": "https://t.co/3ZX3TNiZCY"
      },
      {
        "created_at": "2013-07-23T16:58:03.000Z",
        "id": "1615654896",
        "protected": false,
        "username": "PennMedCDH",
        "verified": false,
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/7eS9RuwIb9",
                "expanded_url": "http://centerfordigitalhealth.upenn.edu/",
                "display_url": "centerfordigitalhealth.upenn.edu"
              }
            ]
          },
          "description": {
            "mentions": [
              {
                "start": 0,
                "end": 13,
                "username": "PennMedicine"
              }
            ]
          }
        },
        "description": "@PennMedicine's Center for Digital Health fördert die Wissenschaft durch die Erforschung der Auswirkungen des Fortschritts der digitalen Gesundheitstechnologie im Gesundheitswesen.",
        "public_metrics": {
          "followers_count": 1348,
          "following_count": 455,
          "tweet_count": 1288,
          "listed_count": 92
        },
        "location": "Philadelphia, PA",
        "name": "Penn Med CDH",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1067488849725726723/MoO3FQ44_normal.jpg",
        "url": "https://t.co/7eS9RuwIb9"
      }
    ],
    "tweets": [
      {
        "lang": "en",
        "conversation_id": "1296887091901718529",
        "text": "Dr. @RainaMerchant und ihr Team am Penn Medicine CDH helfen dabei, die Zukunft des Gesundheitswesens zu gestalten.\n\nDas Team nutzt Erkenntnisse aus sozialen Daten auf viele verschiedene Weise – von der Aufdeckung von Risikofaktoren bis hin zur Beleuchtung der öffentlichen Stimmung. 🔎",
        "possibly_sensitive": false,
        "entities": {
          "annotations": [
            {
              "start": 39,
              "end": 55,
              "probability": 0.8274,
              "type": "Organization",
              "normalized_text": "Penn Medicine CDH"
            }
          ],
          "mentions": [
            {
              "start": 4,
              "end": 18,
              "username": "RainaMerchant"
            }
          ]
        },
        "id": "1296887091901718529",
        "public_metrics": {
          "retweet_count": 9,
          "reply_count": 7,
          "like_count": 32,
          "quote_count": 0
        },
        "author_id": "2244994945",
        "source": "Twitter Web App",
        "created_at": "2020-08-21T19:09:12.000Z"
      }
    ]
  }
}

Erweiterter Tweet

{
  "data": [
    {
      "conversation_id": "1296121314218897408",
      "id": "1296121314218897408",
      "possibly_sensitive": false,
      "public_metrics": {
        "retweet_count": 54,
        "reply_count": 9,
        "like_count": 172,
        "quote_count": 23
      },
      "entities": {
        "urls": [
          {
            "start": 192,
            "end": 215,
            "url": "https://t.co/khXhTurm9x",
            "expanded_url": "https://devcommunity.x.com/t/hide-replies-now-available-in-the-new-twitter-api/140996",
            "display_url": "devcommunity.com/t/hide-replies…",
            "images": [
              {
                "url": "https://pbs.twimg.com/news_img/1296121315514957825/3CI24hSI?format=png&name=orig",
                "width": 400,
                "height": 400
              },
              {
                "url": "https://pbs.twimg.com/news_img/1296121315514957825/3CI24hSI?format=png&name=150x150",
                "width": 150,
                "height": 150
              }
            ],
            "status": 200,
            "title": "Antworten ausblenden jetzt in der neuen Twitter API verfügbar",
            "description": "Heute freuen wir uns, die allgemeine Verfügbarkeit des Antworten-ausblenden-Endpoints in der neuen Twitter API bekannt zu geben. Der Antworten-ausblenden-Endpoint ermöglicht es Ihnen, Tools zu erstellen, die Menschen dabei helfen, Antworten auf ihre Tweets auszublenden oder wieder einzublenden. Menschen verwalten ihre Antworten aus vielen Gründen, einschließlich um weniger Aufmerksamkeit auf Kommentare zu lenken, die missbräuchlich, ablenkend oder irreführend sind, oder um Unterhaltungen ansprechender zu gestalten. Über diesen Endpoint können Sie Tools erstellen, um Menschen auf Twitter dabei zu helfen, Antworten schneller und mehr...",
            "unwound_url": "https://devcommunity.x.com/t/hide-replies-now-available-in-the-new-twitter-api/140996"
          }
        ],
        "hashtags": [
          {
            "start": 178,
            "end": 189,
            "tag": "TwitterAPI"
          }
        ]
      },
      "text": "Der Antworten-ausblenden-Endpoint wird heute eingeführt! \n\nEntwickler können Antworten auf Tweets ausblenden - ein entscheidender Weg, wie Entwickler dabei helfen können, die Gesundheit der öffentlichen Unterhaltung mit der #TwitterAPI zu verbessern.\n\nhttps://t.co/khXhTurm9x",
      "created_at": "2020-08-19T16:26:16.000Z",
      "context_annotations": [
        {
          "domain": {
            "id": "65",
            "name": "Interessen und Hobbys Vertikal",
            "description": "Übergeordnete Interessen- und Hobby-Gruppierungen, wie Essen oder Reisen"
          },
          "entity": {
            "id": "848920371311001600",
            "name": "Technologie",
            "description": "Technologie und Computing"
          }
        },
        {
          "domain": {
            "id": "66",
            "name": "Interessen und Hobbys Kategorie",
            "description": "Eine Gruppierung von Interessen- und Hobby-Entitäten, wie neuartige Lebensmittel oder Reiseziele"
          },
          "entity": {
            "id": "848921413196984320",
            "name": "Computerprogrammierung",
            "description": "Computerprogrammierung"
          }
        }
      ],
      "author_id": "2244994945",
      "lang": "en",
      "source": "Twitter Web App"
    }
  ],
  "includes": {
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "id": "2244994945",
        "verified": true,
        "location": "127.0.0.1",
        "description": "Die Stimme des #TwitterDev Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen im Zusammenhang mit der #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "username": "TwitterDev",
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "name": "Twitter Dev",
        "url": "https://t.co/3ZX3TNiZCY",
        "protected": false
      }
    ]
  }
}

Tweet mit Medieninhalten

{
  "data": [
    {
      "lang": "en",
      "conversation_id": "1293593516040269825",
      "text": "Es ist endlich da! 🥁 Sagt hallo zur neuen #TwitterAPI.\n\nWir bauen die X API v2 von Grund auf neu auf, um unsere Entwickler-Community besser zu bedienen. Und der heutige Launch ist nur der Anfang.\n\nhttps://t.co/32VrwpGaJw https://t.co/KaFSbjWUA8",
      "attachments": {
        "media_keys": [
          "7_1293565706408038401"
        ]
      },
      "possibly_sensitive": false,
      "entities": {
        "annotations": [
          {
            "start": 78,
            "end": 88,
            "probability": 0.4381,
            "type": "Product",
            "normalized_text": "Twitter API"
          }
        ],
        "hashtags": [
          {
            "start": 42,
            "end": 53,
            "tag": "TwitterAPI"
          }
        ],
        "urls": [
          {
            "start": 195,
            "end": 218,
            "url": "https://t.co/32VrwpGaJw",
            "expanded_url": "https://blog.x.com/developer/en_us/topics/tools/2020/introducing_new_twitter_api.html",
            "display_url": "blog.x.com/developer/en_u…",
            "images": [
              {
                "url": "https://pbs.twimg.com/news_img/1336475659279818754/_cmRh7QE?format=jpg&name=orig",
                "width": 1200,
                "height": 627
              },
              {
                "url": "https://pbs.twimg.com/news_img/1336475659279818754/_cmRh7QE?format=jpg&name=150x150",
                "width": 150,
                "height": 150
              }
            ],
            "status": 200,
            "title": "Einführung einer neuen und verbesserten X API",
            "description": "Einführung der neuen X API - von Grund auf neu entwickelt, um neue Features schneller bereitzustellen, damit Entwickler der Welt dabei helfen können, sich mit der öffentlichen Konversation zu verbinden, die auf Twitter stattfindet.",
            "unwound_url": "https://blog.x.com/developer/en_us/topics/tools/2020/introducing_new_twitter_api.html"
          },
          {
            "start": 219,
            "end": 242,
            "url": "https://t.co/KaFSbjWUA8",
            "expanded_url": "https://x.com/TwitterDev/status/1293593516040269825/video/1",
            "display_url": "pic.x.com/KaFSbjWUA8"
          }
        ]
      },
      "id": "1293593516040269825",
      "public_metrics": {
        "retweet_count": 958,
        "reply_count": 171,
        "like_count": 2848,
        "quote_count": 333
      },
      "author_id": "2244994945",
      "context_annotations": [
        {
          "domain": {
            "id": "46",
            "name": "Markenkategorie",
            "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Services"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Marke",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "65",
            "name": "Interessen und Hobbys Vertikal",
            "description": "Übergeordnete Interessen- und Hobbygruppierungen, wie Essen oder Reisen"
          },
          "entity": {
            "id": "848920371311001600",
            "name": "Technologie",
            "description": "Technologie und Computing"
          }
        },
        {
          "domain": {
            "id": "66",
            "name": "Interessen und Hobbys Kategorie",
            "description": "Eine Gruppierung von Interessen- und Hobbyentitäten, wie neuartige Lebensmittel oder Reiseziele"
          },
          "entity": {
            "id": "848921413196984320",
            "name": "Computerprogrammierung",
            "description": "Computerprogrammierung"
          }
        }
      ],
      "source": "Twitter Web App",
      "created_at": "2020-08-12T17:01:42.000Z"
    }
  ],
  "includes": {
    "media": [
      {
        "height": 720,
        "duration_ms": 34875,
        "media_key": "7_1293565706408038401",
        "type": "video",
        "preview_image_url": "https://pbs.twimg.com/ext_tw_video_thumb/1293565706408038401/pu/img/66P2dvbU4a02jYbV.jpg",
        "public_metrics": {
          "view_count": 279438
        },
        "width": 1280
      }
    ],
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "id": "2244994945",
        "protected": false,
        "username": "TwitterDev",
        "verified": true,
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "description": "Die Stimme des #TwitterDev Teams und Ihre offizielle Quelle für Updates, News und Events im Zusammenhang mit der #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "location": "127.0.0.1",
        "name": "Twitter Dev",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "url": "https://t.co/3ZX3TNiZCY"
      }
    ]
  }
}`


### Retweet

      `{
  "data": [
    {
      "public_metrics": {
        "retweet_count": 19,
        "reply_count": 0,
        "like_count": 0,
        "quote_count": 0
      },
      "conversation_id": "1229851574555508737",
      "id": "1229851574555508737",
      "entities": {
        "annotations": [
          {
            "start": 28,
            "end": 38,
            "probability": 0.261,
            "type": "Product",
            "normalized_text": "Alexa Skill"
          },
          {
            "start": 44,
            "end": 50,
            "probability": 0.7332,
            "type": "Product",
            "normalized_text": "Twitter"
          }
        ],
        "mentions": [
          {
            "start": 3,
            "end": 15,
            "username": "suhemparack"
          }
        ]
      },
      "text": "RT @suhemparack: Ich habe einen Alexa Skill für Twitter mit APL erstellt, mit dem Sie Tweets und Trends auf dem Echo Show anzeigen können!\n\nSchauen Sie es sich hier an…",
      "created_at": "2020-02-18T19:33:59.000Z",
      "possibly_sensitive": false,
      "author_id": "2244994945",
      "referenced_tweets": [
        {
          "type": "retweeted",
          "id": "1229843515603144704"
        }
      ],
      "context_annotations": [
        {
          "domain": {
            "id": "47",
            "name": "Brand",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10026792024",
            "name": "Amazon"
          }
        },
        {
          "domain": {
            "id": "48",
            "name": "Product",
            "description": "Von Marken erstellte Produkte. Beispiele: Ford Explorer, Apple iPhone."
          },
          "entity": {
            "id": "968221983803494400",
            "name": "Amazon - Alexa",
            "description": "Alexa"
          }
        },
        {
          "domain": {
            "id": "46",
            "name": "Brand Category",
            "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Services"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Brand",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        }
      ],
      "source": "Twitter Web App",
      "lang": "en"
    }
  ],
  "includes": {
    "users": [
      {
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "username": "TwitterDev",
        "name": "Twitter Dev",
        "location": "127.0.0.1",
        "url": "https://t.co/3ZX3TNiZCY",
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "id": "2244994945",
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen im Zusammenhang mit der #TwitterAPI.",
        "verified": true,
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "pinned_tweet_id": "1293593516040269825",
        "created_at": "2013-12-14T04:35:55.000Z",
        "protected": false
      },
      {
        "profile_image_url": "https://pbs.twimg.com/profile_images/1230703695051935747/TbQKe91L_normal.jpg",
        "username": "suhemparack",
        "name": "Suhem Parack",
        "location": "Seattle, WA",
        "url": "https://t.co/8IkCzClPCz",
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/8IkCzClPCz",
                "expanded_url": "https://developer.x.com",
                "display_url": "developer.x.com"
              }
            ]
          },
          "description": {
            "mentions": [
              {
                "start": 42,
                "end": 50,
                "username": "Twitter"
              }
            ]
          }
        },
        "id": "857699969263964161",
        "description": "Developer Relations für akademische Forschung @Twitter. Sprechen Sie mit mir über Forschung mit Twitter-Daten. Zuvor: Amazon Alexa. Die Meinungen sind meine eigenen",
        "verified": false,
        "public_metrics": {
          "followers_count": 738,
          "following_count": 512,
          "tweet_count": 460,
          "listed_count": 12
        },
        "pinned_tweet_id": "1296498078233571329",
        "created_at": "2017-04-27T20:56:22.000Z",
        "protected": false
      }
    ],
    "tweets": [
      {
        "public_metrics": {
          "retweet_count": 19,
          "reply_count": 1,
          "like_count": 71,
          "quote_count": 6
        },
        "conversation_id": "1229843515603144704",
        "id": "1229843515603144704",
        "entities": {
          "annotations": [
            {
              "start": 11,
              "end": 21,
              "probability": 0.3342,
              "type": "Product",
              "normalized_text": "Alexa Skill"
            },
            {
              "start": 27,
              "end": 33,
              "probability": 0.6727,
              "type": "Product",
              "normalized_text": "Twitter"
            }
          ],
          "urls": [
            {
              "start": 127,
              "end": 150,
              "url": "https://t.co/l5J8wq748G",
              "expanded_url": "https://dev.to/twitterdev/building-an-alexa-skill-for-twitter-using-alexa-presentation-language-1aj0",
              "display_url": "dev.to/twitterdev/bui…",
              "status": 200,
              "unwound_url": "https://dev.to/twitterdev/building-an-alexa-skill-for-twitter-using-alexa-presentation-language-1aj0"
            }
          ]
        },
        "text": "Ich habe einen Alexa Skill für Twitter mit APL erstellt, mit dem Sie Tweets und Trends auf dem Echo Show anzeigen können!\n\nSchauen Sie es sich hier an 👇\n\nhttps://t.co/l5J8wq748G",
        "created_at": "2020-02-18T19:01:58.000Z",
        "possibly_sensitive": false,
        "author_id": "857699969263964161",
        "context_annotations": [
          {
            "domain": {
              "id": "47",
              "name": "Brand",
              "description": "Marken und Unternehmen"
            },
            "entity": {
              "id": "10026792024",
              "name": "Amazon"
            }
          },
          {
            "domain": {
              "id": "48",
              "name": "Product",
              "description": "Von Marken erstellte Produkte. Beispiele: Ford Explorer, Apple iPhone."
            },
            "entity": {
              "id": "968221983803494400",
              "name": "Amazon - Alexa",
              "description": "Alexa"
            }
          },
          {
            "domain": {
              "id": "46",
              "name": "Brand Category",
              "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
            },
            "entity": {
              "id": "781974596752842752",
              "name": "Services"
            }
          },
          {
            "domain": {
              "id": "47",
              "name": "Brand",
              "description": "Marken und Unternehmen"
            },
            "entity": {
              "id": "10045225402",
              "name": "Twitter"
            }
          }
        ],
        "source": "Twitter Web App",
        "lang": "en"
      }
    ]
  }
}`


### Quote Tweet

      `{
  "data": [
    {
      "lang": "en",
      "conversation_id": "1328399838128467969",
      "text": "Wie geplant wurden die unten referenzierten Labs v2 Endpoints nun eingestellt. Bitte lassen Sie uns in den Foren wissen, wenn Sie Fragen haben oder Hilfe mit der X API v2 benötigen! https://t.co/JaxttUMmjX",
      "referenced_tweets": [
        {
          "type": "quoted",
          "id": "1327011423252144128"
        }
      ],
      "possibly_sensitive": false,
      "entities": {
        "annotations": [
          {
            "start": 151,
            "end": 157,
            "probability": 0.8115,
            "type": "Product",
            "normalized_text": "Twitter"
          }
        ],
        "urls": [
          {
            "start": 167,
            "end": 190,
            "url": "https://t.co/JaxttUMmjX",
            "expanded_url": "https://x.com/TwitterDev/status/1327011423252144128",
            "display_url": "twitter.com/TwitterDev/sta…"
          }
        ]
      },
      "id": "1328399838128467969",
      "public_metrics": {
        "retweet_count": 7,
        "reply_count": 4,
        "like_count": 29,
        "quote_count": 1
      },
      "author_id": "2244994945",
      "context_annotations": [
        {
          "domain": {
            "id": "46",
            "name": "Brand Category",
            "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Services"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Brand",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "65",
            "name": "Interests and Hobbies Vertical",
            "description": "Übergeordnete Interessen- und Hobby-Gruppierungen, wie Essen oder Reisen"
          },
          "entity": {
            "id": "848920371311001600",
            "name": "Technology",
            "description": "Technologie und Computing"
          }
        },
        {
          "domain": {
            "id": "66",
            "name": "Interests and Hobbies Category",
            "description": "Eine Gruppierung von Interessen- und Hobby-Entitäten, wie neuartige Lebensmittel oder Reiseziele"
          },
          "entity": {
            "id": "848921413196984320",
            "name": "Computer programming",
            "description": "Computerprogrammierung"
          }
        }
      ],
      "source": "Twitter Web App",
      "created_at": "2020-11-16T18:09:36.000Z"
    }
  ],
  "includes": {
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "id": "2244994945",
        "protected": false,
        "username": "TwitterDev",
        "verified": true,
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen im Zusammenhang mit der #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "location": "127.0.0.1",
        "name": "Twitter Dev",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "url": "https://t.co/3ZX3TNiZCY"
      }
    ],
    "tweets": [
      {
        "lang": "en",
        "conversation_id": "1327011423252144128",
        "text": "👋 Freundliche Erinnerung, dass Twitter Developer Labs v2 hide replies und recent search am nächsten Montag, dem 16. November, eingestellt werden! Wir empfehlen Ihnen, jetzt zu den neuen hide replies und recent search Endpoints zu migrieren, die in der v2 #TwitterAPI verfügbar sind. Details: https://t.co/r6z6CI7kEy",
        "possibly_sensitive": false,
        "entities": {
          "annotations": [
            {
              "start": 26,
              "end": 50,
              "probability": 0.4387,
              "type": "Product",
              "normalized_text": "Twitter Developer Labs v2"
            }
          ],
          "hashtags": [
            {
              "start": 228,
              "end": 239,
              "tag": "TwitterAPI"
            }
          ],
          "urls": [
            {
              "start": 250,
              "end": 273,
              "url": "https://t.co/r6z6CI7kEy",
              "expanded_url": "https://devcommunity.x.com/t/retiring-labs-v2-recent-search-and-hide-replies/145795",
              "display_url": "devcommunity.com/t/retiring-lab…",
              "images": [
                {
                  "url": "https://pbs.twimg.com/news_img/1327011425240313856/PkurOyu1?format=jpg&name=orig",
                  "width": 1200,
                  "height": 630
                },
                {
                  "url": "https://pbs.twimg.com/news_img/1327011425240313856/PkurOyu1?format=jpg&name=150x150",
                  "width": 150,
                  "height": 150
                }
              ],
              "status": 200,
              "title": "Einstellung von Labs v2 recent search und hide replies",
              "description": "Wie wir in unseren Early Access- und hide replies-Ankündigungen sagten, werden die folgenden Twitter Developer Labs v2 Endpoints am 16. November eingestellt. Labs v2 recent search Labs v2 hide replies Bei Aufruf werden diese Endpoints mit einem HTTP 410-Status antworten und keine Daten zurückgeben. Basierend auf Ihrem Feedback aus Labs haben wir entsprechende Funktionalität in die X API v2 integriert. Die relevante Dokumentation finden Sie über die unten stehenden Links. Klicken Sie hier, um sich für v2-Zugang zu registrieren, falls Sie dies noch nicht getan haben...",
              "unwound_url": "https://devcommunity.x.com/t/retiring-labs-v2-recent-search-and-hide-replies/145795"
            }
          ]
        },
        "id": "1327011423252144128",
        "public_metrics": {
          "retweet_count": 8,
          "reply_count": 2,
          "like_count": 33,
          "quote_count": 4
        },
        "author_id": "2244994945",
        "context_annotations": [
          {
            "domain": {
              "id": "46",
              "name": "Brand Category",
              "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
            },
            "entity": {
              "id": "781974596752842752",
              "name": "Services"
            }
          },
          {
            "domain": {
              "id": "47",
              "name": "Brand",
              "description": "Marken und Unternehmen"
            },
            "entity": {
              "id": "10045225402",
              "name": "Twitter"
            }
          },
          {
            "domain": {
              "id": "65",
              "name": "Interests and Hobbies Vertical",
              "description": "Übergeordnete Interessen- und Hobby-Gruppierungen, wie Essen oder Reisen"
            },
            "entity": {
              "id": "848920371311001600",
              "name": "Technology",
              "description": "Technologie und Computing"
            }
          },
          {
            "domain": {
              "id": "66",
              "name": "Interests and Hobbies Category",
              "description": "Eine Gruppierung von Interessen- und Hobby-Entitäten, wie neuartige Lebensmittel oder Reiseziele"
            },
            "entity": {
              "id": "848921413196984320",
              "name": "Computer programming",
              "description": "Computerprogrammierung"
            }
          }
        ],
        "source": "Twitter Web App",
        "created_at": "2020-11-12T22:12:32.000Z"
      }
    ]
  }
}

Retweeteter zitierter Tweet

{
    "data": [
    {
      "lang": "en",
      "conversation_id": "1225470895902412800",
      "text": "RT @AureliaSpecker: 📣 Falls Ihnen das London-Pendler-Tutorial gefallen hat, das ich im November letzten Jahres geschrieben habe, schauen Sie sich die überarbeitete Version an, die…",
      "referenced_tweets": [
        {
          "type": "retweeted",
          "id": "1224709550214873090"
        }
      ],
      "possibly_sensitive": false,
      "entities": {
        "annotations": [
          {
            "start": 42,
            "end": 47,
            "probability": 0.6999,
            "type": "Place",
            "normalized_text": "London"
          }
        ],
        "mentions": [
          {
            "start": 3,
            "end": 18,
            "username": "AureliaSpecker"
          }
        ]
      },
      "id": "1225470895902412800",
      "public_metrics": {
        "retweet_count": 12,
        "reply_count": 0,
        "like_count": 0,
        "quote_count": 0
      },
      "author_id": "2244994945",
      "context_annotations": [
        {
          "domain": {
            "id": "46",
            "name": "Markenkategorie",
            "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
          },
          "entity": {
            "id": "781974596752842752",
            "name": "Services"
          }
        },
        {
          "domain": {
            "id": "47",
            "name": "Marke",
            "description": "Marken und Unternehmen"
          },
          "entity": {
            "id": "10045225402",
            "name": "Twitter"
          }
        },
        {
          "domain": {
            "id": "65",
            "name": "Interessen und Hobbys Vertikal",
            "description": "Übergeordnete Gruppierungen von Interessen und Hobbys, wie Essen oder Reisen"
          },
          "entity": {
            "id": "848920371311001600",
            "name": "Technologie",
            "description": "Technologie und Informatik"
          }
        },
        {
          "domain": {
            "id": "66",
            "name": "Interessen und Hobbys Kategorie",
            "description": "Eine Gruppierung von Interessen- und Hobby-Entitäten, wie Neuartige Lebensmittel oder Reiseziele"
          },
          "entity": {
            "id": "848921413196984320",
            "name": "Computerprogrammierung",
            "description": "Computerprogrammierung"
          }
        }
      ],
      "source": "Twitter for iPhone",
      "created_at": "2020-02-06T17:26:44.000Z"
    }
  ],
  "includes": {
    "users": [
      {
        "created_at": "2013-12-14T04:35:55.000Z",
        "id": "2244994945",
        "protected": false,
        "username": "TwitterDev",
        "verified": true,
        "entities": {
          "url": {
            "urls": [
              {
                "start": 0,
                "end": 23,
                "url": "https://t.co/3ZX3TNiZCY",
                "expanded_url": "https://developer.x.com/en/community",
                "display_url": "developer.x.com/en/community"
              }
            ]
          },
          "description": {
            "hashtags": [
              {
                "start": 17,
                "end": 28,
                "tag": "TwitterDev"
              },
              {
                "start": 105,
                "end": 116,
                "tag": "TwitterAPI"
              }
            ]
          }
        },
        "description": "Die Stimme des #TwitterDev-Teams und Ihre offizielle Quelle für Updates, Neuigkeiten und Veranstaltungen rund um die #TwitterAPI.",
        "pinned_tweet_id": "1293593516040269825",
        "public_metrics": {
          "followers_count": 513962,
          "following_count": 2039,
          "tweet_count": 3635,
          "listed_count": 1672
        },
        "location": "127.0.0.1",
        "name": "Twitter Dev",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg",
        "url": "https://t.co/3ZX3TNiZCY"
      },
      {
        "created_at": "2013-01-18T23:45:43.000Z",
        "id": "1102321381",
        "protected": false,
        "username": "AureliaSpecker",
        "verified": false,
        "entities": {
          "description": {
            "mentions": [
              {
                "start": 7,
                "end": 17,
                "username": "TwitterUK"
              },
              {
                "start": 86,
                "end": 95,
                "username": "_dormrod"
              }
            ]
          }
        },
        "description": "devrel @TwitterUK • Schweizerin in London • Mutter von Zimmerpflanzen • persönliche Friseurin für @_dormrod",
        "pinned_tweet_id": "1253069421322567681",
        "public_metrics": {
          "followers_count": 1036,
          "following_count": 1330,
          "tweet_count": 855,
          "listed_count": 26
        },
        "location": "London, UK",
        "name": "Aurelia Specker",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1137517534104772608/8FBYgc6G_normal.jpg",
        "url": ""
      }
    ],
    "tweets": [
      {
        "lang": "en",
        "conversation_id": "1224709550214873090",
        "text": "📣 Falls Ihnen das London-Pendler-Tutorial gefallen hat, das ich im November letzten Jahres geschrieben habe, schauen Sie sich die überarbeitete Version an, die Twitters neuen Such-endpoint verwendet 🚇 https://t.co/87XIPZmZBJ\n\n#DEVcommunity #Pythontutorial @TwitterDev @TwitterAPI https://t.co/dXrJYvn3hY",
        "referenced_tweets": [
          {
            "type": "quoted",
            "id": "1195000047089389573"
          }
        ],
        "possibly_sensitive": false,
        "entities": {
          "annotations": [
            {
              "start": 22,
              "end": 27,
              "probability": 0.7075,
              "type": "Place",
              "normalized_text": "London"
            },
            {
              "start": 120,
              "end": 126,
              "probability": 0.7355,
              "type": "Product",
              "normalized_text": "Twitter"
            }
          ],
          "mentions": [
            {
              "start": 206,
              "end": 217,
              "username": "TwitterDev"
            },
            {
              "start": 218,
              "end": 229,
              "username": "TwitterAPI"
            }
          ],
          "hashtags": [
            {
              "start": 176,
              "end": 189,
              "tag": "DEVcommunity"
            },
            {
              "start": 190,
              "end": 205,
              "tag": "Pythontutorial"
            }
          ],
          "urls": [
            {
              "start": 151,
              "end": 174,
              "url": "https://t.co/87XIPZmZBJ",
              "expanded_url": "https://bit.ly/2OrnrCC",
              "display_url": "bit.ly/2OrnrCC",
              "status": 200,
              "unwound_url": "https://dev.to/twitterdev/migrate-to-twitter-s-newly-released-labs-recent-search-endpoint-3npe"
            },
            {
              "start": 230,
              "end": 253,
              "url": "https://t.co/dXrJYvn3hY",
              "expanded_url": "https://x.com/AureliaSpecker/status/1195000047089389573",
              "display_url": "twitter.com/AureliaSpecker…"
            }
          ]
        },
        "id": "1224709550214873090",
        "public_metrics": {
          "retweet_count": 12,
          "reply_count": 0,
          "like_count": 43,
          "quote_count": 2
        },
        "author_id": "1102321381",
        "context_annotations": [
          {
            "domain": {
              "id": "46",
              "name": "Markenkategorie",
              "description": "Kategorien innerhalb von Markenvertikalen, die den Umfang von Marken eingrenzen"
            },
            "entity": {
              "id": "781974596752842752",
              "name": "Services"
            }
          },
          {
            "domain": {
              "id": "47",
              "name": "Marke",
              "description": "Marken und Unternehmen"
            },
            "entity": {
              "id": "10045225402",
              "name": "Twitter"
            }
          },
          {
            "domain": {
              "id": "65",
              "name": "Interessen und Hobbys Vertikal",
              "description": "Übergeordnete Interessen- und Hobby-Gruppierungen, wie Essen oder Reisen"
            },
            "entity": {
              "id": "848920371311001600",
              "name": "Technologie",
              "description": "Technologie und Computing"
            }
          },
          {
            "domain": {
              "id": "66",
              "name": "Interessen und Hobbys Kategorie",
              "description": "Eine Gruppierung von Interessen- und Hobby-Entitäten, wie Neuartige Lebensmittel oder Reiseziele"
            },
            "entity": {
              "id": "848921413196984320",
              "name": "Computerprogrammierung",
              "description": "Computerprogrammierung"
            }
          }
        ],
        "source": "Twitter Web App",
        "created_at": "2020-02-04T15:01:25.000Z"
      }
    ]
  }
}
I