Bitte beachten: Wir haben eine neue Version von Posts durchsuchen und Post-Zählungen in der X API v2 veröffentlicht. Wir empfehlen Ihnen, sich die Neuerungen in X API v2 anzusehen. Diese Endpoints wurden aktualisiert und enthalten nun Bearbeitungs-Metadaten für Posts. Weitere Informationen zu diesen Metadaten finden Sie auf der Grundlagen-Seite zu „Posts bearbeiten“.
Überblick
Enterprise
Die Enterprise-APIs sind ausschließlich innerhalb unserer verwalteten Zugangsstufen verfügbar. Um diese APIs zu nutzen, müssen Sie zunächst ein Konto über unser Enterprise-Vertriebsteam einrichten. Weitere Informationen finden Sie HIER.
Sie können alle X API-Suchangebote für Posts HIER einsehen.
Es gibt zwei Enterprise-Such-APIs:
- Die 30-Day Search API stellt Daten aus den letzten 30 Tagen bereit.
- Die Full-Archive Search API bietet vollständigen und sofortigen Zugriff auf den gesamten Korpus der X-Daten bis zurück zum ersten Post im März 2006.
Anfragetypen
Suchanfragen (data)
Counts-Anfragen (Post-Zählung)
Verfügbare Operatoren
Abgleich von Post-Inhalten: | Abgleich von Accounts von Interesse: | Post-Attribute: | Geodaten-Operatoren: |
* keyword * “quoted phrase” * “keyword1 keyword2”~N * # * @ * $ * url: * lang: | * from: * to: * retweets_of: | * is:retweet * has:mentions * has:hashtags * has:media * has:videos * has:images * has:links * has:symbols * is:verified * -is:nullcast (nur Negation) | * bounding_box:[west_long south_lat east_long north_lat] * point_radius:[lon lat radius] * has:geo * place: * place_country: * has:profile_geo * profile_country: * profile_region: * profile_locality: |
Datenverfügbarkeit / wichtige Daten
- Erster Post: 21.03.2006
- Erste nativen Retweets: 06.11.2009
- Erster geogetaggter Post: 19.11.2009
- URLs erstmals zum Filtern indexiert: 27.08.2011
- Erweiterte URL-Expansions-metadata (Website-Titel und -Beschreibungen): 01.12.2014
- Profil-Geo-Enrichment-metadata und Filterung: 17.02.2015
Datenaktualisierungen und Änderbarkeit
- Metadaten des User-Objekts:
- @Handle des Users (die numerische id ändert sich nie)
- Bio-Beschreibung
- Zählwerte: statuses, followers, friends, favorites, lists
- Profilort
- Weitere Details wie Zeitzone und Sprache
- Post-Statistiken – d. h. alles, was durch Nutzeraktionen auf der Plattform geändert werden kann (Beispiele unten):
- Anzahl der Favorites
- Anzahl der Retweets
Single- vs. Multithreaded-Anfragen
Wiederholungslogik
- Versuchen Sie die Anfrage erneut, nachdem Sie den betrachteten Zeitraum verkleinert haben. Wiederholen Sie dies bei Bedarf bis hinunter zu einem Zeitfenster von 6 Stunden.
- Wenn Sie eine große Anzahl von Begriffen mit OR verknüpfen, teilen Sie sie in separate Regeln auf und führen Sie jede einzeln erneut aus.
- Wenn Sie in Ihrer Regel viele Ausschlüsse verwenden, reduzieren Sie die Anzahl der negierten Begriffe in der Regel und versuchen Sie es erneut.
Schnellstart
Erste Schritte mit Enterprise Search Posts: 30-Day API
- Ein Enterprise-Konto: https://developer.x.com/en/products/x-api/enterprise
- Ihren Benutzernamen, Ihr Passwort und den Kontonamen
- Das dem Such-endpoint zugeordnete Label, wie auf console.gnip.com angezeigt
Zugriff auf das data-endpoint
from:
und lang:
, um Posts zu finden, die von @XDevelopers auf Englisch stammen. Für weitere Operatoren klicken Sie hier.
- cURL
- cURL example
-
Benutzername
<USERNAME>
z. B.email@domain.com
-
Kontoname
<ACCOUNT-NAME>
z. B.john-doe
-
Label
<LABEL>
z. B.prod
-
fromDate und toDate z. B.
"fromDate":"201811010000", "toDate":"201811122359"
Antwort-Payload des data-endpoints
Zugriff auf das Counts-endpoint
day
.
- cURL
- cURL example
-
Benutzername
<USERNAME>
, z. B.email@domain.com
-
Kontoname
<ACCOUNT-NAME>
, z. B.john-doe
-
Label
<LABEL>
, z. B.prod
-
fromDate und toDate, z. B.
"fromDate":"201811010000", "toDate":"201811122359"
Antwortnutzlast des Counts-endpoints
Verweise
Einstieg in die Enterprise Search Posts: Full-Archive API
- [Ein Enterprise-Konto]https://developer.x.com/en/products/x-api/enterprise
- Ihren Benutzernamen, Ihr Passwort und Ihren Kontonamen
- Das Label, das Ihrem Search-endpoint zugeordnet ist, wie in console.gnip.com angezeigt
Zugriff auf das data endpoint
from:
und lang:
, um Posts zu finden, die von @XDevelopers auf Englisch stammen. Für weitere Operatoren klicken Sie hier.
- cURL
- cURL example
-
Username
<USERNAME>
z. B.email@domain.com
-
Account-Name
<ACCOUNT-NAME>
z. B.john-doe
-
Label
<LABEL>
z. B.prod
-
fromDate und toDate z. B.
"fromDate":"201802010000", "toDate":"201802282359"
Antwort-Payload des data-endpoints
Zugriff auf das counts-endpoint
day
.
- cURL
- cURL example
-
Benutzername
<USERNAME>
z. B.email@domain.com
-
Kontoname
<ACCOUNT-NAME>
z. B.john-doe
-
Label
<LABEL>
z. B.prod
-
fromDate und toDate z. B.
"fromDate":"201802010000", "toDate":"201802282359"
Antwort-Payload des Counts-endpoints
Verwandte Artikel
Leitfäden
Erstellen von Suchanfragen
Enterprise-Operatoren
- Enterprise-30‑Tage-Such-API
- Enterprise-Vollarchiv-Such-API
Operator | Beschreibung |
---|---|
keyword | Findet ein tokenisiertes Schlüsselwort im Inhalt oder in den URLs eines Posts. Dies ist eine tokenisierte Übereinstimmung, was bedeutet, dass Ihre Schlüsselwort-Zeichenkette mit dem tokenisierten Text des Post-Inhalts abgeglichen wird – die Tokenisierung basiert auf Interpunktion, Symbolen und Trennzeichen der Unicode-Grundebene. Zum Beispiel würde ein Post mit dem Text „I like coca-cola” in folgende Token aufgeteilt: I, like, coca, cola. Diese Token würden dann mit der in Ihrer Regel verwendeten Schlüsselwort-Zeichenkette verglichen. Um Zeichenketten mit Interpunktion (zum Beispiel coca-cola), Symbolen oder Trennzeichen zu finden, müssen Sie eine in Anführungszeichen gesetzte exakte Übereinstimmung verwenden, wie unten beschrieben. Hinweis: Bei der Search API werden akzentuierte und Sonderzeichen zu lateinischen Standardzeichen normalisiert, was die Bedeutung in Fremdsprachen ändern oder unerwartete Ergebnisse liefern kann: Zum Beispiel wird „músic” mit „music” übereinstimmen und umgekehrt. Zum Beispiel würden häufige Phrasen wie „Feliz Año Nuevo!” auf Spanisch als „Feliz Ano Nuevo” indexiert, was die Bedeutung der Phrase ändert. Hinweis: Dieser Operator findet sowohl URLs als auch entpackte URLs innerhalb eines Posts. |
emoji | Findet ein Emoji im Inhalt eines Posts. Emojis sind eine tokenisierte Übereinstimmung, was bedeutet, dass Ihr Emoji mit dem tokenisierten Text des Post-Inhalts abgeglichen wird – die Tokenisierung basiert auf Interpunktion, Symbol-/Emoji- und Trennzeichen der Unicode-Grundebene. Zum Beispiel würde ein Post mit dem Text „I like ” in folgende Token aufgeteilt: I, like, . Diese Token würden dann mit dem in Ihrer Regel verwendeten Emoji verglichen. Beachten Sie, dass Sie „Anführungszeichen” verwenden müssen, um eine Regel hinzuzufügen, wenn ein Emoji eine Variante hat. |
„exact phrase match” | Findet die tokenisierte und geordnete Phrase im Inhalt oder in den URLs eines Posts. Dies ist eine tokenisierte Übereinstimmung, was bedeutet, dass Ihre Schlüsselwort-Zeichenkette mit dem tokenisierten Text des Post-Inhalts abgeglichen wird – die Tokenisierung basiert auf Interpunktion, Symbolen und Trennzeichen der Unicode-Grundebene. Hinweis: Interpunktion wird nicht tokenisiert und stattdessen als Leerzeichen behandelt. Zum Beispiel wird das in Anführungszeichen gesetzte „#hashtag” mit „hashtag” übereinstimmen, aber nicht mit #hashtag (verwenden Sie den Hashtag-#-Operator ohne Anführungszeichen, um tatsächliche Hashtags zu finden). Zum Beispiel wird das in Anführungszeichen gesetzte „cashtag" mit „cashtag" übereinstimmen, aber nicht mit cashtag (verwenden Sie den Cashtag-$-Operator ohne Anführungszeichen, um tatsächliche Cashtags zu finden). Zum Beispiel wird „Love Snow” mit „#love #snow” übereinstimmen Zum Beispiel wird „#Love #Snow” mit „love snow” übereinstimmen Hinweis: Dieser Operator findet sowohl URLs als auch entpackte URLs innerhalb eines Posts. |
„keyword1 keyword2”~N | Allgemein als Näherungsoperator bezeichnet, findet dieser einen Post, bei dem die Schlüsselwörter nicht mehr als N Token voneinander entfernt sind. Wenn die Schlüsselwörter in umgekehrter Reihenfolge stehen, können sie nicht mehr als N-2 Token voneinander entfernt sein. Kann eine beliebige Anzahl von Schlüsselwörtern in Anführungszeichen haben. N kann nicht größer als 6 sein. Beachten Sie, dass dieser Operator nur in den Enterprise Search APIs verfügbar ist. |
from: | Findet jeden Post von einem bestimmten Nutzer. Der Wert muss die numerische X-Konto-ID oder der Nutzername des Nutzers sein (ohne das @-Zeichen). Siehe HIER oder HIER für Methoden zum Nachschlagen numerischer X-Konto-IDs. |
to: | Findet jeden Post, der eine Antwort auf einen bestimmten Nutzer ist. Der Wert muss die numerische Konto-ID oder der Nutzername des Nutzers sein (ohne das @-Zeichen). Siehe HIER für Methoden zum Nachschlagen numerischer X-Konto-IDs. |
url: | Führt eine tokenisierte (Schlüsselwort/Phrase) Übereinstimmung mit den erweiterten URLs eines Posts durch (ähnlich wie url_contains). Token und Phrasen mit Interpunktion oder Sonderzeichen sollten in doppelte Anführungszeichen gesetzt werden. Zum Beispiel url:„/developer”. Obwohl generell nicht empfohlen, wenn Sie ein bestimmtes Protokoll finden möchten, setzen Sie es in doppelte Anführungszeichen: url:„https://developer.x.com”. Hinweis: Bei Verwendung von PowerTrack oder Historical PowerTrack findet dieser Operator URLs, die im ursprünglichen Post eines Quote Posts enthalten sind. Zum Beispiel, wenn Ihre Regel url:„developer.x.com” enthält und ein Post diese URL enthält, werden alle Quote Tweets dieses Posts in die Ergebnisse einbezogen. Dies ist bei Verwendung der Search API nicht der Fall. |
# | Findet jeden Post mit dem angegebenen Hashtag. Dieser Operator führt eine exakte Übereinstimmung durch, KEINE tokenisierte Übereinstimmung, was bedeutet, dass die Regel „2016” Posts mit dem exakten Hashtag „2016” findet, aber nicht solche mit dem Hashtag „2016election” Hinweis: Der Hashtag-Operator basiert auf Xs Entitätsextraktion, um Hashtags zu finden, anstatt den Hashtag aus dem Inhalt selbst zu extrahieren. Siehe HIER für weitere Informationen zu X Entities JSON-Attributen. |
@ | Findet jeden Post, der den angegebenen Nutzernamen erwähnt. Der to:-Operator gibt eine Teilmenge des @mention-Operators zurück. |
$ | Findet jeden Post, der das angegebene „Cashtag” enthält (wobei das führende Zeichen des Tokens das „$“-Zeichen ist). Beachten Sie, dass der Cashtag-Operator auf Xs „symbols”-Entitätsextraktion basiert, um Cashtags zu finden, anstatt zu versuchen, das Cashtag aus dem Inhalt selbst zu extrahieren. Siehe HIER für weitere Informationen zu X Entities JSON-Attributen. Beachten Sie, dass dieser Operator nur in den Enterprise Search APIs verfügbar ist. |
retweets_of: | Verfügbarer Alias: retweets_of_user: Findet Posts, die Retweets eines bestimmten Nutzers sind. Akzeptiert sowohl Nutzernamen als auch numerische X-Konto-IDs (NICHT Post-Status-IDs). Siehe HIER für Methoden zum Nachschlagen numerischer X-Konto-IDs. |
lang: | Findet Posts, die von X als einer bestimmten Sprache zugehörig klassifiziert wurden (wenn und nur wenn der Post klassifiziert wurde). Es ist wichtig zu beachten, dass jeder Post derzeit nur als einer Sprache zugehörig klassifiziert wird, sodass die UND-Verknüpfung mehrerer Sprachen keine Ergebnisse liefert. Hinweis: Wenn keine Sprachklassifizierung vorgenommen werden kann, ist das bereitgestellte Ergebnis „und” (für undefiniert). Die folgende Liste stellt die derzeit unterstützten Sprachen und ihre entsprechenden BCP 47-Sprachkennungen dar: |
Amharisch: am | Deutsch: de | Malayalam: ml | Slowakisch: sk |
Arabisch: ar | Griechisch: el | Dhivehi (Maledivisch): dv | Slowenisch: sl |
Armenisch: hy | Gujarati: gu | Marathi: mr | Sorani: ckb |
Baskisch: eu | Haitianisches Kreol: ht | Nepali: ne | Spanisch: es |
Bengalisch: bn | Hebräisch: iw | Norwegisch: no | Schwedisch: sv |
Bosnisch: bs | Hindi: hi | Odia: or | Tagalog: tl |
Bulgarisch: bg | Lateinisiertes Hindi: hi-Latn | Panjabi: pa | Tamil: ta |
Birmanisch: my | Ungarisch: hu | Paschtu: ps | Telugu: te |
Kroatisch: hr | Isländisch: is | Persisch: fa | Thailändisch: th |
Katalanisch: ca | Indonesisch: in | Polnisch: pl | Tibetisch: bo |
Tschechisch: cs | Italienisch: it | Portugiesisch: pt | Traditionelles Chinesisch: zh-TW |
Dänisch: da | Japanisch: ja | Rumänisch: ro | Türkisch: tr |
Niederländisch: nl | Kannada: kn | Russisch: ru | Ukrainisch: uk |
Englisch: en | Khmer: km | Serbisch: sr | Urdu: ur |
Estnisch: et | Koreanisch: ko | Vereinfachtes Chinesisch: zh-CN | Uigurisch: ug |
Finnisch: fi | Lao: lo | Sindhi: sd | Vietnamesisch: vi |
Französisch: fr | Lettisch: lv | Singhalesisch: si | Walisisch: cy |
Georgisch: ka | Litauisch: lt |
place: | Findet Posts, die mit dem angegebenen Ort oder der X-Place-ID getaggt sind (siehe Beispiele). Mehrteilige Ortsnamen („New York City“, „Palo Alto“) sollten in Anführungszeichen stehen. Hinweis: Informationen zum Abrufen von X-Place-IDs finden Sie im öffentlichen API-endpoint GET geo/search. Hinweis: Dieser Operator greift nicht bei Retweets, da die Orte des Retweet am ursprünglichen Post hängen. Er greift auch nicht bei Orten, die am ursprünglichen Post eines Quote Tweet hängen. |
place_country: | Findet Posts, bei denen der mit einem getaggten Place verknüpfte Ländercode dem angegebenen ISO-Alpha-2-Code entspricht. Gültige ISO-Codes finden Sie hier: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 Hinweis: Dieser Operator greift nicht bei Retweets, da die Orte des Retweet am ursprünglichen Post hängen. Er greift auch nicht bei Orten, die am ursprünglichen Post eines Quote Tweet hängen. |
point_radius:[lon lat radius] | Vergleicht mit dem exakten Standort (x, y) des Post, wenn vorhanden, und in X mit einem „Place“-Geo-Polygon, wobei der Place vollständig innerhalb der definierten Region liegt. * Unterstützte Radieneinheiten sind Meilen (mi) und Kilometer (km). * Der Radius muss kleiner als 25 mi sein. * Längengrad liegt im Bereich von ±180. * Breitengrad liegt im Bereich von ±90. * Alle Koordinaten sind in Dezimalgrad. * Regelargumente stehen in eckigen Klammern und sind durch Leerzeichen getrennt. Hinweis: Dieser Operator greift nicht bei Retweets, da die Orte des Retweet am ursprünglichen Post hängen. Er greift auch nicht bei Orten, die am ursprünglichen Post eines Quote Tweet hängen. |
bounding_box:[west_long south_lat east_long north_lat] | Verfüglicher Alias: geo_bounding_box: Vergleicht mit dem exakten Standort (long, lat) des Post, wenn vorhanden, und in X mit einem „Place“-Geo-Polygon, wobei der Place vollständig innerhalb der definierten Region liegt. * west_long und south_lat bilden die südwestliche Ecke der Begrenzungsbox, wobei west_long der Längengrad dieses Punktes ist und south_lat der Breitengrad. * east_long und north_lat bilden die nordöstliche Ecke der Begrenzungsbox, wobei east_long der Längengrad dieses Punktes ist und north_lat der Breitengrad. * Breite und Höhe der Begrenzungsbox müssen kleiner als 25 mi sein. * Längengrad liegt im Bereich von ±180. * Breitengrad liegt im Bereich von ±90. * Alle Koordinaten sind in Dezimalgrad. * Regelargumente stehen in eckigen Klammern und sind durch Leerzeichen getrennt. Hinweis: Dieser Operator greift nicht bei Retweets, da die Orte des Retweet am ursprünglichen Post hängen. Er greift auch nicht bei Orten, die am ursprünglichen Post eines Quote Tweet hängen. |
profile_country: | Exakte Übereinstimmung mit dem Feld „countryCode“ aus dem Objekt „address“ in der Profile-Geo-Anreicherung. Verwendet einen normalisierten Satz zweibuchstabiger Ländercodes, basierend auf der Spezifikation ISO-3166-1-alpha-2. Dieser Operator wird der Kürze halber anstelle eines Operators für das Feld „country“ aus dem Objekt „address“ bereitgestellt. |
profile_region: | Vergleicht mit dem Feld „region“ aus dem Objekt „address“ in der Profile-Geo-Anreicherung. Dies ist eine exakte vollständige Zeichenfolgenübereinstimmung. Es ist nicht erforderlich, Zeichen mit einem Backslash zu maskieren. Wenn Sie beispielsweise etwas mit einem Slash abgleichen, verwenden Sie „one/two“, nicht „one/two“. Verwenden Sie doppelte Anführungszeichen, um Teilzeichenfolgen abzugleichen, die Leerzeichen oder Satzzeichen enthalten. |
profile_locality: | Vergleicht mit dem Feld „locality“ aus dem Objekt „address“ in der Profile-Geo-Anreicherung. Dies ist eine exakte vollständige Zeichenfolgenübereinstimmung. Es ist nicht erforderlich, Zeichen mit einem Backslash zu maskieren. Wenn Sie beispielsweise etwas mit einem Slash abgleichen, verwenden Sie „one/two“, nicht „one/two“. Verwenden Sie doppelte Anführungszeichen, um Teilzeichenfolgen abzugleichen, die Leerzeichen oder Satzzeichen enthalten. |
has:geo | Findet Posts, die Post-spezifische Geo-Standortdaten von X enthalten. Dies können entweder „geo” Breiten-/Längengrad-Koordinaten oder ein „location” in Form eines X „Place” mit entsprechendem Anzeigenamen, Geo-Polygon und anderen Feldern sein. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:profile_geo | Verfügbarer Alias: has:derived_user_geo Findet Posts, die beliebige Profile Geo metadata enthalten, unabhängig vom tatsächlichen Wert. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:links | Dieser Operator findet Posts, die Links im Nachrichtentext enthalten. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
is:retweet | Liefert nur explizite Retweets, die einer Regel entsprechen. Kann auch negiert werden, um Retweets auszuschließen, die einer Regel entsprechen, und nur ursprüngliche Inhalte zu liefern. Dieser Operator sucht nur nach echten Retweets, die die Retweet-Funktionalität von X verwenden. Quote Tweets und modifizierte Posts, die nicht die Retweet-Funktionalität von X verwenden, werden von diesem Operator nicht erfasst. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
is:reply | Ein Operator zum Filtern von Posts basierend darauf, ob sie Antworten auf Posts sind oder nicht. Liefert nur explizite Antworten, die einer Regel entsprechen. Kann auch negiert werden, um Antworten auszuschließen, die einer Regel entsprechen. Beachten Sie, dass dieser Operator für kostenpflichtige Premium- und Enterprise-Suche verfügbar ist und nicht in Sandbox-Entwicklungsumgebungen verfügbar ist. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
is:quote | Liefert nur Quote Tweets oder Posts, die auf einen anderen Post verweisen, wie durch das „is_quote_status”:true in Post-Payloads identifiziert. Kann auch negiert werden, um Quote Tweets auszuschließen. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
is:verified | Liefert nur Posts, bei denen der Autor von X „verifiziert” ist. Kann auch negiert werden, um Posts auszuschließen, bei denen der Autor verifiziert ist. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:mentions | Findet Posts, die einen anderen X-Benutzer erwähnen. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:hashtags | Findet Posts, die einen Hashtag enthalten. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:media | Verfügbarer Alias: has:media_link Findet Posts, die eine von X klassifizierte Medien-URL enthalten. Zum Beispiel pic.x.com. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:images | Findet Posts, die eine von X klassifizierte Medien-URL enthalten. Zum Beispiel pic.x.com. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:videos | Verfügbarer Alias: has:video_link Findet Posts, die native X-Videos enthalten, die direkt auf X hochgeladen wurden. Dies findet keine Videos, die mit Vine, Periscope erstellt wurden, oder Posts mit Links zu anderen Video-Hosting-Sites. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
has:symbols | Findet Posts, die ein Cashtag-Symbol enthalten (mit einem führenden „"-Zeichen. Zum Beispiel tag). Beachten Sie, dass dieser Operator nur in den enterprise Search APIs verfügbar ist. Hinweis: Bei Verwendung der Search API muss dieser Operator in Verbindung mit anderen Operatoren verwendet werden, die nicht is: oder has: enthalten. |
Produktübersicht
Metadaten-Zeitlinien
to:
und in_reply_to_status_id:
zu verlassen.
Die hier bereitgestellten Details wurden mit der Full-Archive Search (als Ergebnis Hunderter Suchvorgänge) erstellt. Diese Zeitlinie ist nicht zu 100 % vollständig oder exakt. Wenn Sie ein weiteres grundlegendes Filter-/Metadaten-„Geburtsdatum“ identifizieren, das für Ihren Anwendungsfall wesentlich ist, lassen Sie es uns bitte wissen.
Beachten Sie, dass der zugrunde liegende Suchindex neu aufgebaut werden kann. Entsprechend können sich diese Angaben zur Zeitlinie ändern.
2006
-
- März –
lang:
. Ein Beispiel dafür, wie Post-Metadaten beim Erstellen des Suchindex nachträglich aufgefüllt werden.
- März –
-
- Juli –
has:mentions
beginnt zu greifen.
- Juli –
-
- Oktober –
has:symbols
. slang).
- Oktober –
-
- Oktober –
has:links
beginnt zu greifen.
- Oktober –
-
- November –
has:hashtags
beginnt zu greifen.
- November –
2007
-
- Januar - Erste @reply auf Ebene „First-Class“ (in_reply_to_user_id),
reply_to_status_id:
beginnt zu matchen.
- Januar - Erste @reply auf Ebene „First-Class“ (in_reply_to_user_id),
-
- August - Hashtags setzen sich als gängige Konvention zur Organisation von Themen und Unterhaltungen durch. Erste tatsächliche Nutzung eine Woche später.
2009
-
- Mai –
is:retweet
. Beachten Sie, dass dieser Operator ab der Beta-Veröffentlichung der offiziellen Retweets und ihrem „Via @“-Muster greift. Während dieses Beta-Zeitraums ist das Post-Verb „post“ und der ursprüngliche Post ist nicht im Payload enthalten.
- Mai –
-
- August – Die endgültige Version der offiziellen Retweets wird mit dem Muster „RT @“, einem auf „share“ gesetzten Verb und dem Attribut „retweet_status“, das den ursprünglichen Post enthält, veröffentlicht (was die Größe des JSON-Payloads in etwa verdoppelt).
2010
-
- März –
has:geo
,bounding_box:
undpoint_radius:
Geo-Operatoren beginnen übereinzustimmen.
- März –
-
- August –
has:videos
(Bis Februar 2015 stimmte dieser Operator mit Posts überein, die Links zu ausgewählten Video-Hosting-Websites wie youtube.com, vimeo.com und vivo.com enthalten).
- August –
2011
-
- Juli –
has:media
undhas:images
werden unterstützt. Native Fotos wurden am 9. August 2010 offiziell angekündigt.
- Juli –
2014
-
- Dezember – (ungefähr) einige erweiterte URL-Metadaten mit HTML-Title und -Description erscheinen in den Payloads. Die erweiterten Metadaten waren ab Mai 2016 umfassender verfügbar.
2015
-
- Februar –
has:videos
stimmt für „native“ X‑Videos.
- Februar –
-
- Februar –
has:profile_geo
,profile_country:
,profile_region:
,profile_locality:
Profile-Geo-Operatoren beginnen zu greifen.
- Februar –
-
- Februar –
place_country:
undplace:
Post‑Geo‑Operatoren beginnen zu greifen.
- Februar –
2016
-
- Mai – Erweiterte URL-Metadaten waren breiter verfügbar und wurden offiziell als Teil des Gnip‑2.0‑Launches im August 2016 angekündigt. Keine zugehörigen Operatoren für diese Metadata mit Search-APIs.
2017
-
- Februar – Umfrage-metadata sind im erweiterten nativen Format verfügbar. Keine zugehörigen Operatoren für diese metadata.
2022
-
- September – Alle seit diesem Datum erstellten Post-Objekte verfügen über Metadaten zu bearbeiteten Posts. Alle Enterprise-endpoints, die Post-Objekte bereitstellen, wurden ab diesem Datum aktualisiert, um diese Metadaten auszugeben. Die bereitgestellten Bearbeitungsmetadaten umfassen die Objekte edit_history und edit_controls. Diese Metadaten werden für Posts, die vor dem 27. September 2022 erstellt wurden, nicht zurückgegeben. Derzeit sind keine Enterprise Operators verfügbar, die zu diesen Metadaten passen. Weitere Informationen zu Metadaten für bearbeitete Posts finden Sie auf der Seite Edit Posts fundamentals.
2022
-
- September – Alle seit diesem Datum erstellten Post-Objekte verfügen über Edit-Post-Metadaten. Alle Enterprise-endpoints, die Post-Objekte bereitstellen, wurden ab diesem Datum aktualisiert, um diese metadata bereitzustellen. Die bereitgestellten Bearbeitungs-metadata umfassen die Objekte edit_history und edit_controls. Diese metadata werden nicht für Posts zurückgegeben, die vor dem 27. September 2022 erstellt wurden. Derzeit sind keine Enterprise-Operators verfügbar, die diesen metadata entsprechen. Weitere Informationen zu Edit-Post-metadata findest du auf der Seite Edit Posts fundamentals.
Tipps zum Filtern
- Einige Metadaten haben „Geburtsdaten“, sodass Filter zu falsch negativen Ergebnissen führen können. Solche Suchen umfassen Operatoren, die von Metadaten abhängen, die während des gesamten oder eines Teils des Suchzeitraums nicht vorhanden waren. Wenn Sie beispielsweise nach Posts mit dem Operator
has:images
suchen, erhalten Sie für Zeiträume vor Juli 2011 keine Treffer. Das liegt daran, dass dieser Operator auf nativen Fotos basiert (über die X-Benutzeroberfläche an einen Post angehängt). Für einen vollständigeren Datensatz von Posts mit Fotos müssten Filter für Zeiträume vor Juli 2011 Regelklauseln enthalten, die auf gängige Foto-Hosting-URLs matchen. - Einige Metadaten wurden mit Angaben aus einer Zeit nach dem Zeitpunkt, zu dem der Post auf X veröffentlicht wurde, nachträglich angereichert.
- X Profile
- Ursprüngliche oder geteilte Posts
- Sprachklassifizierung von Posts
- Georeferenzierte Posts
- Geteilte Link-Medien
X-Profile
Originale Posts und Retweets
Sprachklassifizierungen von Posts
Geo-Referenzierung von Posts
- Geografische Verweise im Post-Text. Das Matching anhand geografischer Verweise im Post-Text ist zwar oft die anspruchsvollste Methode, da sie von lokalen Kenntnissen abhängt, steht jedoch für das gesamte Post-Archiv zur Verfügung. Hier ist ein Beispiel für ein geo-referenziertes Matching aus dem Jahr 2006 für den Raum San Francisco, basierend auf einem „golden gate“-Filter.
-
Vom Nutzer geo-getaggte Posts. Mit den Search-APIs war das Matching auf Posts mit einigen Geo Operators ab März 2010 möglich, mit weiteren ab Februar 2015:
-
- März 2010:
has:geo
,bounding_box:
undpoint_radius:
- März 2010:
-
- Februar 2015:
place_country:
undplace:
- Februar 2015:
-
-
Vom Nutzer festgelegter „Home“-Standort im Kontoprofil. Profile Geo Operators sind sowohl in Historical PowerTrack als auch in den Search-APIs verfügbar. In den Search-APIs sind diese Profil-Geo-Metadaten seit Februar 2015 verfügbar. Für Posts, die vor der Verfügbarkeit der Profil-Geo-Metadaten veröffentlicht wurden, steht der Operator
bio_location:
zur Verfügung, mit dem sich auf nicht normalisierte Nutzereingaben matchen lässt.
-
- Oktober 2006 -
has:links
- Oktober 2006 -
-
- Juli 2011 -
has:images
undhas:media
- Juli 2011 -
- August 2011 -
url:
mit der Expanded URLs enrichment Bereits im September 2006 führt(url:"spotify.com" OR url:gnip OR url:microsoft OR url:google OR url:youtube)
zu einer Übereinstimmung mit http://x.com/Adam/statuses/16602, obwohl es keine urls[] metadata in twitter_entities und gnip-Objekten gibt. „youtube.com“ ist ein Beispiel für Nachrichteninhalt, der ohne jegliche urls[] metadata mit url:youtube übereinstimmt. -
- Februar 2015 -
has:videos
für native Videos. Zwischen 2010/08/28 und 2015/02/10 stimmt dieser Operator mit Posts überein, die Links zu ausgewählten Video-Hosting-Seiten wie youtube.com, vimeo.com und vivo.com enthalten.
- Februar 2015 -
-
- Mai 2016 -
url_title:
undurl_description:
, basierend auf der Enhanced URLs enrichment, allgemein verfügbar. Erste Enhanced-URL metadata begannen im Dezember 2014 zu erscheinen.
- Mai 2016 -
Häufig gestellte Fragen (FAQ)
Allgemeine Fragen zur Search-Post-API
Die Anzahl der Posts, die ich über das data-endpoint erhalte, stimmt nicht mit der Anzahl der Posts überein, die vom counts-endpoint ermittelt wird. Warum ist das so?
Die Anzahl der Posts, die ich über das data-endpoint erhalte, stimmt nicht mit der Anzahl der Posts überein, die vom counts-endpoint ermittelt wird. Warum ist das so?
Ich habe keinen Post erhalten, der meiner query entsprechen sollte. Warum?
Ich habe keinen Post erhalten, der meiner query entsprechen sollte. Warum?
- Der Post, den Sie zu sehen erwartet haben, stammt von einem geschützten Konto.
- Das data endpoint berücksichtigt alle Compliance-Ereignisse (das heißt, gelöschte Posts, bereinigte Geodaten usw. werden nicht in der Antwort enthalten sein).
Meine Abfrage hat einen Post gefunden, enthält aber ein von mir negiertes Schlüsselwort. Warum passiert das?
Meine Abfrage hat einen Post gefunden, enthält aber ein von mir negiertes Schlüsselwort. Warum passiert das?
Gibt es Bibliotheken, mit denen ich den Einstieg in die Verwendung der Search Post APIs finden kann?
Gibt es Bibliotheken, mit denen ich den Einstieg in die Verwendung der Search Post APIs finden kann?
- Tweepy – gut geeignet für die Nutzung des Standardprodukts Suche/Posts (Python)
- X API – gut geeignet für die Nutzung der Standard-Search-Post-APIs (Python)
- Search Posts Python und Search Posts Ruby – zwei geeignete Tools für die Verwendung mit den Enterprise- (und v2!) Search-Post-APIs
Werde ich jemals ein geringeres Volumen an Posts erhalten als den Wert, den ich in meiner Anfrage an das data-endpoint als `maxResults` festgelegt habe?
Werde ich jemals ein geringeres Volumen an Posts erhalten als den Wert, den ich in meiner Anfrage an das data-endpoint als `maxResults` festgelegt habe?
maxResults
-Wert oder nach 30 Tagen.Wenn Sie beispielsweise in einem Zeitraum von 30 Tagen 800 Posts haben, müssen Sie zwei Anfragen stellen, um die vollständigen Ergebnisse abzurufen; denn die maximale Anzahl von Posts, die pro Anfrage zurückgegeben werden kann, beträgt 500 (maxResults
). Und wenn Sie im ersten Monat nur 400 Posts und im zweiten Monat 100 Posts haben, müssen Sie ebenfalls zwei Anfragen stellen, um die vollständigen Ergebnisse abzurufen; denn die Paginierung erfolgt nach 30 Tagen, auch wenn die erste Anfrage weniger als die angegebenen maxResults
Posts zurückgibt.In welcher Reihenfolge werden die passenden Posts zurückgegeben?
In welcher Reihenfolge werden die passenden Posts zurückgegeben?
fromDate
erreichen.Wie wirken sich Bearbeitungen von Posts auf meine Nutzung und Abrechnung aus?
Wie wirken sich Bearbeitungen von Posts auf meine Nutzung und Abrechnung aus?
Enterprise
Ich möchte mehr über die Preisgestaltung der Enterprise Search Post API erfahren und mich für dieses Angebot bewerben. Wie gehe ich dabei vor?
Ich möchte mehr über die Preisgestaltung der Enterprise Search Post API erfahren und mich für dieses Angebot bewerben. Wie gehe ich dabei vor?
Wie erstelle ich einen Regelsatz, der meinem Anwendungsfall entspricht?
Wie erstelle ich einen Regelsatz, der meinem Anwendungsfall entspricht?
- Bitte beachten Sie unsere Dokumentation zu den Enterprise Search Post APIs hier
- Nützliche Informationen zu Regeln und Filterung finden Sie hier
- Nützliche Informationen zur Verwendung des data endpoint finden Sie hier
- Nützliche Informationen zur Verwendung des counts endpoint finden Sie hier
- Eine Liste der verfügbaren Operatoren finden Sie hier
Ich habe meine Anfragenobergrenzen/-limits für diesen Monat überschritten, benötige aber Zugriff auf weitere data – was kann ich tun?
Ich habe meine Anfragenobergrenzen/-limits für diesen Monat überschritten, benötige aber Zugriff auf weitere data – was kann ich tun?
Leitfaden zur Fehlerbehebung
- Bitte stellen Sie sicher, dass Sie die richtigen Parameter für jeden endpoint verwenden (z. B. kann das
buckets
-Feld nur mit dem counts endpoint verwendet werden, nicht mit dem data endpoint). - Bitte prüfen Sie, ob die Felder
:product
,:account_name
und:label
korrekt sind. Ihr:label
-Feld finden Sie in der GNIP Console (nur für Enterprise-Kundinnen und -Kunden).
API-Referenz
Enterprise-Such-APIs
- 30-Day Search API - stellt Tweets bereit, die in den letzten 30 Tagen veröffentlicht wurden.
- Full-Archive Search API - stellt Tweets ab 2006 bereit, beginnend mit dem ersten im März 2006 veröffentlichten Tweet.
- Methoden für das Anfordern von Tweet-Daten und Zählungen
- Authentifizierung
- Paginierung
- API-Anfrageparameter und Beispielanfragen
- API-Antwort-JSON-Nutzlasten und Beispielantworten
- HTTP-Antwortcodes
Methoden
https://gnip-api.x.com/search/
.
Methode | Beschreibung |
---|---|
POST /search/:product/accounts/:account_name/:label | Ruft Tweets der letzten 30 Tage ab, die der angegebenen PowerTrack-Regel entsprechen. |
POST /search/:product/accounts/:account_name/:label/counts | Ruft die Anzahl der Tweets der letzten 30 Tage ab, die der angegebenen PowerTrack-Regel entsprechen. |
:product
gibt das Such-endpoint an, an das Sie Anfragen stellen, entweder30day
oderfullarchive
.:account_name
ist der (Groß-/Kleinschreibung beachtende) Name, der mit Ihrem Konto verknüpft ist, wie auf console.gnip.com angezeigt.:label
ist das (Groß-/Kleinschreibung beachtende) Label, das mit Ihrem Such-endpoint verknüpft ist, wie auf console.gnip.com angezeigt.
- Data-endpoint: https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod.json
- Counts-endpoint: https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod/counts.json
:product
, :account_name
und :label
. Um diese Beispiele zu verwenden, aktualisieren Sie die URLs mit Ihren Details.
Authentifizierung
Anforderungs-/Antwortverhalten
fromDate
und toDate
können Sie jeden von der API unterstützten Zeitraum anfordern. Die 30‑Day Search API stellt Tweets aus den jüngsten 31 Tagen bereit (auch wenn sie als „30‑Day“ API bezeichnet wird, sind 31 Tage verfügbar, damit Nutzer vollständige Monatsabfragen stellen können). Die Full‑Archive Search API liefert Tweets bis zurück zum allerersten Tweet (21. März 2006). Eine einzelne Antwort ist jedoch auf den jeweils kleineren Wert aus Ihrem angegebenen maxResults
oder 31 Tagen begrenzt. Wenn die übereinstimmenden data oder Ihr Zeitraum Ihre angegebenen maxResults
oder 31 Tage überschreiten, erhalten Sie ein next
‑Token, das Sie zur Paginierung über den restlichen von Ihnen angegebenen Zeitraum verwenden sollten.
Beispielsweise: Angenommen, Sie verwenden die Full‑Archive Search und möchten alle Tweets, die Ihrer Abfrage vom 1. Januar 2017 bis zum 30. Juni 2017 entsprechen. Sie geben diesen vollständigen Sechsmonatszeitraum in Ihrer Anfrage mit den Parametern fromDate
und toDate
an. Die Search API antwortet mit der ersten „Seite“ von Tweets, mit der Anzahl an Tweets entsprechend Ihrem Parameter maxResults
(standardmäßig 100). Unter der Annahme, dass es mehr Tweets gibt (was höchstwahrscheinlich der Fall ist), stellt die API außerdem ein next
‑Token bereit, das es Ihnen ermöglicht, eine Anfrage für die nächste „Seite“ von data zu stellen. Dieser Vorgang wird wiederholt, bis die API kein next
‑Token zurückgibt. Weitere Details finden Sie im nächsten Abschnitt.
Paginierung
Datenpaginierung
maxResults
ist standardmäßig auf 100 gesetzt und kann auf einen Wert zwischen 10 und 500 eingestellt werden. Wenn Ihre Abfrage mehr Tweets ergibt, als der in der Anfrage verwendete Parameter „maxResults“ zulässt, enthält die Antwort ein „next“-Token (als JSON-Attribut auf Root-Ebene). Dieses „next“-Token wird in der nachfolgenden Anfrage verwendet, um den nächsten Abschnitt der passenden Tweets für diese Abfrage abzurufen (d. h. die nächste „Seite“). „Next“-Tokens werden so lange bereitgestellt, bis Sie die letzte „Seite“ der Ergebnisse für diese Abfrage erreicht haben, bei der kein „next“-Token mehr bereitgestellt wird.
Um die nächste „Seite“ der Daten anzufordern, müssen Sie exakt dieselbe Abfrage wie die ursprüngliche stellen, einschließlich der Parameter query
, toDate
und fromDate
(falls verwendet), und zusätzlich einen „next“-Anfrageparameter einschließen, der auf den Wert aus der vorherigen Antwort gesetzt ist. Dies kann entweder mit einer GET- oder POST-Anfrage erfolgen. Der „next“-Parameter muss jedoch im Fall einer GET-Anfrage URL-codiert sein.
Sie können das „next“-Element aus Ihrer vorherigen Abfrage weiterhin übergeben, bis Sie alle Tweets aus dem von Ihrer Abfrage abgedeckten Zeitraum erhalten haben. Wenn Sie eine Antwort erhalten, die kein „next“-Element enthält, bedeutet dies, dass Sie die letzte Seite erreicht haben und keine weiteren Daten für die angegebene Abfrage und den angegebenen Zeitraum verfügbar sind.
Paginierung von Counts
Zusätzliche Hinweise
- Wenn Sie in einer Suchanfrage fromDate oder toDate verwenden, erhalten Sie nur Ergebnisse innerhalb Ihres Zeitbereichs. Wenn Sie die letzte Gruppe von Ergebnissen innerhalb Ihres Zeitbereichs erreichen, erhalten Sie kein „next“-Token.
- Das Element „next“ kann mit jedem maxResults-Wert zwischen 10 und 500 verwendet werden (Standardwert: 100). Der Wert von maxResults bestimmt, wie viele Tweets in jeder Antwort zurückgegeben werden, verhindert jedoch nicht, dass Sie letztlich alle Ergebnisse erhalten.
- Das Element „next“ läuft nicht ab. Mehrere Anfragen mit derselben „next“-query erhalten dieselben Ergebnisse, unabhängig davon, wann die Anfrage gestellt wird.
- Beim Paging durch Ergebnisse mit dem Parameter „next“ können an den Rändern der Abfrage Duplikate auftreten. Ihre App sollte dies tolerieren.
Data-endpoint
POST /search/:product/:label
Endpoint-Muster:
Parameter für Datenanfragen
Parameter | Beschreibung | Erforderlich | Beispielwert |
---|---|---|---|
query | Entspricht einer PowerTrack-Regel mit bis zu 2.048 Zeichen (ohne Begrenzung der Anzahl positiver und negativer Klauseln). Dieser Parameter muss ALLE Bestandteile der PowerTrack-Regel enthalten, einschließlich aller Operatoren; Teile der Regel sollten nicht auf andere Parameter der query verteilt werden. Hinweis: Nicht alle PowerTrack-Operatoren werden unterstützt. Unterstützte Operatoren sind HIER aufgeführt. | Ja | (snow OR cold OR blizzard) weather |
tag | Tags können verwendet werden, um Regeln und ihre zugehörigen data in unterschiedliche logische Gruppen zu gliedern. Wenn ein Regel-Tag angegeben wird, ist es im Attribut ‘matching_rules’ enthalten. Es wird empfohlen, regelspezifische UUIDs als Regel-Tags zu vergeben und die gewünschten Zuordnungen clientseitig zu verwalten. | Nein | 8HYG54ZGTU |
fromDate | Der älteste UTC-Zeitstempel (bis zurück zum 21.03.2006 bei Full-Archive-Suche), ab dem die Tweets bereitgestellt werden. Der Zeitstempel hat Minutenauflösung und ist inklusive (d. h. 12:00 schließt die Minute 00 ein). Angegeben: Nur fromDate ohne toDate-Parameter liefert Ergebnisse für die query rückwärts in der Zeit von now() bis zur fromDate. Nicht angegeben: Wenn kein fromDate angegeben ist, liefert die API alle Ergebnisse für 30 Tage vor now() bzw. vor toDate (falls angegeben). Wenn weder der Parameter fromDate noch toDate verwendet wird, liefert die API alle Ergebnisse der letzten 30 Tage, beginnend zum Zeitpunkt der Anfrage, rückwärts. | Nein | 201207220000 |
toDate | Der neueste UTC-Zeitstempel, bis zu dem die Tweets bereitgestellt werden. Der Zeitstempel hat Minutenauflösung und ist exklusiv (d. h. 11:59 schließt die 59. Minute der Stunde nicht ein). Angegeben: Nur toDate ohne fromDate-Parameter liefert die jüngsten 30 Tage an Daten vor der toDate. Nicht angegeben: Wenn kein toDate angegeben ist, liefert die API ab now() alle Ergebnisse für die query rückwärts in der Zeit bis zur fromDate. Wenn weder der Parameter fromDate noch toDate verwendet wird, liefert die API alle Ergebnisse für den gesamten 30‑Tage‑Index, beginnend zum Zeitpunkt der Anfrage, rückwärts. | Nein | 201208220000 |
maxResults | Die maximale Anzahl der Suchergebnisse, die von einer Anfrage zurückgegeben werden. Eine Zahl zwischen 10 und dem Systemlimit (derzeit 500). Standardmäßig liefert eine Antwort 100 Ergebnisse. | Nein | 500 |
next | Dieser Parameter wird verwendet, um die nächste „Seite“ der Ergebnisse abzurufen, wie HIER beschrieben. Der mit dem Parameter verwendete Wert wird direkt der von der API bereitgestellten Antwort entnommen und sollte nicht geändert werden. | Nein | NTcxODIyMDMyODMwMjU1MTA0 |
Zusätzliche Details
Verfügbarer Zeitraum | 30‑Tage: letzte 31 Tage Vollarchiv: 21. März 2006 – heute |
Abfrageformat | Entspricht einer PowerTrack-Regel mit bis zu 2.048 Zeichen (ohne Begrenzung der Anzahl positiver und negativer Klauseln). Hinweis: Nicht alle PowerTrack-Operatoren werden unterstützt. Eine Liste der unterstützten Operatoren finden Sie unter Available operators. |
Rate Limit | Partner unterliegen Rate Limits mit Granularität in Minuten und Sekunden. Das Rate Limit pro Minute variiert je nach Partner, wie in Ihrem Vertrag festgelegt. Diese Rate Limits pro Minute sind jedoch nicht dafür gedacht, in einem einzelnen Burst ausgeschöpft zu werden. Unabhängig von Ihrem Rate Limit pro Minute sind alle Partner auf maximal 20 Anfragen pro Sekunde beschränkt, aggregiert über alle Anfragen für data und/oder counts. |
Compliance | Alle über die Full-Archive Search API gelieferten data sind zum Zeitpunkt der Lieferung konform. |
Verfügbarkeit in Echtzeit | Daten sind innerhalb von 30 Sekunden nach der Generierung auf der X Plattform im Index verfügbar |
Beispiel-Requests und -Responses für data
Beispiel einer POST-Anfrage
- Anfrageparameter in einer POST-Anfrage werden über einen JSON-formatierten Body gesendet, wie unten gezeigt.
- Alle Bestandteile der PowerTrack-Regel, nach der gesucht wird (z. B. Schlüsselwörter, andere Operatoren wie bounding_box:), sollten im Parameter ‘query’ angegeben werden.
- Teile der Regel nicht als separate Parameter in der Query-URL auslagern.
data
-Antwort ein „next“-Token enthält, finden Sie unten eine nachfolgende Anfrage, die der ursprünglichen Anfrage entspricht, wobei der Parameter „next“ auf das bereitgestellte Token gesetzt ist:
Beispiel einer GET-Anfrage
- Anfrageparameter in einer GET-Anfrage werden mithilfe der standardmäßigen URL-Codierung in die URL codiert.
- Alle Bestandteile der PowerTrack-Regel, nach der abgefragt wird (z. B. Schlüsselwörter, andere Operatoren wie bounding_box:), sollten im Parameter ‘query’ angegeben werden.
- Teile der Regel nicht als separate Parameter in der Abfrage-URL auslagern.
Beispielantworten mit data
Counts-Endpoint
/search/:stream/counts
Endpoint-Muster:
/search/fullarchive/accounts/:account_name/:label/counts.json
Dieses endpoint liefert Zählwerte (Datenvolumina) für die angegebene Abfrage. Wenn kein Zeitraum angegeben ist, werden die Zeitparameter standardmäßig auf die letzten 30 Tage gesetzt. Die Datenvolumina werden als zeitgestempeltes Array entweder täglich, stündlich (Standard) oder minütlich zurückgegeben.
Hinweis: Diese Funktionalität kann auch mit einer GET-Anfrage statt mit einer POST-Anfrage genutzt werden, indem die unten beschriebenen Parameter in die URL kodiert werden.
Parameter für Counts-Anfragen
Parameters | Description | Required | Sample Value |
---|---|---|---|
query | Entspricht einer PowerTrack-Regel mit bis zu 2.048 Zeichen (ohne Begrenzung der Anzahl positiver und negativer Klauseln). Dieser Parameter sollte ALLE Teile der PowerTrack-Regel enthalten, einschließlich aller Operatoren. Teile der Regel sollten nicht in andere Parameter der query aufgeteilt werden. Hinweis: Nicht alle PowerTrack-Operatoren werden unterstützt. Eine Liste der unterstützten Operatoren finden Sie unter Available operators. | Yes | (snow OR cold OR blizzard) weather |
fromDate | Der älteste UTC-Zeitstempel (bis zurück zum 21.03.2006), ab dem Tweets bereitgestellt werden. Der Zeitstempel hat Minutenauflösung und ist inklusiv (d. h. 12:00 schließt die 00. Minute ein). Angegeben: Wird nur fromDate ohne toDate-Parameter verwendet, liefert die API Counts (Datenvolumen) für die Abfrage rückwärts von jetzt bis zum fromDate. Ist der fromDate älter als 31 Tage ab jetzt, erhalten Sie ein next-Token, um Ihre Anfrage zu paginieren. Nicht angegeben: Wenn kein fromDate angegeben ist, liefert die API Counts (Datenvolumen) für die 30 Tage vor jetzt oder bis zum toDate (falls angegeben). Wenn weder der Parameter fromDate noch toDate verwendet wird, liefert die API Counts (Datenvolumen) für die letzten 30 Tage, beginnend zum Zeitpunkt der Anfrage, rückwärts. | No | 201207220000 |
toDate | Der jüngste, aktuellste UTC-Zeitstempel, bis zu dem Tweets bereitgestellt werden. Der Zeitstempel hat Minutenauflösung und ist nicht inklusiv (d. h. 11:59 schließt die 59. Minute der Stunde nicht ein). Angegeben: Nur toDate ohne fromDate-Parameter liefert die aktuellsten Counts (Datenvolumen) für die 30 Tage vor dem toDate. Nicht angegeben: Wenn kein toDate angegeben ist, liefert die API Counts (Datenvolumen) für die Abfrage rückwärts bis zum fromDate. Ist der fromDate mehr als 31 Tage ab jetzt, erhalten Sie ein next-Token, um Ihre Anfrage zu paginieren. Wenn weder der Parameter fromDate noch toDate verwendet wird, liefert die API Counts (Datenvolumen) für die letzten 30 Tage, beginnend zum Zeitpunkt der Anfrage, rückwärts. | No | 201208220000 |
bucket | Die Zeiteinheit, für die Count-Daten bereitgestellt werden. Count-Daten können für jeden Tag, jede Stunde oder jede Minute im angeforderten Zeitraum zurückgegeben werden. Standardmäßig werden stündliche Counts bereitgestellt. Optionen: ‘day’, ‘hour’, ‘minute’ | No | minute |
next | Dieser Parameter wird verwendet, um die nächste „Seite“ von Ergebnissen abzurufen, wie HIER beschrieben. Der mit dem Parameter verwendete Wert wird direkt aus der von der API bereitgestellten Antwort übernommen und sollte nicht geändert werden. | No | NTcxODIyMDMyODMwMjU1MTA0 |
Zusätzliche Details
Verfügbarer Zeitraum | 30‑Tage: letzte 31 Tage Full‑Archive: 21. März 2006 – heute |
Abfrageformat | Entspricht einer PowerTrack‑Regel mit bis zu 2.048 Zeichen. Hinweis: Nicht alle PowerTrack‑Operatoren werden unterstützt. Eine Liste der unterstützten Operatoren finden Sie unter Available operators. |
Rate Limit | Partner unterliegen Rate Limits mit Granularität auf Minuten‑ und Sekundenebene. Das Rate Limit pro Minute variiert je nach Partner, wie in Ihrem Vertrag festgelegt. Diese Rate Limits pro Minute sind jedoch nicht dafür gedacht, in einem einzelnen Burst ausgeschöpft zu werden. Unabhängig von Ihrem Rate Limit pro Minute sind alle Partner auf maximal 20 Requests pro Sekunde beschränkt, aggregiert über alle Requests für data und/oder Counts. |
Zählgenauigkeit | Die über dieses endpoint gelieferten Counts spiegeln die Anzahl der aufgetretenen Tweets wider und berücksichtigen keine späteren Compliance‑Ereignisse (Löschungen, Scrub Geos). Einige gezählte Tweets sind möglicherweise nicht über das data endpoint verfügbar, da Nutzer Compliance‑Maßnahmen ergriffen haben. |
Beispiele für Zählanfragen und -antworten
Beispiel einer POST-Anfrage
- Anfrageparameter in einer POST-Anfrage werden über einen JSON-formatierten Body gesendet, wie unten gezeigt.
- Alle Bestandteile der PowerTrack-Regel, nach der gesucht wird (z. B. Schlüsselwörter, andere Operatoren wie bounding_box:), gehören in den Parameter ‘query’.
- Teilen Sie Bestandteile der Regel nicht als separate Parameter in der query-URL auf.
Beispiel-GET-Anfrage
- Anfrageparameter in einer GET-Anfrage werden mithilfe der standardmäßigen URL-Codierung in die URL eingebettet
- Alle Teile der PowerTrack-Regel, nach denen gesucht wird (z. B. Schlüsselwörter, andere Operatoren wie bounding_box:), sollten im Parameter ‘query’ angegeben werden
- Teile der Regel nicht als separate Parameter in der Query-URL aufsplitten
Beispielantworten für Counts
HTTP-Antwortcodes
Status | Text | Beschreibung |
---|---|---|
200 | OK | Die Anfrage war erfolgreich. Die JSON-Antwort sieht etwa wie folgt aus: |
400 | Bad Request | Diese Antwort tritt in der Regel auf, wenn die Anfrage ungültiges JSON enthält oder gar keinen JSON-Payload sendet. |
401 | Unauthorized | Die HTTP-Authentifizierung ist aufgrund ungültiger Anmeldedaten fehlgeschlagen. Melden Sie sich mit Ihren Anmeldedaten bei console.gnip.com an, um sicherzustellen, dass Sie sie in Ihrer Anfrage korrekt verwenden. |
404 | Not Found | Die Ressource wurde unter der URL, an die die Anfrage gesendet wurde, nicht gefunden, vermutlich weil eine falsche URL verwendet wurde. |
422 | Unprocessable Entity | Wird aufgrund ungültiger Parameter in der Abfrage zurückgegeben — z. B. ungültige PowerTrack-Regeln. |
429 | Unknown Code | Ihre App hat das Limit für Verbindungsanfragen überschritten. Die entsprechende JSON-Nachricht sieht in etwa wie folgt aus: |
500 | Internal Server Error | Es ist ein Fehler auf der Serverseite aufgetreten. Wiederholen Sie Ihre Anfrage mit exponentiellem Backoff. |
502 | Proxy Error | Es ist ein Fehler auf der Serverseite aufgetreten. Wiederholen Sie Ihre Anfrage mit exponentiellem Backoff. |
503 | Service Unavailable | Es ist ein Fehler auf der Serverseite aufgetreten. Wiederholen Sie Ihre Anfrage mit exponentiellem Backoff. |