### Full JSON response example (200) Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-sections-getSubdomains.md Complete example response for the 'get subdomains' action, showing all statistics fields including 'previous', 'diff', 'percent', and 'history'. ```json { "success": true, "data": [ { "domain": "zalando.pl", "keywords_count": 114658, "visibility_percent": 100, "statistics": { "visibility": { "current": 5434165.18, "previous": 5380498.4, "diff": 53666.78, "percent": 0.01, "history": null }, "top3": { "current": 46869, "previous": 46517, "diff": 352, "percent": 0.0076, "history": null }, "top10": { "current": 114658, "previous": 114147, "diff": 511, "percent": 0.0045, "history": null }, "top50": { "current": 288521, "previous": 288895, "diff": -374, "percent": -0.0013, "history": null }, "visibility_coverage": { "current": 100, "previous": 100, "diff": 0, "percent": 0, "history": null } } } ], "pagination": { "page_count": 1, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 1, "limit": 2 } } ``` -------------------------------- ### Example JSON response for Keywords Get Group Keywords Source: https://docs.senuto.com/_md/modules/keywords_analysis/ka-keywords-getGroupKeywords.md A shortened production response example showing the structure of the returned data, including keyword metrics, trends, and pagination. ```json { "success": true, "data": [ { "added": "2021-10-19", "keyword": "nike airmax", "searches": 135000, "cpc": 0.67, "cpc_min": 0.23, "cpc_max": 1.1, "words_count": 2, "kid": "c9db40a54eacd9ab571c31b82d0b1ac5", "variations": [], "variations_number": 0, "snippets": [ "image_thumbs", "pla", "top_bar", "image_thumbs", "pla", "top_bar", "image_thumbs", "pla", "top_bar" ], "trends": [ 90500, 110000, 201000, 165000, 135000, 110000, 110000, 135000, 135000, 110000, 90500, 74000 ] } ], "pagination": { "page_count": 2982, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 8944, "limit": 3 } } ``` -------------------------------- ### Short JSON response example Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-keywords-getProjectsStatus.md A minimal example of the response, showing one project with a single status. ```json { "success": true, "data": [ { "id": "87944", "statuses": [{ "status": "complete", "count": "94" }] } ] } ``` -------------------------------- ### Shortened JSON response example Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-sections-getSubdomains.md Example response for the 'get subdomains' action, shortened for brevity. Shows the structure with 'success', 'data', and 'pagination' fields. ```json { "success": true, "data": [ { "domain": "zalando.pl", "keywords_count": 114658, "visibility_percent": 100, "statistics": { "visibility": { "current": 5434165.18 }, "visibility_coverage": { "current": 100 } /* … */ } } ], "pagination": { "page_count": 1, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 1, "limit": 2 } } ``` -------------------------------- ### Full example response (JSON) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-keywords-getProjectKeywords.md Example response with two keywords and complete pagination metadata including has_next_page and has_prev_page. ```json { "success": true, "data": [ { "id": 690709, "keyword": "jak wychowac szczeniaka" }, { "id": 704922, "keyword": "karma dla szczeniaka maltanczyka" } ], "pagination": { "page_count": 47, "current_page": 2, "has_next_page": true, "has_prev_page": true, "count": 94, "limit": 2 } } ``` -------------------------------- ### Example response (full) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-ai-overviews-getAioDetails.md Example JSON response for a successful request, showing the full form with multiple content links. ```json { "success": true, "data": { "text": "• Zvíře: Dlouhosrstý tur žijící ve velehorách Střední Asie (více na Wikipedii). • Zájmeno / příslovce: Táže se na způsob nebo míru (např. jak se máš?). • OP JAK: Zkratka pro Operační program Jan Amos Komenský, který v Česku podporuje vzdělávání a výzkum (oficiální stránky na OPJAK.cz).", "status": "success", "rank_absolute": 1, "sources": [], "content_links": [ { "url": "https://cs.wikipedia.org/wiki/Jak_divok%C3%BD", "text": "Wikipedii", "rank_inner": 1 }, { "url": "https://opjak.cz/", "text": "OPJAK.cz", "rank_inner": 2 } ] } } ``` -------------------------------- ### Full response example (200) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-ai-overviews-getCompetitors.md Complete response example with all nine aio_* statistics fields for each competitor and pagination details. Use this to understand the full structure of the getCompetitors response. ```json { "success": true, "data": [ { "competitor_id": "55578", "competitor_domain": "fajnyzwierzak.pl", "shared_keywords": "0", "unique_keywords": "0", "unique_for_competitor": "0", "statistics": { "aio_visibility": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_count": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_avg_pos": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_citations": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_keywords_total": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_sov": { "competitorsAvgSov": 0, "competitorsMaxSov": 0, "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_potential": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_utilized_potential": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_unique_keywords": { "current": 0, "previous": 0, "diff": 0, "percent": 0 } } }, { "competitor_id": "4741", "competitor_domain": "psy.pl", "shared_keywords": "0", "unique_keywords": "0", "unique_for_competitor": "0", "statistics": { "aio_visibility": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_count": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_avg_pos": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_citations": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_keywords_total": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_sov": { "competitorsAvgSov": 0, "competitorsMaxSov": 0, "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_potential": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_utilized_potential": { "current": 0, "previous": 0, "diff": 0, "percent": 0 }, "aio_unique_keywords": { "current": 0, "previous": 0, "diff": 0, "percent": 0 } } } ], "pagination": { "page_count": 2, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 3, "limit": 2 } } ``` -------------------------------- ### Shortened JSON response example Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-sections-getUrls.md Example response for the Sections Get URLs API, showing a shortened version with two URL entries and pagination metadata. For zalando.pl, the API returned 72,773 URLs in total. ```json { "success": true, "data": [ { "url": "zalando.pl/", "keywords_count": 226, "statistics": { "visibility": { "current": 963824.36 } /* … */ } }, { "url": "zalando.pl/bershka/", "keywords_count": 70, "statistics": { "visibility": { "current": 311746.17 } /* … */ } } ], "pagination": { "page_count": 36387, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 72773, "limit": 2 } } ``` -------------------------------- ### Example response (full) - JSON Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-history-keywords-getLosses.md A full example response showing all fields for a keyword row, including statistics with position history, visibility, URL, CPC, searches, trends, difficulty, and snippets. The pagination object is also included. ```json { "success": true, "data": [ { "keyword_id": 14897112, "kid": "c9dba6c1c694aa2bd10bceab8716e8d7", "domain": "zalando.pl", "keyword": "ochnik", "words_count": 1, "statistics": { "position": { "current": 5, "previous": 2, "diff": 3, "changes": { "wins": 0, "losses": 1, "no_changes": 0 }, "history": { "2026-05-17": { "position": 2, "has_serp": true }, "2026-06-21": { "position": 5, "has_serp": true } } }, "visibility": { "current": 22635, "previous": 78840, "diff": -56205, "percent": -0.7129, "history": null }, "url": { "current": "zalando.pl/ochnik/", "previous": "zalando.pl/ochnik/", "is_change": 0 }, "cpc": { "current": 0.42 }, "searches": { "current": 450000 }, "trends": { "history": [368000, 301000, 301000, 368000, 450000, 673000, 823000, 823000, 673000, 550000, 450000, 368000], "peak": null }, "difficulty": { "current": 60 }, "snippets": { "current": ["map", "people_also_ask", "wiki_right"] } } }, { "keyword_id": 11672176, "kid": "9e41576fb002d977104a4c8f9fac9015", "domain": "zalando.pl", "keyword": "pinko torebka", "words_count": 2, "statistics": { "position": { "current": 3, "previous": 2, "diff": 1, "changes": { "wins": 0, "losses": 1, "no_changes": 0 }, "history": { "2026-05-25": { "position": 2, "has_serp": true }, "2026-06-26": { "position": 3, "has_serp": true } } }, "visibility": { "current": 5321.25, "previous": 8672.4, "diff": -3351.15, "percent": -0.3864, "history": null }, "url": { "current": "zalando.pl/akcesoria-torby-kobiety/pinko/", "previous": "zalando.pl/akcesoria-torby-kobiety/pinko/", "is_change": 0 }, "cpc": { "current": 0.14 }, "searches": { "current": 49500 }, "trends": { "history": [60500, 49500, 49500, 40500, 49500, 40500, 49500, 60500, 40500, 40500, 74000, 74000], "peak": null }, "difficulty": { "current": 34 }, "snippets": { "current": ["image_thumbs", "people_also_ask"] } } } ], "pagination": { "page_count": 3004, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 6007, "limit": 2 } } ``` -------------------------------- ### Full JSON response example (200) Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-sections-getUrls.md Complete example response for the Sections Get URLs API, showing detailed statistics for each URL including visibility, top3, top10, and top50 metrics with current, previous, diff, percent, and history fields. ```json { "success": true, "data": [ { "url": "zalando.pl/", "keywords_count": 226, "visibility_percent": 0, "statistics": { "visibility": { "current": 963824.36, "previous": 963804.6, "diff": 19.76, "percent": 0, "history": null }, "top3": { "current": 119, "previous": 120, "diff": -1, "percent": -0.0083, "history": null }, "top10": { "current": 226, "previous": 224, "diff": 2, "percent": 0.0089, "history": null }, "top50": { "current": 3035, "previous": 2933, "diff": 102, "percent": 0.0348, "history": null } } }, { "url": "zalando.pl/bershka/", "keywords_count": 70, "visibility_percent": 0, "statistics": { "visibility": { "current": 311746.17, "previous": 311727.33, "diff": 18.83, "percent": 0.0001, "history": null }, "top3": { "current": 28, "previous": 27, "diff": 1, "percent": 0.037, "history": null }, "top10": { "current": 70, "previous": 72, "diff": -2, "percent": -0.0278, "history": null }, "top50": { "current": 150, "previous": 150, "diff": 0, "percent": 0, "history": null } } } ], "pagination": { "page_count": 36387, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 72773, "limit": 2 } } ``` -------------------------------- ### Shortened JSON response example Source: https://docs.senuto.com/_md/modules/visibility_analysis/va-history-urls-getAcquired.md Example response for the History URLs Get Acquired endpoint, showing a single URL row with visibility statistics and pagination metadata. The response includes a success flag, data array, and pagination object with count and limit. ```json { "success": true, "data": [ { "url": "zalando.pl/obuwie/ugg/", "keywords_count": "6", "statistics": { "visibility": { "current": 31198.72, "previous": 5235.75, "diff": 25962.97 } /* … */ } } ], "pagination": { "page_count": 764, "current_page": 1, "has_next_page": true, "has_prev_page": false, "count": 1527, "limit": 2 } } ``` -------------------------------- ### Example responses (shortened and full) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-competitors-list.md Example responses for the competitors list endpoint. The shortened version shows the minimal pagination fields, while the full version includes additional pagination metadata. Both examples show an empty data array because the sample project had no configured competitors. ```json { "success": true, "data": [], "pagination": { "count": 0, "current_page": 1, "page_count": 1 } } ``` ```json { "success": true, "data": [], "pagination": { "page_count": 1, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 0, "limit": null } } ``` -------------------------------- ### Example response (full) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-snippets-getHistory.md Full example JSON response with all possible snippet types for each date. Shows the complete structure including fields like 'news', 'wiki_right', 'map', and others. ```json { "success": true, "data": { "2026-06-29": { "news": 0, "image_thumbs": 28, "wiki_right": 12, "map": 0, "top_video": 0, "spell": 3, "top_info": 0, "top_bar": 0, "top_scholar": 0, "top_number_results": 0, "top_public_data": 0, "site_links": 0, "featured_answer": 0, "adwords": 0, "people_also_ask": 83, "people_also_search_products": 2, "related_searches": 94, "video_thumbs": 35, "videos_pack": 35, "featured_snippets": 4, "answer_box": 1 }, "2026-06-20": { "news": 0, "image_thumbs": 37, "wiki_right": 9, "map": 1, "top_video": 0, "spell": 3, "top_info": 0, "top_bar": 0, "top_scholar": 0, "top_number_results": 0, "top_public_data": 0, "site_links": 0, "featured_answer": 0, "adwords": 0, "related_searches": 89, "people_also_ask": 71, "video_thumbs": 28, "videos_pack": 28, "people_also_search_products": 1 } } } ``` -------------------------------- ### GET /api/users/getLimits - Example Response Source: https://docs.senuto.com/_md/rate-limits.md Example response from getLimits showing a map of limit keys to objects with limit, usage, extra_limit, and hours_to_reset. Note that limit -1 means no limit, usage null means not a consumable counter, and hours_to_reset is the only reliable signal for the billing period. ```json { "success": true, "data": { "visibility_analysis_queries_per_day": { "limit": 25, "usage": 8, "extra_limit": 0, "hours_to_reset": 673 }, "keywords_analysis_queries_per_day": { "limit": 1000, "usage": 21, "extra_limit": 0, "hours_to_reset": 673 }, "tools_daily_limit": { "limit": 225, "usage": 6, "extra_limit": 0, "hours_to_reset": 673 }, "backlinks_queries": { "limit": 400, "usage": 0, "extra_limit": 0, "hours_to_reset": 673 }, "monitoring_daily_keywords_refreshes": { "limit": -1, "usage": 0, "extra_limit": 0, "hours_to_reset": 1 }, "monitored_keywords": { "limit": 300, "usage": 752, "extra_limit": 0, "hours_to_reset": null }, "projects": { "limit": 10, "usage": 6, "extra_limit": 0, "hours_to_reset": null } } } ``` -------------------------------- ### Short example response (JSON) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-keywords-getProjectKeywords.md Example response with a single keyword and pagination metadata. Shows the structure with success flag, data array, and pagination object. ```json { "success": true, "data": [ { "id": 690709, "keyword": "jak wychowac szczeniaka" } ], "pagination": { "page_count": 47, "current_page": 2, "count": 94, "limit": 2 } } ``` -------------------------------- ### Example request for POST /api/serp_analysis/tools/top100_crawl/getDomains Source: https://docs.senuto.com/_md/modules/serp_analysis/serp-tool-top100-getDomains.md Example request body for the getDomains endpoint. The task_id is null in this example, but the API requires a real task_id from a completed top100_crawl task. ```json { "task_id": null, "keyword": "buty", "limit": 10 } ``` -------------------------------- ### Full example response (JSON, 3 of 50 buckets) Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-ai-overviews-getDistribution.md Shows the full response structure with three buckets (positions 1, 2, and 50). All values are zero, indicating no presence in AI Overviews. The response contains exactly 50 buckets in practice. ```json { "success": true, "data": [ { "pos": 1, "total": 0, "total_percentage": 0, "with_presence": 0, "with_presence_percentage": 0, "without_presence": 0, "without_presence_percentage": 0 }, { "pos": 2, "total": 0, "total_percentage": 0, "with_presence": 0, "with_presence_percentage": 0, "without_presence": 0, "without_presence_percentage": 0 }, { "pos": 50, "total": 0, "total_percentage": 0, "with_presence": 0, "with_presence_percentage": 0, "without_presence": 0, "without_presence_percentage": 0 } ] } ``` -------------------------------- ### Shortened JSON response example Source: https://docs.senuto.com/_md/modules/rank_tracker/rt-groups-list.md Example of a shortened response with a single group and pagination metadata. ```json { "success": true, "data": [ { "id": 21423, "name": "eee", "is_dynamic": 0, "keywords_number": 0 } ], "pagination": { "page_count": 1, "current_page": 1, "has_next_page": false, "has_prev_page": false, "count": 1, "limit": 2 } } ```