--- title: "Porównanie SERP (`getData`)" source: https://docs.senuto.com/modules/rank_tracker/rt-compare-serp-getData api: POST /api/rank_tracker/tools/compare_serp/getData --- # Porównanie SERP (`getData`) **`POST /api/rank_tracker/tools/compare_serp/getData`** Przykładowe żądanie: ```json { "project_id": null, "keyword": "generator słów kluczowych", "position": 10, "compareDates": [ { "date": "2026-06-20" }, { "date": "2026-06-29" } ] } ``` Przykładowa odpowiedź: ```json { "success": true, "data": [ { "position": 1, "2026-06-20": { "position": 1, "domain": "www.seoptimer.com", "url": "https://www.seoptimer.com/pl/keyword-generator" }, "2026-06-29": { "position": 1, "domain": "pl.semrush.com", "url": "https://pl.semrush.com/analytics/keywordmagic/", "diff": -1 } } ], "pagination": { "page_count": 1, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 10, "limit": 10 } } ``` Porównuje **wyniki wyszukiwania (SERP)** dla pojedynczej frazy między wybranymi dniami — dla każdej pozycji TOP (do `position`) pokazuje, jaka domena/URL ją zajmowała w danym dniu oraz zmianę (`diff`). Pozwala zobaczyć, jak zmienił się układ SERP wokół monitorowanej frazy. | Pozycja | Domena 20.06 | URL 20.06 | Domena 29.06 | Różnica | | --- | --- | --- | --- | --- | | 1 | www.seoptimer.com | https://www.seoptimer.com/pl/keyword-generator | pl.semrush.com | -1 | _projekt Rank Trackera, keyword „generator słów kluczowych”, dni 2026-06-20 i 2026-06-29. Kolumny dat pochodzą z compareDates._ > **Ostrzeżenie:** > To **narzędzie** (`tools/*`) — zużywa jednostkę `tools_daily_limit`. `keyword` musi istnieć (dopasowanie po `Keywords.name`) — inaczej `418` (`invalid_data`). --- ## Żądanie `POST` `/api/rank_tracker/tools/compare_serp/getData` ```jsonc filename="żądanie.jsonc" { "project_id": null, "keyword": "generator słów kluczowych", "position": 10, "compareDates": [{ "date": "2026-06-20" }, { "date": "2026-06-29" }] } ``` ### Parametry ```ts type RtCompareSerpRequest = { /** **Wymagane**. ID projektu Monitoringu. Realny `project_id` pobierzesz z `POST /api/rank_tracker/management/projects/getMyActiveProjects`. */ project_id: number; /** **Wymagane**. Fraza (dopasowanie po `Keywords.name`). */ keyword: string; /** Maksymalna pozycja SERP do porównania (zakres 1..position). @default 10 */ position?: number; /** **Dni do porównania** — tablica `{ date: "RRRR-MM-DD" }`. */ compareDates: Array<{ date: string }>; } export default RtCompareSerpRequest ``` ## Odpowiedź Każdy wiersz to slot pozycji SERP; pod kluczem każdej daty `{ position, domain, url, diff }`. ```ts type RtCompareSerpResponse = { success: boolean; data: Array<{ /** Slot pozycji SERP */ position: number; /** Klucz = data z compareDates */ [date: string]: { position: number; domain: string; url: string; diff?: number } | number; }>; pagination: { page_count: number; current_page: number; has_next_page: boolean; has_prev_page: boolean; count: number; limit: number }; } export default RtCompareSerpResponse ``` ## Błędy Błędy tego endpointu przychodzą we [wspólnej kopercie ze statusem `418`](/types/errors). ## Powiązane akcje - `tools/compare_days/getData` — porównanie pozycji fraz domeny między dniami.