Instapage Analytics API

Retrieve bulk visit, conversion and lead statistics for Instapage pages and experiences, grouped by page or variation over hourly, daily, monthly or yearly UTC windows.

OpenAPI Specification

instapage-analytics-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Instapage Analytics API
  description: 'Bulk visit, conversion and lead statistics for pages and experiences.


    The Instapage Public API is a REST API over the Instapage landing page and post-click optimization
    platform. It exposes workspaces, team members, landing pages, page groups, personalized experiences,
    collections and collection pages, experiments, analytics, form submissions (leads), custom domains
    and image assets.


    Authentication is a personal API token sent as an HTTP Bearer token in the Authorization header. A
    personal token inherits all permissions from its creator and cannot exceed them; expired or revoked
    tokens return 401. Rate limiting is 200 requests per minute enforced per token and per IP address,
    on top of a daily plan quota that resets at 00:00 UTC; exceeding either returns 429 with a Retry-After
    header.


    List endpoints are page-number paginated via the `page` query parameter and return a `meta.pagination`
    block; form submissions instead use an opaque `meta.nextPageToken` cursor. Errors are returned as
    a `{title, details, meta}` envelope.


    Instapage does not publish an OpenAPI description. This document was transcribed by API Evangelist
    from the published API reference at https://devdocs.instapage.com/ and is not an official Instapage
    artifact.'
  version: '1'
  contact:
    name: Instapage Developer Docs
    url: https://devdocs.instapage.com/
  termsOfService: https://instapage.com/terms-of-service
  x-provenance:
    method: derived
    source: https://devdocs.instapage.com/
    generated: '2026-08-13'
    note: Instapage publishes no OpenAPI. Transcribed from the published API reference; not an official
      Instapage artifact.
servers:
- url: https://api.instapage.com/v1
  description: Instapage Public API v1
security:
- BearerAuth: []
tags:
- name: Analytics
  description: Bulk visit, conversion and lead statistics for pages and experiences.
paths:
  /workspaces/{workspaceId}/analytics:
    post:
      summary: Get statistical data
      description: Retrieve statistical data related to pages and experiences in bulk. All dates are in
        UTC; daily, monthly and yearly grouping windows are aligned to UTC.
      operationId: getAnalytics
      tags:
      - Analytics
      parameters:
      - in: path
        name: workspaceId
        required: true
        description: The ID of the workspace.
        schema:
          type: number
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                pages:
                  type: array
                  maxItems: 100
                  description: Specifies the pages for which the API should return statistical data. Up
                    to 100 page IDs per request.
                  items:
                    type: number
                interval:
                  type: string
                  default: monthly
                  enum:
                  - daily
                  - hourly
                  - monthly
                  - yearly
                  description: Time interval for aggregating data.
                device:
                  type: string
                  default: any
                  enum:
                  - any
                  - desktop
                  - mobile
                  description: Device type filter.
                timeframe:
                  type: object
                  properties:
                    start:
                      type: number
                      default: 0
                      description: Starting timestamp (in seconds) for fetching data.
                    end:
                      type: number
                      description: Ending timestamp (in seconds) for the data retrieval period. Defaults
                        to the current time.
                traffic:
                  type: string
                  default: blended
                  enum:
                  - blended
                  - organic
                  - paid
                  description: Type of traffic to include.
                grouping:
                  type: array
                  description: Additional grouping for the data.
                  items:
                    type: string
                    enum:
                    - pageId
                    - variationId
                visited:
                  type: number
                  description: Filters data based on unique actions. 1 includes only returning visitors;
                    0 includes only unique actions.
      responses:
        '200':
          description: The request was processed successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/AnalyticsRow'
        '400':
          description: Bad request. Validation error — review input parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized. Authentication failed or missing credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden. The user does not have the necessary permissions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found. The requested resource could not be located.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests. Request was blocked due to rate limit or plan restrictions.
            See the Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying, returned when the daily plan quota
                or the 200 requests/minute limit is exceeded.
              schema:
                type: integer
        '500':
          description: Internal Server Error. An unexpected condition prevented the request from being
            fulfilled.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Personal API Token
      description: 'Personal API token generated from Instapage account settings, sent as `Authorization:
        Bearer <token>`.'
  schemas:
    Error:
      type: object
      description: Error envelope returned by the Instapage API.
      properties:
        title:
          type: string
          description: The type of error that occurred.
        details:
          type: string
          description: A human-readable description of the error.
        meta:
          type: object
          properties:
            requestedUserId:
              type: number
              description: ID of the user who made the request.
            requestedWorkspaceId:
              type: number
              description: ID of the workspace involved.
            requestedPageId:
              type: number
              description: ID of the page involved, when the error concerns a page.
    AnalyticsRow:
      type: object
      properties:
        key:
          type: object
          description: Object containing unique identifiers. Structure varies based on the request grouping.
          properties:
            pageId:
              type: number
              description: Page ID, part of the key.
            date:
              type: number
              description: Date in UNIX timestamp (seconds), part of the key.
            variationId:
              type: number
              description: Variation ID, part of the key.
        visit:
          type: number
          description: Total number of visits associated with the key.
        conversion:
          type: number
          description: Total number of conversions associated with the key.
        leads:
          type: number
          description: Total number of leads associated with the key.