--- title: "AI Overviews: słowa kluczowe (`getKeywords`)" source: https://docs.senuto.com/modules/rank_tracker/rt-ai-overviews-getKeywords api: POST /api/rank_tracker/reports/ai_overviews/getKeywords --- # AI Overviews: słowa kluczowe (`getKeywords`) **`POST /api/rank_tracker/reports/ai_overviews/getKeywords`** Zwraca stronicowaną listę fraz projektu Rank Tracker, które wyzwalają blok **AI Overviews** w wynikach Google — zarówno tych, w których monitorowana domena jest obecna (cytowana), jak i tych bez jej obecności. Ten raport — w odróżnieniu od AI Overviews w Analizie widoczności — **nie jest przestarzały**. --- ## Żądanie `POST` `/api/rank_tracker/reports/ai_overviews/getKeywords` Nagłówki: `Authorization: Bearer `, `Content-Type: application/json`. ### Struktura żądania **Podstawowy** ```jsonc filename="żądanie-podstawowe.jsonc" { "project_id": null } ``` **Rozszerzony** ```jsonc filename="żądanie-rozszerzone.jsonc" { "project_id": null, "limit": 2, "page": 1 } ``` **cURL** ```bash curl --location --request POST 'https://api.senuto.com/api/rank_tracker/reports/ai_overviews/getKeywords' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer $YOUR_TOKEN_HERE' \ --data-raw '{ "project_id": null, "limit": 2 }' ``` ### Parametry ```ts type GetAiOverviewsKeywordsRequest = { /** * **Wymagane**. ID projektu Rank Tracker (kontrola dostępu `ProjectAccessRules`). * Musi należeć do użytkownika — cudzy lub nieistniejący `project_id` zwraca `418` z komunikatem `Unauthorized access`. * Realny `project_id` pobierzesz z `POST /api/rank_tracker/management/projects/getMyActiveProjects`. */ project_id: number; /** * Rozmiar strony paginacji. Odbija się w `pagination.limit`. * @default 10 */ limit?: number; /** * Numer strony paginacji. * @default 1 */ page?: number; } export default GetAiOverviewsKeywordsRequest ``` > **Informacja:** > Endpoint przyjmuje także `filtering` i `order` — oba korzystają z rejestrów filtrów i sortowania dla raportów AI Overviews. Nieznany klucz filtra zwraca `418` z `invalid_filtering`. > **Ostrzeżenie:** > Projekt, który nie ma danych AI Overviews, zwraca `200` z **pustą tablicą** `data` — to nie błąd, tylko brak wyników dla tego projektu. Poniżej opisana jest koperta odpowiedzi. ## Odpowiedź Po pomyślnym żądaniu otrzymujesz standardową kopertę: `success`, `data` (tablica fraz wyzwalających AIO) oraz `pagination`. Dla projektu bez danych AIO tablica `data` jest pusta, a `pagination.count` wynosi `0`. **Skrócona** ```json filename="przykładowa-odpowiedź (skrócona)" { "success": true, "data": [], "pagination": { "page_count": 0, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 0, "limit": 2 } } ``` **Pełna** ```json filename="przykładowa-odpowiedź (200)" { "success": true, "data": [], "pagination": { "page_count": 0, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 0, "limit": 2 } } ``` ### Struktura odpowiedzi ```ts type GetAiOverviewsKeywordsResponse = { /** `true` przy powodzeniu; przy błędzie `false` i koperta z `error` */ success: boolean; /** * Frazy projektu wyzwalające AI Overviews. * Kształt wiersza zależy od danych AI Overviews projektu. */ data: unknown[]; /** Metadane paginacji */ pagination: { page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; /** Wartość przekazanego `limit` */ limit: number; }; } export default GetAiOverviewsKeywordsResponse ``` ## Błędy ```ts type ErrorResponse = { success: false; data: { error: { /** np. invalid_data, unknown */ type: string; message: string; /** pole -> reguła -> komunikat (dla invalid_data) */ params?: Record>; }; }; } export default ErrorResponse ``` > **Błąd:** > **`418`** jest zwracane przy błędach walidacji i braku dostępu: brak `project_id` → `invalid_data`, a cudzy lub nieistniejący `project_id` → `Unauthorized access` (`ProjectAccessRules`), nie `404`. ## Powiązane akcje - `getStatistics` — zbiorcze statystyki AI Overviews projektu - `getKeywords` — frazy wyzwalające AI Overviews (ta strona) - `getDistribution` — rozkład obecności w AI Overviews - `getCompetitors` — konkurenci cytowani w AI Overviews - `getOpportunities` — frazy z AIO, w których domena rankuje organicznie, ale nie jest cytowana - `getAioDetails` — pełny surowy blok AI Overview danej frazy (`project_id` + `keyword_id`) - `getAioSources` — lista źródeł cytowanych w bloku AIO danej frazy (`project_id` + `keyword_id`)