Read Wincher keyword rankings, SERPs, competitors and history; add keywords, groups and notes.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
WRITE: start tracking up to 50 new keywords on ONE website. EACH keyword uses one keyword slot of the plan's keyword quota (see wincher_get_account), and it is tracked and updated from then on; this tool cannot remove keywords again. Each keyword may name a preferred_url (the landing page expected to rank). Invalid or already-tracked keywords are ignored by Wincher (not created). 'groups' are keyword group NAMES to put every keyword in (may be empty; use names from wincher_list_groups, an unknown name may create a new group). POST /websites/{website_id}/keywords/bulk.
1-50 keywords to add (each uses one keyword slot).
Wincher website id (from wincher_list_websites).
Keyword group names to assign to all of these keywords (default none).
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
WRITE: start tracking up to 50 new keywords on ONE website. EACH keyword uses one keyword slot of the plan's keyword quota (see wincher_get_account), and it is tracked and updated from then on; this tool cannot remove keywords again. Each keyword may name a preferred_url (the landing page expected to rank). Invalid or already-tracked keywords are ignored by Wincher (not created). 'groups' are keyword group NAMES to put every keyword in (may be empty; use names from wincher_list_groups, an unknown name may create a new group). POST /websites/{website_id}/keywords/bulk.
| Argument | Type | Description |
|---|---|---|
| groups | array | Keyword group names to assign to all of these keywords (default none). |
| keywords* | array | 1-50 keywords to add (each uses one keyword slot). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"keywords"
],
"properties": {
"groups": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 20,
"description": "Keyword group names to assign to all of these keywords (default none)."
},
"keywords": {
"type": "array",
"items": {
"type": "object",
"required": [
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "The search term to track."
},
"preferred_url": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Preferred landing page for this keyword."
}
}
},
"maxItems": 50,
"minItems": 1,
"description": "1-50 keywords to add (each uses one keyword slot)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}WRITE: add a user annotation (a note shown on the ranking graphs, e.g. 'Launched new landing page') for a date, optionally tied to specific keywords; without keyword_ids it is a global note for the website. Visible to everyone with access to the website. Uses no keyword quota. POST /websites/{website_id}/annotations.
| Argument | Type | Description |
|---|---|---|
| date* | string | The date the note is shown at, yyyy-mm-dd. |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| description* | string | The note text. |
| keyword_ids | array | Keyword ids this note relates to; omit for a global note. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"date",
"description"
],
"properties": {
"date": {
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
"description": "The date the note is shown at, yyyy-mm-dd."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"description": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "The note text."
},
"keyword_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 100,
"description": "Keyword ids this note relates to; omit for a global note."
}
}
}WRITE: create a keyword group on a website, optionally containing existing keywords (ids from wincher_list_keywords). Uses no keyword quota. POST /websites/{website_id}/groups.
| Argument | Type | Description |
|---|---|---|
| name* | string | Group name (1-200 characters). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| keyword_ids | array | Existing keyword ids to put in the group (default none). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Group name (1-200 characters)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"keyword_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 1000,
"description": "Existing keyword ids to put in the group (default none)."
}
}
}The Wincher account behind the token: id, timezone and the plan limits with current usage (websites, users, keywords, keyword lookups, map-tracking credits, history days). Check keyword usage here before adding keywords. GET /account.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One keyword group with its keyword ids and (optionally) ranking summary for the period. GET /websites/{website_id}/groups/{group_id}.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| group_id* | integer | Keyword group id (from wincher_list_groups). |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_ranking | boolean | Include ranking data (slower and larger). Default false. |
| include_serp_features | boolean | Include serp_features in the ranking data. Default true; false makes replies much smaller and faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"group_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"group_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Keyword group id (from wincher_list_groups).",
"exclusiveMinimum": 0
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
},
"include_serp_features": {
"type": "boolean",
"description": "Include serp_features in the ranking data. Default true; false makes replies much smaller and faster."
}
}
}One tracked keyword with its groups, volume, CPC, difficulty and (default) ranking for the period. GET /websites/{website_id}/keywords/{keyword_id}.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| keyword_id* | integer | Wincher keyword id (from wincher_list_keywords). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_ranking | boolean | Include ranking data. Default true; false is faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"keyword_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"keyword_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher keyword id (from wincher_list_keywords).",
"exclusiveMinimum": 0
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data. Default true; false is faster."
}
}
}Historical position (or estimated traffic) for ONE keyword as time series, optionally split per ranking page or per competitor. GET /websites/{website_id}/keyword/{keyword_id}/ranking-history.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| metric | string | Default position. |
| group_by | string | Split into one series per ranking page or per competitor. |
| keyword_id* | integer | Wincher keyword id (from wincher_list_keywords). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"keyword_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"metric": {
"enum": [
"position",
"traffic"
],
"type": "string",
"description": "Default position."
},
"group_by": {
"enum": [
"page",
"competitor"
],
"type": "string",
"description": "Split into one series per ranking page or per competitor."
},
"keyword_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher keyword id (from wincher_list_keywords).",
"exclusiveMinimum": 0
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}The most recent search result pages Wincher stored for a keyword (up to 30): date, search volume, SERP features and the ranking results (position, URL, domain, traffic). GET /websites/{website_id}/keywords/{keyword_id}/serps.
| Argument | Type | Description |
|---|---|---|
| keyword_id* | integer | Wincher keyword id (from wincher_list_keywords). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"keyword_id"
],
"properties": {
"keyword_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher keyword id (from wincher_list_keywords).",
"exclusiveMinimum": 0
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}Historical positions for up to 50 keywords at once (one time series per keyword). This is a read: it uses POST only because the keyword id list goes in the body. POST /websites/{website_id}/ranking-history.
| Argument | Type | Description |
|---|---|---|
| end* | string | End of the period (date or ISO date-time, UTC). |
| start* | string | Start of the period (date or ISO date-time, UTC). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| keyword_ids* | array | Keyword ids (1-50). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id",
"keyword_ids",
"start",
"end"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"keyword_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"maxItems": 50,
"minItems": 1,
"description": "Keyword ids (1-50)."
}
}
}The Wincher user the token belongs to: id, role, state, project access and profile (name, email, language). GET /user.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One tracked website with its settings, competitors, brand keywords, counts and (for the period) ranking summary. GET /websites/{website_id}.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_ranking | boolean | Include ranking data (slower and larger). Default false. |
| include_serp_features | boolean | Include serp_features in the ranking data. Default true; false makes replies much smaller and faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
},
"include_serp_features": {
"type": "boolean",
"description": "Include serp_features in the ranking data. Default true; false makes replies much smaller and faster."
}
}
}The annotations (notes on the ranking graphs: automatic, alert and user-written) for a website, optionally within a period. GET /websites/{website_id}/annotations.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}For each tracked keyword, the position of your site and of each competitor in the period. GET /websites/{website_id}/competitors/keyword-positions.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}Ranking summaries (average position, share of voice, traffic, position distribution, volume) for the website's competitors over a period, for comparison with your own. GET /websites/{website_id}/competitors/ranking-summaries.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_serp_features | boolean | Include serp_features in the ranking data. Default true; false makes replies much smaller and faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_serp_features": {
"type": "boolean",
"description": "Include serp_features in the ranking data. Default true; false makes replies much smaller and faster."
}
}
}The competitor domains tracked for a website (id, domain, created_at). GET /websites/{website_id}/competitors.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-100 (default 25). |
| offset | integer | Skip this many results (default 0). Pass the previous reply's next_offset. |
| order_by | string | Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'. |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Skip this many results (default 0). Pass the previous reply's next_offset."
},
"order_by": {
"type": "string",
"pattern": "^-?[a-z][a-z0-9_.]{0,59}$",
"description": "Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
}
}
}List the keyword groups of a website: id, name, keyword_ids, average difficulty, search-intent counts and optionally ranking summaries. GET /websites/{website_id}/groups.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| limit | integer | Results per page, 1-100 (default 25). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| offset | integer | Skip this many results (default 0). Pass the previous reply's next_offset. |
| order_by | string | Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'. |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_ranking | boolean | Include ranking data (slower and larger). Default false. |
List the keywords tracked for a website with groups, volume, CPC, difficulty, competition, search intents and, with include_ranking, the latest position, traffic, ranking pages, SERP features and best position in the period. Positions are tracked down to the top 30. GET /websites/{website_id}/keywords.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| limit | integer | Results per page, 1-100 (default 25). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| offset | integer | Skip this many results (default 0). Pass the previous reply's next_offset. |
| order_by | string | Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'. |
| segment_id | string | Filter by a saved or temporary segment id (see wincher_list_segments). |
| website_id* | integer | Wincher website id (from wincher_list_websites). |
| include_ranking | boolean |
List projects (folders that group websites): id, name, website_ids, user_ids, and optionally the ranking summary for a period. GET /projects.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| limit | integer | Results per page, 1-100 (default 25). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| offset | integer | Skip this many results (default 0). Pass the previous reply's next_offset. |
| order_by | string | Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'. |
| include_ranking | boolean | Include ranking data (slower and larger). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Skip this many results (default 0). Pass the previous reply's next_offset."
},
"order_by": {
"type": "string",
"pattern": "^-?[a-z][a-z0-9_.]{0,59}$",
"description": "Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'."
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
}
}
}The search engines Wincher can track (id, domain such as google.com, country, languages, default location). GET /search-engines.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The saved segments (keyword filters) usable as segment_id in other tools. By default also temporary ones; only_named limits to saved ones. GET /segments.
| Argument | Type | Description |
|---|---|---|
| only_named | boolean | Only named (saved) segments. Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"only_named": {
"type": "boolean",
"description": "Only named (saved) segments. Default false."
}
}
}List the websites tracked in Wincher: id, domain, display name, search engine, location, language, mobile flag, keyword/group/competitor counts, competitors and brand keywords. Optionally with the ranking summary for a period. GET /websites.
| Argument | Type | Description |
|---|---|---|
| end | string | End of the period (date or ISO date-time, UTC). |
| limit | integer | Results per page, 1-100 (default 25). |
| start | string | Start of the period (date or ISO date-time, UTC). |
| offset | integer | Skip this many results (default 0). Pass the previous reply's next_offset. |
| order_by | string | Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'. |
| include_ranking | boolean | Include ranking data (slower and larger). Default false. |
| include_serp_features | boolean | Include serp_features in the ranking data. Default true; false makes replies much smaller and faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Skip this many results (default 0). Pass the previous reply's next_offset."
},
"order_by": {
"type": "string",
"pattern": "^-?[a-z][a-z0-9_.]{0,59}$",
"description": "Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'."
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
},
"include_serp_features": {
"type": "boolean",
"description": "Include serp_features in the ranking data. Default true; false makes replies much smaller and faster."
}
}
}Search the locations Wincher can track rankings for (code, name, country), most popular first, at most 100. Both are required by the API: an ISO country code and a free-text search (at least 3 characters). GET /locations.
| Argument | Type | Description |
|---|---|---|
| search* | string | Free text, at least 3 characters, e.g. 'new york' (required by the Wincher API). |
| country* | string | ISO 3166-1 alpha-2 country code, e.g. US (required by the Wincher API). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"search",
"country"
],
"properties": {
"search": {
"type": "string",
"maxLength": 100,
"minLength": 3,
"description": "Free text, at least 3 characters, e.g. 'new york' (required by the Wincher API)."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "ISO 3166-1 alpha-2 country code, e.g. US (required by the Wincher API)."
}
}
}| include_serp_features |
| boolean |
| Include serp_features in the ranking data. Default true; false makes replies much smaller and faster. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Skip this many results (default 0). Pass the previous reply's next_offset."
},
"order_by": {
"type": "string",
"pattern": "^-?[a-z][a-z0-9_.]{0,59}$",
"description": "Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'."
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
},
"include_serp_features": {
"type": "boolean",
"description": "Include serp_features in the ranking data. Default true; false makes replies much smaller and faster."
}
}
}| Include ranking data (slower and larger). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"website_id"
],
"properties": {
"end": {
"type": "string",
"description": "End of the period (date or ISO date-time, UTC)."
},
"limit": {
"type": "integer",
"maximum": 100,
"description": "Results per page, 1-100 (default 25).",
"exclusiveMinimum": 0
},
"start": {
"type": "string",
"description": "Start of the period (date or ISO date-time, UTC)."
},
"offset": {
"type": "integer",
"maximum": 10000000,
"minimum": 0,
"description": "Skip this many results (default 0). Pass the previous reply's next_offset."
},
"order_by": {
"type": "string",
"pattern": "^-?[a-z][a-z0-9_.]{0,59}$",
"description": "Field to order by; prefix with '-' for descending, e.g. 'keyword' or '-created_at'."
},
"segment_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,100}$",
"description": "Filter by a saved or temporary segment id (see wincher_list_segments)."
},
"website_id": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Wincher website id (from wincher_list_websites).",
"exclusiveMinimum": 0
},
"include_ranking": {
"type": "boolean",
"description": "Include ranking data (slower and larger). Default false."
}
}
}