Skip to Content

AI Overviews: szanse (getOpportunities)

POST/api/visibility_analysis/reports/ai_overviews/getOpportunities

Endpoint przestarzały. Działa, ale może nie być aktywnie utrzymywany i w przyszłości zostać wycofany lub zastąpiony. Planuj integrację z ostrożnością. Aktualne odpowiedniki raportów AI Overviews per projekt znajdziesz w module Monitoring (rank_tracker/reports/ai_overviews).

Zwraca listę fraz-szans w AI Overviews (AIO) — zgodnie z adnotacją w kodzie źródłowym są to słowa kluczowe, dla których istnieje blok AI Overview i analizowana domena rankuje organicznie, ale nie pojawia się w samym AIO jako cytowane źródło. To naturalni kandydaci do optymalizacji treści: domena ma już autorytet organiczny dla tych zapytań, a mimo to nie jest obecna w odpowiedziach generowanych przez AI.


Żądanie

POST /api/visibility_analysis/reports/ai_overviews/getOpportunities

Parametry przesyłasz w treści żądania jako JSON. Nagłówki: Authorization: Bearer <token> oraz Content-Type: application/json.

Struktura żądania

żądanie-podstawowe.jsonc
{ "domain": "zalando.pl", "fetch_mode": "topLevelDomain", "country_id": 1 }

Parametry

NameTypeDefault
domainstring

Wymagane. Domena, subdomena, katalog lub URL do analizy — interpretowane zgodnie z fetch_mode. Bez schematu/protokołu — np. zalando.pl.

fetch_mode"topLevelDomain" | "subdomain" | "catalog" | "url"

Wymagane. Sposób interpretacji domain. Uwaga: domain NIE jest prawidłową wartością — dla całej domeny użyj topLevelDomain.

  • topLevelDomain — cała domena (najczęstszy przypadek)
  • subdomain — pojedyncza subdomena
  • catalog — ścieżka/katalog
  • url — dokładny adres URL
country_idnumber

Identyfikator kraju (baza Google). Opcjonalne — walidator tej akcji nie wymusza pola; gdy pominięte, backend stosuje domyślny kraj (PL).

1
filtering{ filters: { key: string; match?: "gt" | "gte" | "lt" | "lte" | "eq"; value: string | number | (string | number)[]; complement?: boolean; }[]; conjunction?: "and" | "or"; }[]

Filtrowanie listy szans (AI Overviews). Dozwolone klucze m.in.: keywords, searches, organic_pos, organic_url, organic_vis, aio_positions_count, aio_domains_count, aio_length, aio_text oraz intentions.primary_intent / intentions.main_intent / intentions.action_type / intentions.journey_stage / intentions.content_timeliness. ⚠️ Uwaga: backend AIO działa na ClickHouse i — inaczej niż raporty Bazy słów — na nieznany key nie zwraca 418 (klucz bywa po cichu pomijany). Efektu filtra nie wsparcie potwierdzone w implementacji endpointu.

pagenumber

Numer strony wyników. Opcjonalne.

1
limitnumber

Maksymalna liczba wyników na stronę. Opcjonalne.

Dozwolone wartości fetch_mode to dokładnie ['topLevelDomain', 'subdomain', 'catalog', 'url'] — przekazanie domain to częsty błąd i nie przechodzi walidacji.

Domena bez danych AI Overviews zwraca 200 z pustą tablicą data — to nie błąd, tylko brak wyników dla tej domeny.

Odpowiedź

W przypadku powodzenia otrzymujesz success: true, data — tablicę fraz-szans AI Overviews — oraz obiekt pagination z informacjami o stronicowaniu. Gdy dla danej domeny brak danych AIO, data jest pustą tablicą ([]), a liczniki paginacji wskazują zero wyników. Tak właśnie odpowiedziała domena testowa zalando.pl200 z pustą tablicą.

przykładowa-odpowiedź (skrócona)
{ "success": true, "data": [] }

Dla domen, które nie mają danych AI Overviews, data jest pustą tablicą — to nie błąd, tylko brak wyników dla tej domeny. Poniżej opisana jest koperta odpowiedzi.

Struktura odpowiedzi

NameTypeDefault
successboolean

Flaga przetworzenia żądania. Potwierdzone (true) w odpowiedzi 200.

dataunknown[]

Tablica fraz-szans: dla frazy istnieje AI Overview i domena rankuje organicznie, ale nie jest obecna w AIO. Pusta tablica ([]), gdy domena nie ma danych AIO —

pagination{ page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number; }

Informacje o stronicowaniu wyników. Potwierdzone w odpowiedzi 200.

Błędy

NameTypeDefault
successfalse
data{ error: { type: string; message: string; params?: Record<string, Record<string, string>>; }; }

Błędy walidacji (np. brak wymaganego domain lub fetch_mode, albo nieprawidłowa wartość fetch_mode) zwracane są ze statusem 418 i kopertą invalid_data z mapą params wskazującą pole i naruszoną regułę.

Powiązane akcje

Wszystkie poniższe akcje są przestarzałe:

  • getStatistics — zbiorcze statystyki AI Overviews dla domeny
  • getKeywords — słowa kluczowe wywołujące AI Overviews
  • getDistribution — rozkład obecności domeny w AI Overviews
  • getCompetitors — konkurenci domeny w AI Overviews
  • getKeywordResults — wyniki AI Overviews dla pojedynczej frazy
  • getKeywordsIntents — agregacja fraz AIO według intencji
  • getOpportunities — frazy-szanse: domena rankuje organicznie, ale nie jest w AIO (ta strona)

Aktualne odpowiedniki raportów AI Overviews per projekt znajdziesz w module Monitoring (rank_tracker/reports/ai_overviews).

Ostatnia aktualizacja: