Kissmetrics REST API

REST API for programmatic access to Kissmetrics reports, segments, events, properties and account metadata. Queries are asynchronous: a POST to /queries, /queries/report or /queries/metric returns a query id which is polled at /queries/{id} and cancelled with a DELETE, and results are materialized through /exports to CSV or a customer S3 bucket. Nine query types are published, including cohort, funnel, ab_test, people_search and raw sql. Used to pull report data into dashboards, spreadsheets and BI tools, and to export user segments to destinations without native integrations. Authentication is HTTP Basic in the Authorization header. The API is self-declared beta and rate limited to 15 requests per minute.

Operations 4

GET /products/{product_id}/events Events #
GET /products Products #
GET /products/{product_id}/properties Properties #
GET /products/{product_id}/reports Reports #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kissmetrics-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Kissmetrics Products API
  version: '3'
  description: 'Operations tagged Products across 4 of this provider''s published API definitions: kissmetrics-fetch-events.json, kissmetrics-fetch-products.json, kissmetrics-fetch-properties.json, kissmetrics-fetch-reports.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://query.kissmetrics.io/v3
security:
- sec0: []
tags:
- name: Products
paths:
  /products/{product_id}/events:
    get:
      summary: Events
      description: Get a list of events for a given product for the authorized user.
      operationId: fetch-events
      parameters:
      - name: product_id
        in: path
        schema:
          type: string
        required: true
      - name: offset
        in: query
        description: An offset into the list of returned items. The API will return the requested number of items start at that offset.
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: A limit on the number of objects to be returned.
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"events\": [\n    {\n      \"id\": 6789,\n      \"product_id\": 12345,\n      \"name\": \"Visited site\",\n      \"visible\": true,\n      \"total\": 29,\n      \"first_used_at\": \"1970-01-01T00:00:00Z\",\n      \"last_used_at\": \"1970-01-01T00:00:00Z\",\n      \"first_sent_at\": \"1970-01-01T00:00:00Z\",\n      \"last_sent_at\": \"1970-01-01T00:00:00Z\"\n    }\n  ]\n}"
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 6789
                          default: 0
                        product_id:
                          type: integer
                          example: 12345
                          default: 0
                        name:
                          type: string
                          example: Visited site
                        visible:
                          type: boolean
                          example: true
                          default: true
                        total:
                          type: integer
                          example: 29
                          default: 0
                        first_used_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        last_used_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        first_sent_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        last_sent_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
      deprecated: false
      tags:
      - Products
    servers:
    - url: https://query.kissmetrics.io/v3
  /products:
    get:
      summary: Products
      description: Get a list of products for the authorized user.
      operationId: fetch-products
      parameters:
      - name: offset
        in: query
        description: An offset into the list of returned items. The API will return the requested number of items start at that offset.
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: A limit on the number of objects to be returned.
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"data\": [\n    {\n      \"id\": 123,\n      \"account_id\": 456,\n      \"name\": \"Your Product\",\n      \"timezone\": \"US/Pacific\"\n    }\n  ]\n}\n"
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 123
                          default: 0
                        account_id:
                          type: integer
                          example: 456
                          default: 0
                        name:
                          type: string
                          example: Your Product
                        timezone:
                          type: string
                          example: US/Pacific
      deprecated: false
      tags:
      - Products
    servers:
    - url: https://query.kissmetrics.io/v3
  /products/{product_id}/properties:
    get:
      summary: Properties
      description: Get a list of properties for a given product for the authorized user.
      operationId: fetch-properties
      parameters:
      - name: product_id
        in: path
        schema:
          type: string
        required: true
      - name: offset
        in: query
        description: An offset into the list of returned items. The API will return the requested number of items start at that offset.
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: A limit on the number of objects to be returned.
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"events\": [\n    {\n      \"id\": 6789,\n      \"product_id\": 12345,\n      \"name\": \"Visited site\",\n      \"visible\": true,\n      \"total\": 29,\n      \"first_used_at\": \"1970-01-01T00:00:00Z\",\n      \"last_used_at\": \"1970-01-01T00:00:00Z\",\n      \"first_sent_at\": \"1970-01-01T00:00:00Z\",\n      \"last_sent_at\": \"1970-01-01T00:00:00Z\"\n    }\n  ]\n}"
              schema:
                type: object
                properties:
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 6789
                          default: 0
                        product_id:
                          type: integer
                          example: 12345
                          default: 0
                        name:
                          type: string
                          example: Visited site
                        visible:
                          type: boolean
                          example: true
                          default: true
                        total:
                          type: integer
                          example: 29
                          default: 0
                        first_used_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        last_used_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        first_sent_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
                        last_sent_at:
                          type: string
                          example: '1970-01-01T00:00:00Z'
      deprecated: false
      tags:
      - Products
    servers:
    - url: https://query.kissmetrics.io/v3
  /products/{product_id}/reports:
    get:
      summary: Reports
      description: Get a list of reports for a given product for the authorized user.
      operationId: fetch-reports
      parameters:
      - name: product_id
        in: path
        schema:
          type: string
        required: true
      - name: offset
        in: query
        description: An offset into the list of returned items. The API will return the requested number of items start at that offset.
        schema:
          type: integer
          format: int32
          default: 0
      - name: limit
        in: query
        description: A limit on the number of objects to be returned.
        schema:
          type: integer
          format: int32
          default: 50
      responses:
        '200':
          description: '200'
          content:
            application/json:
              examples:
                Result:
                  value: "{\n  \"reports\": [\n    {\n      \"id\": 6789,\n      \"product_id\": 12345,\n      \"name\": \"My Funnel Report\",\n      \"report_type\": \"funnel\"\n    }\n  ]\n}"
              schema:
                type: object
                properties:
                  reports:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 6789
                          default: 0
                        product_id:
                          type: integer
                          example: 12345
                          default: 0
                        name:
                          type: string
                          example: My Funnel Report
                        report_type:
                          type: string
                          example: funnel
      deprecated: false
      tags:
      - Products
    servers:
    - url: https://query.kissmetrics.io/v3
components:
  securitySchemes:
    sec0:
      type: http
      scheme: basic
x-refined-from:
- kissmetrics-fetch-events.json
- kissmetrics-fetch-products.json
- kissmetrics-fetch-properties.json
- kissmetrics-fetch-reports.json
x-readme:
  headers: []
  explorer-enabled: true
  proxy-enabled: true
x-readme-fauxas: true