Felo X Wyszukiwanie postów
Dostawca: Felo · Płatność z salda platformy
Wybierz operację dla danych, których potrzebujesz. Wszystkie pięć punktów końcowych używa POST i zwraca JSON w korzeniu, bez wspólnego opakowania data.
Wszystkie przykłady używają FELO_API_KEY z przeglądu. Wywołania korzystają z salda platformy, a nie z kredytów Felo Pro. Przykłady odpowiedzi mają charakter poglądowy; rzeczywista treść i opcjonalne pola mogą się różnić.
4. Wyszukaj posty
POST /api/v1/data/x/tweet/search
| Pole | Typ | Wymagane | Znaczenie |
|---|---|---|---|
query | string | Tak | Tekst wyszukiwania, 1–1 000 znaków |
query_type | string | Nie | Latest (domyślnie) lub Top |
limit | integer | Nie | 1–1 000; bieżąca implementacja używa co najmniej 20, z domyślną wartością 20 |
cursor | string | Nie | Kursor stronicowania, do 4 000 znaków |
since_time | integer or string | Nie | Czas początkowy; użyj sekund Unix dla jednoznacznej wartości liczbowej |
until_time | integer or string | Nie | Czas końcowy; użyj sekund Unix, nie milisekund |
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/tweet/search" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"retrieval augmented generation","query_type":"Latest","limit":20}'Odpowiedź zawiera tweets, total, has_next i next_cursor. Obiekty postów zawierają id, content, author, created_at i metrics; odpowiedzi oraz cytowane/przekazane dalej posty mogą być zagnieżdżone. Traktuj identyfikatory jako ciągi znaków.
Limity liczby wyników
limit jest celem, a nie gwarancją. Bieżąca implementacja używa celu co najmniej 20: cel 20 odczytuje jedną nadrzędną stronę; większe cele automatycznie pobierają do 50 stron. Upływ czasu jest sprawdzany przed każdą stroną i nie są pobierane dalsze strony po przekroczeniu 60 sekund. Trwające żądanie do źródła nadrzędnego nadal może zająć czas, więc nie jest to ogólny limit czasu HTTP.
Zbieranie zatrzymuje się również, gdy osiągnięto cel, nadrzędne źródło nie ma następnej strony, strona jest pusta lub kursor jest brakujący. Zwrócenie mniejszej liczby niż limit postów nie oznacza, że żądanie się nie powiodło lub że każdy pasujący post został pobrany. Sprawdź has_next i next_cursor przed kontynuacją.
{
"tweets": [{
"id":"example-post-id",
"content":"Example post content",
"author":{"user_id":"example-user-id","username":"example","display_name":"Example"},
"created_at":"2026-11-01T00:00:00Z",
"metrics":{},
"replies":[]
}],
"total":1,
"has_next":false,
"next_cursor":null
}Stronicowanie i kontrola kosztów
total zlicza odpowiednią tablicę w bieżącej odpowiedzi: posty najwyższego poziomu dla zapytań o posty albo odpowiedzi w każdym wpisie wyniku dla zapytań o odpowiedzi. Nie jest to globalna liczba dopasowań, pełna liczba odpowiedzi posta ani końcowa liczba rozliczeniowa.
- Wyślij pierwsze żądanie bez
cursor. - Odczytaj
has_nextinext_cursorz odpowiedzi. W przypadku odpowiedzi odczytuj je w każdym wpisie wyniku. - Jeśli istnieje kolejna strona, a kursor nie jest pusty, wyślij go bez zmian z tym samym zapytaniem. W przypadku partii odpowiedzi kontynuuj każdy post osobno.
- Zatrzymaj się, gdy nie ma następnej strony, gdy kursor się powtarza lub gdy osiągnięto własny limit strony albo wydatków.
Metadane stronicowania odzwierciedlają ostatnią odpowiedź nadrzędną; zwrócony zbiór może zostać obcięty przez limit wyników. Nawet has_next=false nie gwarantuje, że cała historia X lub wszystkie odpowiedzi zostały pobrane. Wyświetlaj rzeczywistą liczbę zwróconych elementów zamiast oznaczać ograniczony zbiór jako wszystkie dostępne dane.
Każda udana strona może generować opłatę. Te pięć operacji jest rozliczanych według zwróconych wyników, a nie według stałej opłaty za żądanie. Zagnieżdżone odpowiedzi i inne zwrócone rekordy mogą wpływać na liczbę rozliczanych wyników; nie szacuj kosztu wyłącznie na podstawie długości tablicy najwyższego poziomu. Sprawdź bieżące ceny i użycie w konsoli. Pełne pola obiektów znajdują się w schemacie OpenAPI.