# Felo X Beitragsantworten

POST /api/v1/data/x/tweet/replies

Wähle die Operation für die Daten, die du benötigst. Alle fünf Endpunkte verwenden POST und geben JSON an der Root zurück, ohne einen gemeinsamen `data`-Wrapper.

Alle Beispiele verwenden `FELO_API_KEY` aus der [Übersicht](https://openapi.felo.ai/de/docs/data-api/guides/felo-overview.md). Aufrufe verwenden **Plattform-Guthaben**, nicht Felo-Pro-Guthaben. Antwortbeispiele sind illustrativ; Live-Inhalte und optionale Felder variieren.





## 5. Antworten lesen

`POST /api/v1/data/x/tweet/replies`

| Feld | Typ | Erforderlich | Bedeutung |
|---|---|---|---|
| `tweet_ids` | string or string array | Ja | Eine Beitrags-ID oder eine Batch von bis zu 20 IDs |
| `cursor` | string | Nein | Bis zu 4.000 Zeichen; zusammen mit einer Beitrags-ID verwenden |
| `since_time` | integer | Nein | Startzeit in Unix-Sekunden |
| `until_time` | integer | Nein | Endzeit in Unix-Sekunden |

Ersetze den Platzhalter durch eine echte Beitrags-ID:

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/tweet/replies" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tweet_ids":["POST_ID"]}'
```

Im Gegensatz zur Timeline- und Beitragssuche werden Antworten unter `results` gruppiert. Jeder Eintrag hat seinen eigenen Paginierungsstatus:

```json
{"results":[{"tweet_id":"POST_ID","replies":[],"total":0,"has_next":false,"next_cursor":null}]}
```

### Antwortlimits pro Anfrage

Jede Anfrage liest eine Upstream-Antwortseite pro `tweet_id` und behält höchstens 100 Antworten; sie ruft nicht automatisch jede Antwortseite ab. In einer Batch von bis zu 20 IDs gilt die 100-Antworten-Grenze getrennt für jeden `results`-Eintrag. Tatsächliche Anzahlen können niedriger sein.

Das `total` jedes Eintrags ist die Anzahl der in diesem Eintrag zurückgegebenen Antworten, nicht die vollständige Antwortanzahl des Beitrags. Um fortzufahren, verwende den `next_cursor` dieses Eintrags und sende in der nächsten Anfrage nur dessen einzelne Beitrags-ID. Es gibt keinen `limit`-Parameter, um die Obergrenze pro Anfrage zu erhöhen.



## Paginierung und Kostenkontrolle

`total` zählt das entsprechende Array in der aktuellen Antwort: Top-Level-Beiträge für Beitragsanfragen oder Antworten innerhalb jedes Ergebniseintrags für Antwortanfragen. Es ist keine globale Trefferanzahl, keine vollständige Antwortanzahl eines Beitrags und nicht die endgültig abrechenbare Anzahl.

1. Sende die erste Anfrage ohne `cursor`.
2. Lies `has_next` und `next_cursor` aus der Antwort. Bei Antworten lies sie in jedem Ergebniseintrag.
3. Wenn eine weitere Seite existiert und der Cursor nicht leer ist, sende ihn unverändert mit derselben Anfrage. Für eine Antworten-Batch fahre für jeden Beitrag separat fort.
4. Stoppe, wenn es keine nächste Seite gibt, wenn sich ein Cursor wiederholt oder wenn deine eigene Seiten- oder Ausgabenobergrenze erreicht ist.

Die Paginierungsmetadaten spiegeln die letzte Upstream-Antwort wider; die zurückgegebene Sammlung kann bei einer Ergebnisobergrenze abgeschnitten sein. Selbst `has_next=false` ist keine Garantie dafür, dass die gesamte X-Historie oder alle Antworten abgerufen wurden. Zeige die tatsächlich zurückgegebene Anzahl an, statt einen begrenzten Ergebnissatz als alle verfügbaren Daten zu kennzeichnen.

Jede erfolgreiche Seite kann eine Gebühr verursachen. Diese fünf Operationen werden nach zurückgegebenen Ergebnissen und nicht mit einer pauschalen Anfragegebühr abgerechnet. Verschachtelte Antworten und andere zurückgegebene Datensätze können die abgerechnete Anzahl beeinflussen; schätze die Kosten nicht allein anhand der Länge des Top-Level-Arrays. Prüfe die [aktuellen Preise](https://openapi.felo.ai/api/v1/data/prices) und die Nutzung in der Konsole. Vollständige Objektfelder stehen im [OpenAPI-Schema](https://openapi.felo.ai/api/v1/data/openapi.json).
