Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Insider One Analytics On Site API
version: 1.0.0
description: 'Email and OnSite campaign lists, campaign statistics and overall analytics.
Derived by API Evangelist from Insider One''s own public Postman collection ("Insider One APIs", published at https://developers.insiderone.com/). Paths, methods, headers, query parameters and request/response examples are verbatim from that collection; nothing is invented. The 429 response is documented for all Insider One APIs on https://academy.insiderone.com/docs/api-rate-limits-1 .'
contact:
name: Insider One Support
email: support@useinsider.com
url: https://academy.insiderone.com/docs/insider-one-apis-1
termsOfService: https://insiderone.com/terms-of-use/
servers:
- url: https://analytics.api.useinsider.com
tags:
- name: OnSite
paths:
/onsite/v1/all:
get:
operationId: getOnsiteOverallAnalytics
summary: Get onsite overall analytics
tags:
- OnSite
description: "This API enables you to change the filter values on OnSite campaign analytics from your own back-end without using Insider’s platform.\n\nQuery Parameters\nYou need to send the filters in body parameters.\n\nParameter\nData Type\nDescription\nSample Value\nRequired\n\nstartTime\nint64\nSpecifies a 10-digit epoch start time\n1606669200\nYes\n\nendTime\nint64\nSpecifies a 10-digit epoch end time\n1606755599\nNo\n\ncampaignReportType\nString\nThe campaign report type to be used\n\"ab\", \"hundred\"\nYes\n\nselectedGoalType\nString\nThe goal type of the data\n“sales”, “click”, “salesFromClick”, “custom”\nYes\n\nreportType\nString\nThe report type for data to be fetched\n“detail”, “summary”\nYes\n\nfilters\nString\nUsed for filtering campaigns\n\nYes (if you would like to get filtered results)\n\nfield\nString\nMetrics used in analytics\n“impression”, “significance”\nYes (if you add filters)\n\noperator\nString\nUsed for searching for values in a given field.\n”gte”, “gt”, “eq”, “lt”, “lte”\nYes (if you add filters)\n\nvalue\nFloat\nThe value of the field.\n0\nNo\n\nAdding filters is only valid for all campaign stats.\n\nIf you add filters parameter to body and there is no value, the request is sent with default values of the filters that you can see below:\n\n\"filters\": [\n{\n\"field\": \"impression\",\n\"operator\": \"gte\",\n\"value\": 200\n},\n{\n\"field\": \"significance\",\n\"operator\": \"gte\",\n\"value\": 0\n}\n]\n\nBefore sending the request, make sure to replace the authorization value with your own OnSite Campaign Analytics API key.\n\nSample Responses\n200 OK\nThe following response returns if the request is successful.\n\n{\n \"data\": {\n \"details\": [\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 260.53068340306834,\n \"averageOrderValueUplift\": 0.2435810228696742,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 8,\n \"campaignName\": \"My campaign\",\n \"clickConversion\": 19598,\n \"clickThroughRate\": 0.19069767441860466,\n \"conversionRateUplift\": 0.4216142270861831,\n \"goalId\": 0,\n \"impression\": 102770,\n \"incrementalConversion\": 1701.150115473441,\n \"incrementalRevenue\": 649101.4595842956,\n \"revenue\": 1494404,\n \"revenueFromClick\": 373601,\n \"salesConversion\": 5736,\n \"salesConversionRate\": 0.05581395348837209,\n \"salesFromClick\": 1434,\n \"selectedGoalConversion\": 5736,\n \"selectedGoalConversionRate\": 0.05581395348837209,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n },\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 227.98419339841934,\n \"averageOrderValueUplift\": 0.24369133790924957,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 20,\n \"campaignName\":\"My amazing campaign\",\n \"clickConversion\": 26768,\n \"clickThroughRate\": 0.2196078431372549,\n \"conversionRateUplift\": 0.39276018099547527,\n \"goalId\": 0,\n \"impression\": 121890,\n \"incrementalConversion\": 1213.1695906432751,\n \"incrementalRevenue\": 414566.7134502925,\n \"revenue\": 980788,\n \"revenueFromClick\": 217953,\n \"salesConversion\": 4302,\n \"salesConversionRate\": 0.03529411764705882,\n \"salesFromClick\": 956,\n \"selectedGoalConversion\": 4302,\n \"selectedGoalConversionRate\": 0.03529411764705882,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n }\n ],\n \"goalIdList\": [\n 1001362,\n 1001365,\n 1001368\n ]\n }\n}\n\n400 Bad Request\nSorry, we’ve received an invalid request from your side. You can try again later.\n\n400 Bad Request\nSorry, we received an invalid request. The start date cannot be after the end date.\n\n406 Not Acceptable Request\nSorry, we received an invalid request. We are able to provide the analytics data for only the last 1 year.\n\n500 Internal Server Error\nSorry, we couldn’t receive any response from our server. You can try again later.\n\nLimitations\nWhen sending your request, make sure to follow these limitations.\n\nAll functions must be executed with an HTTPSPOST request.\n\nThe x-ins-auth-key should be provided as the authorization key on the request header. If the key is incorrect, the operation will not be executed and an authorization error will return in the response.\n\nThis API provides data for a 1 year-range.\n\nYou can send 100 requests/per minute with the same API key. If you exceed the rate limit, you will receive a 429 error."
security:
- InsAuthKey: []
responses:
'200':
description: OK
content:
application/json:
example:
data:
details:
- activeDays: 87
averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.9999
builderType: custom
campaignId: 99
campaignName: My campaign
clickConversion: 364
clickThroughRate: 0.023144910027341516
conversionRateUplift: 0
goalId: 0
impression: 15727
incrementalConversion: 364
incrementalRevenue: 0
revenue: 0
revenueFromClick: 0
salesConversion: 0
salesConversionRate: 0
salesFromClick: 0
selectedGoalConversion: 364
selectedGoalConversionRate: 0.023144910027341516
selectedGoalId: 0
significance: 0.9999
- activeDays: 19
averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.2214
builderType: custom
campaignId: 101
campaignName: My amazing campaign
clickConversion: 3
clickThroughRate: 0.0032258064516129032
conversionRateUplift: 0
goalId: 0
impression: 930
incrementalConversion: 3
incrementalRevenue: 0
revenue: 0
revenueFromClick: 0
salesConversion: 0
salesConversionRate: 0
salesFromClick: 0
selectedGoalConversion: 3
selectedGoalConversionRate: 0.0032258064516129032
selectedGoalId: 0
significance: 0.3328
goalIdList:
- 39
- 40
- 32
- 41
- 38
'429':
$ref: '#/components/responses/TooManyRequests'
/onsite/v1/campaign:
get:
operationId: getOnsiteCampaignAnalytics
summary: Get onsite campaign analytics
tags:
- OnSite
description: "This API enables you to change the filter values on OnSite campaign analytics from your own back-end without using Insider’s platform.\n\nQuery Parameters\nYou need to send the filters in body parameters.\n\nParameter\nData Type\nDescription\nSample Value\nRequired\n\nstartTime\nint64\nSpecifies a 10-digit epoch start time\n1606669200\nYes\n\nendTime\nint64\nSpecifies a 10-digit epoch end time\n1606755599\nNo\n\ncampaignReportType\nString\nThe campaign report type to be used\n\"ab\", \"hundred\"\nYes\n\nselectedGoalType\nString\nThe goal type of the data\n“sales”, “click”, “salesFromClick”, “custom”\nYes\n\nreportType\nString\nThe report type for data to be fetched\n“detail”, “summary”\nYes\n\nfilters\nString\nUsed for filtering campaigns\n\nYes (if you would like to get filtered results)\n\nfield\nString\nMetrics used in analytics\n“impression”, “significance”\nYes (if you add filters)\n\noperator\nString\nUsed for searching for values in a given field.\n”gte”, “gt”, “eq”, “lt”, “lte”\nYes (if you add filters)\n\nvalue\nFloat\nThe value of the field.\n0\nNo\n\nAdding filters is only valid for all campaign stats.\n\nIf you add filters parameter to body and there is no value, the request is sent with default values of the filters that you can see below:\n\n\"filters\": [\n{\n\"field\": \"impression\",\n\"operator\": \"gte\",\n\"value\": 200\n},\n{\n\"field\": \"significance\",\n\"operator\": \"gte\",\n\"value\": 0\n}\n]\n\nBefore sending the request, make sure to replace the authorization value with your own OnSite Campaign Analytics API key.\n\nSample Responses\n200 OK\nThe following response returns if the request is successful.\n\n{\n \"data\": {\n \"details\": [\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 260.53068340306834,\n \"averageOrderValueUplift\": 0.2435810228696742,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 8,\n \"campaignName\": \"My campaign\",\n \"clickConversion\": 19598,\n \"clickThroughRate\": 0.19069767441860466,\n \"conversionRateUplift\": 0.4216142270861831,\n \"goalId\": 0,\n \"impression\": 102770,\n \"incrementalConversion\": 1701.150115473441,\n \"incrementalRevenue\": 649101.4595842956,\n \"revenue\": 1494404,\n \"revenueFromClick\": 373601,\n \"salesConversion\": 5736,\n \"salesConversionRate\": 0.05581395348837209,\n \"salesFromClick\": 1434,\n \"selectedGoalConversion\": 5736,\n \"selectedGoalConversionRate\": 0.05581395348837209,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n },\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 227.98419339841934,\n \"averageOrderValueUplift\": 0.24369133790924957,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 20,\n \"campaignName\": \"My amazing campaign\",\n \"clickConversion\": 26768,\n \"clickThroughRate\": 0.2196078431372549,\n \"conversionRateUplift\": 0.39276018099547527,\n \"goalId\": 0,\n \"impression\": 121890,\n \"incrementalConversion\": 1213.1695906432751,\n \"incrementalRevenue\": 414566.7134502925,\n \"revenue\": 980788,\n \"revenueFromClick\": 217953,\n \"salesConversion\": 4302,\n \"salesConversionRate\": 0.03529411764705882,\n \"salesFromClick\": 956,\n \"selectedGoalConversion\": 4302,\n \"selectedGoalConversionRate\": 0.03529411764705882,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n }\n ],\n \"goalIdList\": [\n 1001362,\n 1001365,\n 1001368\n ]\n }\n}\n\n400 Bad Request\nSorry, we’ve received an invalid request from your side. You can try again later.\n\n400 Bad Request\nSorry, we received an invalid request. The start date cannot be after the end date.\n\n406 Not Acceptable Request\nSorry, we received an invalid request. We are able to provide the analytics data for only the last 1 year.\n\n500 Internal Server Error\nSorry, we couldn’t receive any response from our server. You can try again later.\n\nLimitations\nWhen sending your request, make sure to follow these limitations.\n\nAll functions must be executed with an HTTPSPOST request.\n\nThe x-ins-auth-key should be provided as the authorization key on the request header. If the key is incorrect, the operation will not be executed and an authorization error will return in the response.\n\nYou can send 100 requests/per minute with the same API key. If you exceed the rate limit, you will receive a 429 error."
security:
- InsAuthKey: []
responses:
'200':
description: OK
content:
application/json:
example:
data:
detail:
click:
'98':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0
campaignId: 98
campaignName: My campaign
conversion: 0
conversionRate: 0
conversionRateUplift: 0
goal: click
goalConversion: 0
goalConversionRate: 0
impression: 2325
incrementalConversion: 0
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0
'99':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.9999
campaignId: 99
campaignName: My amazing campaign
conversion: 364
conversionRate: 0.023144910027341516
conversionRateUplift: 0
goal: click
goalConversion: 364
goalConversionRate: 0.023144910027341516
impression: 15727
incrementalConversion: 364
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0.9999
sales:
'98':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.8702
campaignId: 98
campaignName: My campaign
conversion: 0
conversionRate: 0
conversionRateUplift: 0
goal: sales
goalConversion: 0
goalConversionRate: 0
impression: 2325
incrementalConversion: 0
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0
'99':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.1297
campaignId: 99
campaignName: My amazing campaign
conversion: 0
conversionRate: 0
conversionRateUplift: 0
goal: sales
goalConversion: 0
goalConversionRate: 0
impression: 15727
incrementalConversion: 0
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0
salesFromClick:
'98':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.8702
campaignId: 98
campaignName: My campaign
conversion: 0
conversionRate: 0
conversionRateUplift: 0
goal: salesFromClick
goalConversion: 0
goalConversionRate: 0
impression: 2325
incrementalConversion: 0
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0
'99':
- averageOrderValue: 0
averageOrderValueUplift: 0
bayesianSignificance: 0.1297
campaignId: 99
campaignName: My amazing campaign
conversion: 0
conversionRate: 0
conversionRateUplift: 0
goal: salesFromClick
goalConversion: 0
goalConversionRate: 0
impression: 15727
incrementalConversion: 0
incrementalRevenue: 0
leadCount: 0
platform: all
revenue: 0
salesConversion: 0
salesConversionRate: 0
significance: 0
summary:
'98': 64
'99': 87
'429':
$ref: '#/components/responses/TooManyRequests'
/onsite/v2/all:
post:
operationId: changeFilterValues
summary: Change filter values
tags:
- OnSite
description: "This API enables you to change the filter values on OnSite campaign analytics from your own back-end without using Insider’s platform.\n\nQuery Parameters\nYou need to send the filters in body parameters.\n\nParameter\nData Type\nDescription\nSample Value\nRequired\n\nstartTime\nint64\nSpecifies a 10-digit epoch start time\n1606669200\nYes\n\nendTime\nint64\nSpecifies a 10-digit epoch end time\n1606755599\nNo\n\ncampaignReportType\nString\nThe campaign report type to be used\n\"ab\", \"hundred\"\nYes\n\nselectedGoalType\nString\nThe goal type of the data\n“sales”, “click”, “salesFromClick”, “custom”\nYes\n\nreportType\nString\nThe report type for data to be fetched\n“detail”, “summary”\nYes\n\nfilters\nString\nUsed for filtering campaigns\n\nYes (if you would like to get filtered results)\n\nfield\nString\nMetrics used in analytics\n“impression”, “significance”\nYes (if you add filters)\n\noperator\nString\nUsed for searching for values in a given field.\n”gte”, “gt”, “eq”, “lt”, “lte”\nYes (if you add filters)\n\nvalue\nFloat\nThe value of the field.\n0\nNo\n\nAdding filters is only valid for all campaign stats.\n\nIf you add filters parameter to body and there is no value, the request is sent with default values of the filters that you can see below:\n\n{\n \"startTime\": 1646611200,\n \"endTime\": 1667222349,\n \"campaignReportType\": \"ab\",\n \"selectedGoalType\": \"sales\",\n \"reportType\": \"detail\",\n \"filters\": [\n {\n \"field\": \"impression\",\n \"operator\": \"gte\",\n \"value\": 90000\n },\n {\n \"field\": \"significance\",\n \"operator\": \"gte\",\n \"value\": 0.9\n }\n ]\n}\n\nBefore sending the request, make sure to replace the authorization value with your own OnSite Campaign Analytics API key.\n\nSample Responses\n200 OK\nThe following response returns if the request is successful.\n\n{\n \"data\": {\n \"details\": [\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 260.53068340306834,\n \"averageOrderValueUplift\": 0.2435810228696742,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 8,\n \"campaignName\": \"My campaign\",\n \"clickConversion\": 19598,\n \"clickThroughRate\": 0.19069767441860466,\n \"conversionRateUplift\": 0.4216142270861831,\n \"goalId\": 0,\n \"impression\": 102770,\n \"incrementalConversion\": 1701.150115473441,\n \"incrementalRevenue\": 649101.4595842956,\n \"revenue\": 1494404,\n \"revenueFromClick\": 373601,\n \"salesConversion\": 5736,\n \"salesConversionRate\": 0.05581395348837209,\n \"salesFromClick\": 1434,\n \"selectedGoalConversion\": 5736,\n \"selectedGoalConversionRate\": 0.05581395348837209,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n },\n {\n \"activeDays\": 239,\n \"averageOrderValue\": 227.98419339841934,\n \"averageOrderValueUplift\": 0.24369133790924957,\n \"bayesianSignificance\": 0.9999,\n \"builderType\": \"custom\",\n \"campaignId\": 20,\n \"campaignName\": \"My amazing campaign\",\n \"clickConversion\": 26768,\n \"clickThroughRate\": 0.2196078431372549,\n \"conversionRateUplift\": 0.39276018099547527,\n \"goalId\": 0,\n \"impression\": 121890,\n \"incrementalConversion\": 1213.1695906432751,\n \"incrementalRevenue\": 414566.7134502925,\n \"revenue\": 980788,\n \"revenueFromClick\": 217953,\n \"salesConversion\": 4302,\n \"salesConversionRate\": 0.03529411764705882,\n \"salesFromClick\": 956,\n \"selectedGoalConversion\": 4302,\n \"selectedGoalConversionRate\": 0.03529411764705882,\n \"selectedGoalId\": 0,\n \"significance\": 0.9999199999999999\n }\n ],\n \"goalIdList\": [\n 1001362,\n 1000090,\n 1001132,\n 1000781,\n 1001436,\n 1000768,\n 1000030,\n 1001092,\n 1000718,\n 1000594,\n 1000765,\n 1000988,\n 1000744,\n 1000742,\n 1000854,\n 1001399,\n 1000881,\n 1001088,\n 1001390,\n 1000731,\n 1001200,\n 1001121,\n 1000795,\n 1000239,\n 1000699,\n 1001389,\n 1000709,\n 1001439,\n 1001133,\n 1000852,\n 1001151,\n 1001449,\n 1001090,\n 1001120,\n 1001017,\n 1001152,\n 1001205,\n 1000948,\n 1000858,\n 1001074,\n 1000712,\n 1000774,\n 1000720,\n 1001049,\n 1000801,\n 1000786,\n 1001184,\n 1001319,\n 1000707,\n 1000743,\n 1001169,\n 1000949,\n 1000798,\n 1001019,\n 1000991,\n 1001025,\n 1000968,\n 1001323,\n 1000831,\n 1000368,\n 1000688,\n 1000713,\n 1001354,\n 1001102,\n 1000853,\n 1001172,\n 1000685,\n 1001096,\n 1000708,\n 1000797,\n 1000824,\n 1001318,\n 1001060,\n 1000916,\n 1001353,\n 1001081,\n 1001136,\n 1001016,\n 1001104,\n 1000261,\n 1000704,\n 1000755,\n 1000884,\n 1000754,\n 1000751,\n 1001029,\n 1000933,\n 1001251,\n 1000741,\n 1000244,\n 1000819,\n 1000726,\n 1001208,\n 1001440,\n 1001199,\n 1001003,\n 1001083,\n 1001437,\n 1000730,\n 1000827,\n 1000830,\n 1001113,\n 1001028,\n 1000715,\n 1000951,\n 1001014,\n 1000800,\n 1000823,\n 1001293,\n 1000820,\n 1000862,\n 1000767,\n 1001030,\n 1000193,\n 1000947,\n 1001298\n ]\n }\n}\n\n400 Bad Request\nSorry, we’ve received an invalid request from your side. You can try again later.\n\n400 Bad Request\nSorry, we received an invalid request. The start date cannot be after the end date.\n\n406 Not Acceptable Request\nSorry, we received an invalid request. We are able to provide the analytics data for only the last 1 year.\n\n500 Internal Server Error\nSorry, we couldn’t receive any response from our server. You can try again later.\n\nLimitations\nWhen sending your request, make sure to follow these limitations.\n\nAll functions must be executed with an HTTPSPOST request.\n\nThe x-ins-auth-key should be provided as the authorization key on the request header. If the key is incorrect, the operation will not be executed and an authorization error will return in the response.\n\nYou can send 100 requests/per minute with the same API key. If you exceed the rate limit, you will receive a 429 error."
security:
- InsAuthKey: []
responses:
'429':
$ref: '#/components/responses/TooManyRequests'
components:
responses:
TooManyRequests:
description: Too Many Requests. The published per-endpoint rate limit was exceeded; back off and retry, honouring Retry-After when present.
content:
application/json:
example:
message: Too Many Requests
status: 429
securitySchemes:
InsAuthKey:
type: apiKey
in: header
name: X-INS-AUTH-KEY
description: Insider One authorization key for this API, generated in the InOne panel.
externalDocs:
description: Insider One API reference
url: https://academy.insiderone.com/docs/api-reference-welcome
x-provenance:
generated: '2026-08-13'
method: derived
source: postman/insider-one-apis.postman_collection.json
source_url: https://documenter.gw.postman.com/api/collections/24851117/2sB3dSR9bM
publisher_page: https://developers.insiderone.com/
note: Insider One publishes a single public Postman collection covering every REST API. This document is the subset of that collection served from analytics.api.useinsider.com.