Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add circle tests and fix pylint Sep 11, 2019
.github Add PR template Oct 28, 2019
config.sample.json update config to latest arrangement Sep 21, 2017


This is a Singer tap that produces JSON-formatted data from the Klaviyo API following the Singer spec.

This tap:

  • Pulls raw data from the Klaviyo metrics API
  • Outputs the schema for each resource
  • Incrementally pulls data based on the input state for incremental endpoints
  • Updates full tables for global exclusions and lists endpoints

Quick start

  1. Install

    > virtualenv -p python3 venv
    > source venv/bin/activate
    > pip install tap-klaviyo
  2. Create the config file

    Create a JSON file containing your API key, start date, email and events. The Klaviyo events you want to replicate each have a unique metric ID that needs to be added to the config file. Use -l option to list all available Klaviyo metrics in your account.

        "credentials": {
            "api_key": "pk_XYZ"
        "start_date": "2017-01-01T00:00:00Z",
        "user_agent": "email_address",
  3. [Optional] Create the initial state file

    You can provide JSON file that contains a date for the metrics endpoints to force the application to only fetch events since those dates. If you omit the file it will fetch all commits and issues.

        "receive": {"since": "2017-04-01T00:00:00Z"},
        "open": {"since": "2017-04-01T00:00:00Z"},
  4. [Optional] Run discover command and save catalog into catalog file

    tap-klaviyo --config config.json --discover
  5. Run the application

    tap-klaviyo can be run with:

    tap-klaviyo --config config.json [--state state.json] [--catalog catalog.json]

Copyright © 2017 Stitch

You can’t perform that action at this time.