--- title: "Szczegóły frazy: frazy powiązane (`getRelatedKeywords`)" source: https://docs.senuto.com/modules/keywords_analysis/ka-keyword-details-getRelatedKeywords api: POST /api/keywords_analysis/reports/keyword_details/getRelatedKeywords --- # Szczegóły frazy: frazy powiązane (`getRelatedKeywords`) **`POST /api/keywords_analysis/reports/keyword_details/getRelatedKeywords`** Zwraca **frazy powiązane** z podaną — takie, które dzielą z nią adresy URL w TOP wyników. Siłę powiązania opisuje `common_factor`: liczba wspólnych URL-i. Raport odpytujesz **wprost frazą i krajem** — bez wcześniejszego tworzenia zadania w Analizie SERP. Jedno żądanie zastępuje ścieżkę „utwórz zadanie → sprawdź status → pobierz wynik" i nie zużywa limitu zadań. Dla frazy `hamak` w Polsce raport zwrócił **461** wierszy. --- ## Żądanie `POST` `/api/keywords_analysis/reports/keyword_details/getRelatedKeywords` Nagłówki: `Authorization: Bearer `, `Content-Type: application/json`. Parametry przekazuje się w **treści żądania**. **Żądanie** ```jsonc filename="żądanie.jsonc" { "keyword": "hamak", "country_id": 1, "limit": 10 } ``` **cURL** ```bash curl --location --request POST 'https://api.senuto.com/api/keywords_analysis/reports/keyword_details/getRelatedKeywords' \ --header 'Authorization: Bearer $YOUR_TOKEN_HERE' \ --header 'Content-Type: application/json' \ --data '{"keyword":"hamak","country_id":1,"limit":10}' ``` ### Parametry ```ts type KeywordDetailsGetRelatedKeywordsRequest = { /** **Wymagane**. Fraza kluczowa, dla której pobierany jest raport. Pusty string zwraca `418`. */ keyword: string; /** * **Wymagane**. Identyfikator kraju; musi istnieć w słowniku krajów — nieznana wartość zwraca * `418` z komunikatem `Unknown country_id`. Uwaga: `200` jest tu mapowane na `1`. * @default 1 */ country_id: number; /** * **Ignorowane przez tę akcję.** Sprawdzone na produkcji: poprawny filtr nie zmienia liczby * wyników, a nieznany `key` zwraca `200` zamiast `418`. Filtruj po stronie klienta. */ filtering?: Array>; /** Numer strony wyników. */ page?: number; /** Liczba wierszy na stronę. */ limit?: number; } export default KeywordDetailsGetRelatedKeywordsRequest ``` > **Ostrzeżenie:** > Zarówno **`keyword`**, jak i **`country_id`** są **wymagane**. Nieznane `country_id` zwraca `418` z `Unknown country_id`, a wartość **`200` jest mapowana na `1`** — dla Polski trafisz więc do bazy 1.0, nie 2.0. > **Ostrzeżenie:** > Parametr **`filtering` nie działa na tej akcji.** Sprawdzone na produkcji: poprawny filtr nie zmienia liczby wyników, a nieznany klucz zwraca `200` zamiast `418`. Zawężaj wyniki po swojej stronie. > **Ostrzeżenie:** > Ta akcja **nie zwraca** tablicy `trends` — trend jest tylko w polach `trend_1` … `trend_12` oraz w `statistics.trends.history`. Cechy SERP nazywają się tu `params`, a nie `snippets` jak w pozostałych raportach rodziny. ## Odpowiedź Przykład poniżej to **rzeczywista odpowiedź produkcyjna** dla frazy `hamak` (`country_id: 1`), skrócona do jednego wiersza. ```json filename="przykładowa-odpowiedź" { "success": true, "data": [ { "id": "52043408", "keyword": "hamak", "searches": 22200, "common_factor": 18, "parent_keyword": "hamak", "cpc": 0.91, "cpc_min": 0.23, "cpc_max": 1.6, "words_count": 1, "trend_1": 40500, "trend_2": 27100, "trend_3": 12100, "trend_4": 6600, "trend_5": 8100, "trend_6": 8100, "trend_7": 9900, "trend_8": 9900, "trend_9": 22200, "trend_10": 27100, "trend_11": 49500, "trend_12": 40500, "params": [ "image_thumbs", "map", "pla", "top_bar", "video_thumbs" ], "statistics": { "snippets": { "current": [ "image_thumbs", "map", "pla", "top_bar", "video_thumbs" ] }, "searches": { "current": 22200 }, "cpc": { "current": 0.91 }, "cpc_min": { "current": 0.23 }, "cpc_max": { "current": 1.6 }, "trends": { "history": [ 40500, 27100, 12100, 6600, 8100, 8100, 9900, 9900, 22200, 27100, 49500, 40500 ] } } } ], "pagination": { "page_count": 231, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 461, "limit": 2 } } ``` ### Struktura odpowiedzi ```ts type KeywordDetailsGetRelatedKeywordsResponse = { success: boolean; data: Array<{ /** Identyfikator frazy (liczba w postaci stringa). */ id: string; keyword: string; /** Fraza źródłowa, dla której szukamy powiązań. */ parent_keyword: string; searches: number; /** Liczba wspólnych adresów URL w TOP z frazą źródłową — siła powiązania. */ common_factor: number; cpc: number; cpc_min: number | null; cpc_max: number | null; words_count: number; /** Cechy SERP frazy (tu pod nazwą `params`, nie `snippets`). */ params: string[]; /** Miesięczne wartości trendu, pola `trend_1` … `trend_12`. Duplikują tablicę `trends`. */ trend_1: number; trend_2: number; trend_3: number; trend_4: number; trend_5: number; trend_6: number; trend_7: number; trend_8: number; trend_9: number; trend_10: number; trend_11: number; trend_12: number; /** * Te same metryki co pola najwyższego poziomu, w formie zagnieżdżonej. Nic nowego nie wnosi * poza jednym: `statistics.snippets.current` jest listą **bez duplikatów**, podczas gdy * `params` może powtarzać te same wartości. */ statistics: { snippets: { current: string[] }; searches: { current: number }; cpc: { current: number }; cpc_min: { current: number } | []; cpc_max: { current: number } | []; trends: { history: number[] }; }; }>; /** Paginacja liczona z całego zbioru — `count` to liczba wszystkich wierszy. */ pagination: { page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number; }; } export default KeywordDetailsGetRelatedKeywordsResponse ``` ## Błędy Błędy tego endpointu przychodzą we [wspólnej kopercie ze statusem `418`](/types/errors). ## Powiązane akcje Wszystkie poniższe raporty przyjmują tę samą parę `keyword` + `country_id`: - [`getStatistics`](/modules/keywords_analysis/ka-keyword-details-getStatistics) — zbiorcze statystyki frazy. - [`getQuestions`](/modules/keywords_analysis/ka-keyword-details-getQuestions) — pytania o frazę. - [`getKeywordsPropositions`](/modules/keywords_analysis/ka-keyword-details-getKeywordsPropositions) — propozycje fraz. - [`getTopicLeaders`](/modules/keywords_analysis/ka-keyword-details-getTopicLeaders) — liderzy tematu. - [`getGroups`](/modules/keywords_analysis/ka-keyword-details-getGroups) — grupy frazy. - [`getCompetitorsNumber`](/modules/keywords_analysis/ka-keyword-details-getCompetitorsNumber) — liczba konkurentów.