Skip to content

michaelcarter/mixpanel-data-export-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mixpanel Data Export

Simply put, this is a JavaScript library that makes Mixpanel's data export API easy to use. Simply instantiate the class with your API secret and key and then make calls to api methods and get correctly formatted data back via a promise, callback or stream.

Installation

Node:

var MixpanelExport = require('mixpanel-data-export');

Browser:

<script src="https://unpkg.com/mixpanel-data-export@2.0.2/dist/mixpanel_data_export.min.js"></script>

Usage Instructions

Every method detailed on mixpanel's data export api page is available in the library. However, some of the namings have been adjusted to read more semantically, for example, topEventProperties , and eventPropertyValues. The full list of methods is as follows...

Annotations:

  • annotations(parameters)
  • createAnnotation(parameters)
  • updateAnnotation(parameters)
  • deleteAnnotation(parameters)

Export:

  • export(parameters) (node only, see: #3)

Events:

  • events(parameters)
  • topEvents(parameters)
  • eventNames(parameters)

Event Properties:

  • eventProperties(parameters)
  • topEventProperties(parameters)
  • eventPropertyValues(parameters)

Funnels:

  • funnels(parameters)
  • listFunnels(parameters)

Segmentation:

  • segmentation(parameters)
  • numericSegmentation(parameters)
  • sumSegmentation(parameters)
  • averageSegmentation(parameters)

Retention:

  • retention(parameters)
  • addiction(parameters)

People Analytics:

  • engage(parameters) (node only, see: #6)

An example usage might be:

panel = new MixpanelExport({
  api_key: "my_api_key",
  api_secret: "my_api_secret"
});

panel.retention({
  from_date: "2014-02-28",
  to_date: "2014-03-10",
  born_event: "Rendering items"
}).then(function(data) {
  console.log(data);
});

Callbacks are also supported:

result = panel.retention({
  from_date: "2014-02-28",
  to_date: "2014-03-10",
  born_event: "Rendering items"
}, function(data) {
  console.log(data);
});

A full list of available API methods is detailed on mixpanel's data export api page. If you find any that are missing please let me know, or better yet put in a pull request.

Undocumented Endpoints

For any other requests (e.g. undocumented API endpoints), you can make raw requests to the API using get. The library will still handle all of param ordering and md5 signature stuff that the API requires, so you'll just need to supply a request type & parameters:

  • panel.get(requestType, parameters)

requestType expects an array forming a path to the endpoint. Taking the "top events" endpoint as an example - it's available at http://mixpanel.com/api/2.0/events/top/, so to request it you'd call panel.get(['events', 'top'], parameters).