{ "openapi": "3.2.0", "info": { "title": "Web Analytics", "description": "Web_analytics.", "termsOfService": "https://ahrefs.com/terms", "contact": { "name": "Ahrefs", "url": "https://ahrefs.com/", "email": "support@ahrefs.com" }, "version": "3.0.0" }, "servers": [ { "url": "https://api.ahrefs.com/v3/web-analytics", "description": "Ahrefs Web Analytics" } ], "paths": { "/stats": { "get": { "tags": [ "Overview", "MCP" ], "summary": "Stats", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "stats", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/stats" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/stats" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/chart": { "get": { "tags": [ "Overview", "MCP" ], "summary": "Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "chart", "parameters": [ { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/browsers": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Browsers", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "browsers", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/browsers" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/browsers" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/browsers-chart": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Browsers Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "browsers-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "browser_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/browsers-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/browsers-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/browser-versions": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Browser Versions", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "browser-versions", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/browser-versions" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/browser-versions" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/browser-versions-chart": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Browser Versions Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "browser-versions-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "browser_version_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/browser-versions-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/browser-versions-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/cities": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Cities", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "cities", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/cities" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/cities" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/cities-chart": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Cities Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "cities-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "cities_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/cities-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/cities-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/continents": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Continents", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "continents", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/continents" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/continents" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/continents-chart": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Continents Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "continents-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "continents_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/continents-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/continents-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/countries": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Countries", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "countries", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/countries" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/countries" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/countries-chart": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Countries Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "countries-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "countries_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/countries-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/countries-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/devices": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Devices", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "devices", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/devices" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/devices" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/devices-chart": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Devices Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "devices-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "devices_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/devices-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/devices-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/entry-pages": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Entry Pages", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "entry-pages", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/entry-pages" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/entry-pages" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/entry-pages-chart": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Entry Pages Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "entry-pages-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "entry_pages_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/entry-pages-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/entry-pages-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/exit-pages": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Exit Pages", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "exit-pages", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exit-pages" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/exit-pages" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/exit-pages-chart": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Exit Pages Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "exit-pages-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "exit_pages_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exit-pages-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/exit-pages-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/languages": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Languages", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "languages", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/languages" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/languages" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/languages-chart": { "get": { "tags": [ "Geography", "MCP" ], "summary": "Languages Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "languages-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "browser_language_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/languages-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/languages-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/operating-systems": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Operating Systems", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "operating-systems", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/operating-systems" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/operating-systems" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/operating-systems-chart": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Operating Systems Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "operating-systems-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "os_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/operating-systems-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/operating-systems-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/operating-systems-versions": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Operating Systems Versions", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "operating-systems-versions", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/operating-systems-versions" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/operating-systems-versions" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/operating-systems-versions-chart": { "get": { "tags": [ "User Agents", "MCP" ], "summary": "Operating Systems Versions Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "operating-systems-versions-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "os_versions_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/operating-systems-versions-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/operating-systems-versions-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/source-channels": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Source Channels", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "source-channels", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/source-channels" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/source-channels" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/source-channels-chart": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Source Channels Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "source-channels-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "source_channels_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/source-channels-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/source-channels-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/sources": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Sources", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "sources", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/sources" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/sources" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/sources-chart": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Sources Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "sources-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "sources_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/sources-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/sources-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/referrers": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Referrers", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "referrers", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/referrers" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/referrers" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/referrers-chart": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "Referrers Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "referrers-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "source_referers_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/referrers-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/referrers-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/top-pages": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Top Pages", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "top-pages", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/top-pages" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/top-pages" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/top-pages-chart": { "get": { "tags": [ "Pages", "MCP" ], "summary": "Top Pages Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "top-pages-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "pages_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/top-pages-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/top-pages-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/utm-params": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "UTM Parameters", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "utm-params", "parameters": [ { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "limit", "in": "query" }, { "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer", "required": false, "explode": false, "schema": { "type": "string" }, "name": "order_by", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Specify a UTM parameter to use as dimension.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content" ] }, "name": "utm_param", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/utm-params" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/utm-params" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } }, "/utm-params-chart": { "get": { "tags": [ "Traffic Sources", "MCP" ], "summary": "UTM Parameters Chart", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "utm-params-chart", "parameters": [ { "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).", "required": false, "explode": false, "schema": { "type": "string" }, "name": "utm_params_to_chart", "in": "query" }, { "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source \ntype: string\n\n**source_referer**: Referer source \ntype: string\n\n**source_referer_domain**: Referer domain \ntype: string\n\n**utm_source**: UTM source \ntype: string\n\n**utm_medium**: UTM medium \ntype: string\n\n**utm_campaign**: UTM campaign \ntype: string\n\n**utm_term**: UTM term \ntype: string\n\n**utm_content**: UTM content \ntype: string\n\n**page**: Page URL \ntype: url\n\n**page_domain**: Page domain \ntype: string\n\n**page_title**: Page title \ntype: string\n\n**entry_page**: Entry page URL \ntype: url\n\n**exit_page**: Exit page URL \ntype: url\n\n**continent**: Continent \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country \ntype: string\n\n**city**: City \ntype: string\n\n**browser_language**: Browser language \ntype: string\n\n**browser**: Browser \ntype: string\n\n**browser_version**: Browser version \ntype: string\n\n**os**: Operating system \ntype: string\n\n**os_version**: Operating system version \ntype: string\n\n**device**: Device type \ntype: string\n\n**screensize**: Screen size \ntype: string\n\n**event_name**: Event name \ntype: string\n\n**is_external_link_click**: Is external link click \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events \ntype: integer\n\n**visitors**: Number of visitors \ntype: integer\n\n**visits**: Number of visits \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request) \ntype: float\n\n**avg_session_length**: Average session length (in seconds) \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds) \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session) \ntype: float\n\n**exits**: Number of exits \ntype: integer\n\n**entries**: Number of entries \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds) \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\n```", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "Time granularity for chart data points.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "hourly", "daily", "weekly", "monthly" ] }, "name": "granularity", "in": "query" }, { "description": "end datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "to", "in": "query" }, { "description": "start datetime for the data query", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "from", "in": "query" }, { "description": "Specify a UTM parameter to use as dimension.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content" ] }, "name": "utm_param", "in": "query" }, { "description": "Project ID", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/utm-params-chart" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/utm-params-chart" } } } }, "400": { "$ref": "#/components/responses/error_400" }, "401": { "$ref": "#/components/responses/error_401" }, "403": { "$ref": "#/components/responses/error_403" }, "429": { "$ref": "#/components/responses/error_429" }, "500": { "$ref": "#/components/responses/error_500" } } } } }, "components": { "schemas": { "Error response": { "properties": { "error": { "type": "string" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "stats": { "properties": { "stats": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "avg_session_length": { "type": "number", "format": "float", "title": "avg_session_length", "description": "Average session length (in seconds)" }, "pageviews": { "type": "integer", "title": "pageviews", "description": "Number of pageview events" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" }, "visits": { "type": "integer", "title": "visits", "description": "Number of visits" } }, "type": "object" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "avg_session_length": { "type": "number", "format": "float", "title": "avg_session_length", "description": "Average session length (in seconds)" }, "pageviews": { "type": "integer", "title": "pageviews", "description": "Number of pageview events" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" }, "visits": { "type": "integer", "title": "visits", "description": "Number of visits" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "browsers": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "browser": { "type": "string", "title": "browser", "description": "Browser" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "browsers-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "browser": { "type": "string", "title": "browser", "description": "Browser" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "browser-versions": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "browser_version": { "type": "string", "title": "browser_version", "description": "Browser version" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "browser-versions-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "browser_version": { "type": "string", "title": "browser_version", "description": "Browser version" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "cities": { "properties": { "stats": { "items": { "properties": { "city": { "type": "string", "title": "city", "description": "City" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "cities-chart": { "properties": { "points": { "items": { "properties": { "city": { "type": "string", "title": "city", "description": "City" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "continents": { "properties": { "stats": { "items": { "properties": { "continent": { "type": "string", "enum": [ "AF", "AS", "EU", "NA", "OC", "SA", "AN", "" ], "title": "continent", "description": "Continent" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "continents-chart": { "properties": { "points": { "items": { "properties": { "continent": { "type": "string", "enum": [ "AF", "AS", "EU", "NA", "OC", "SA", "AN", "" ], "title": "continent", "description": "Continent" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "countries": { "properties": { "stats": { "items": { "properties": { "country": { "type": "string", "title": "country", "description": "Country" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "countries-chart": { "properties": { "points": { "items": { "properties": { "country": { "type": "string", "title": "country", "description": "Country" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "devices": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "device": { "type": "string", "title": "device", "description": "Device type" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "devices-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "device": { "type": "string", "title": "device", "description": "Device type" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "entry-pages": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "entries": { "type": "integer", "title": "entries", "description": "Number of entries" }, "entry_page": { "type": "string", "format": "url", "title": "entry_page", "description": "Entry page URL" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "entry-pages-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "entries": { "type": "integer", "title": "entries", "description": "Number of entries" }, "entry_page": { "type": "string", "format": "url", "title": "entry_page", "description": "Entry page URL" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "exit-pages": { "properties": { "stats": { "items": { "properties": { "exit_page": { "type": "string", "format": "url", "title": "exit_page", "description": "Exit page URL" }, "exit_rate": { "type": "number", "format": "float", "title": "exit_rate", "description": "Exit rate (percentage of pageviews that were the last in the session)" }, "exits": { "type": "integer", "title": "exits", "description": "Number of exits" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "exit-pages-chart": { "properties": { "points": { "items": { "properties": { "exit_page": { "type": "string", "format": "url", "title": "exit_page", "description": "Exit page URL" }, "exit_rate": { "type": "number", "format": "float", "title": "exit_rate", "description": "Exit rate (percentage of pageviews that were the last in the session)" }, "exits": { "type": "integer", "title": "exits", "description": "Number of exits" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "languages": { "properties": { "stats": { "items": { "properties": { "browser_language": { "type": "string", "title": "browser_language", "description": "Browser language" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "languages-chart": { "properties": { "points": { "items": { "properties": { "browser_language": { "type": "string", "title": "browser_language", "description": "Browser language" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "operating-systems": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "os": { "type": "string", "title": "os", "description": "Operating system" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "operating-systems-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "os": { "type": "string", "title": "os", "description": "Operating system" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "operating-systems-versions": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "os_version": { "type": "string", "title": "os_version", "description": "Operating system version" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "operating-systems-versions-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "os_version": { "type": "string", "title": "os_version", "description": "Operating system version" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "source-channels": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source_channel": { "type": "string", "enum": [ "search", "llm", "email", "paid", "search/paid", "social", "unknown", "direct", "newsletter", "shopping/organic", "shopping/paid", "audio", "social/paid", "cross-network", "mobile-push-notification", "sms", "affiliate", "referral", "display", "internal" ], "title": "source_channel", "description": "Source Channel" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "source-channels-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source_channel": { "type": "string", "enum": [ "search", "llm", "email", "paid", "search/paid", "social", "unknown", "direct", "newsletter", "shopping/organic", "shopping/paid", "audio", "social/paid", "cross-network", "mobile-push-notification", "sms", "affiliate", "referral", "display", "internal" ], "title": "source_channel", "description": "Source Channel" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "sources": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source": { "type": "string", "title": "source", "description": "Source" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "sources-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source": { "type": "string", "title": "source", "description": "Source" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "referrers": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source_referer": { "type": "string", "title": "source_referer", "description": "Referer source" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "referrers-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "source_referer": { "type": "string", "title": "source_referer", "description": "Referer source" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "top-pages": { "properties": { "stats": { "items": { "properties": { "avg_page_visit_duration_sec": { "type": "integer", "title": "avg_page_visit_duration_sec", "description": "Average page visit duration (in seconds)" }, "page": { "type": "string", "format": "url", "title": "page", "description": "Page URL" }, "pageviews": { "type": "integer", "title": "pageviews", "description": "Number of pageview events" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "top-pages-chart": { "properties": { "points": { "items": { "properties": { "avg_page_visit_duration_sec": { "type": "integer", "title": "avg_page_visit_duration_sec", "description": "Average page visit duration (in seconds)" }, "page": { "type": "string", "format": "url", "title": "page", "description": "Page URL" }, "pageviews": { "type": "integer", "title": "pageviews", "description": "Number of pageview events" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "utm-params": { "properties": { "stats": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "utm_param": { "type": "string", "title": "utm_param", "description": "UTM parameter value" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "utm-params-chart": { "properties": { "points": { "items": { "properties": { "avg_session_duration_sec": { "type": "integer", "title": "avg_session_duration_sec", "description": "Average session duration (in seconds)" }, "session_bounce_rate": { "type": "number", "format": "float", "title": "session_bounce_rate", "description": "Session bounce rate (percentage of sessions that triggered only one request)" }, "timestamp": { "type": "string", "title": "timestamp", "description": "Timestamp of the data point" }, "utm_param": { "type": "string", "title": "utm_param", "description": "UTM parameter value" }, "visitors": { "type": "integer", "title": "visitors", "description": "Number of visitors" } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } } }, "responses": { "error_400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error response" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Error response" } } } }, "error_401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error response" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Error response" } } } }, "error_403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error response" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Error response" } } } }, "error_429": { "description": "Too Many Requests", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error response" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Error response" } } } }, "error_500": { "description": "Internal Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error response" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/Error response" } } } } }, "parameters": { "output": { "description": "The output format.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "json", "csv", "xml", "php" ] }, "name": "output", "in": "query" } }, "examples": {}, "requestBodies": {}, "headers": {}, "securitySchemes": { "http": { "type": "http", "scheme": "bearer" } }, "links": {}, "callbacks": {}, "pathItems": {}, "mediaTypes": {} }, "security": [ { "http": [ "read" ] } ], "tags": [ { "name": "Overview" }, { "name": "Traffic Sources" }, { "name": "Pages" }, { "name": "Geography" }, { "name": "User Agents" } ], "externalDocs": { "description": "", "url": "https://docs.ahrefs.com/docs/api/v3/" } }