Catalog / Klaviyo

Export Klaviyo data to JSON

If you are looking for a JSON export, you are probably not making a chart. You are feeding a script, an ETL job, or your own database, and you want structured data without writing the pagination and rate-limit handling yourself. Klaviyo's API will give you JSON, but you have to build the client.

How to do it

  1. Decide what you actually needCampaign and flow performance is a different shape to profile data. Most people asking for a JSON export want the reporting numbers, which is what the export tool pulls.
  2. Run the exportThe Klaviyo campaign and flow export hits Klaviyo's official Reporting API, handles the pagination and the rate limits, and gives you a clean file. It defaults to CSV because that is what most people want.
  3. CSV to JSON, if that is what you needA CSV with stable headers converts to JSON in one line in almost any language. In Python that is pandas.read_csv(f).to_json(orient='records'). In Node, csv-parse does it. Nothing exotic.
  4. Or go straight to the APIIf you are building something that needs to run on a schedule without a human, you want Klaviyo's Reporting API directly, and you will need to handle auth, pagination, and their rate limits. That is a real afternoon of work. The export exists so you do not have to spend it.
Worth knowing. Worth knowing: Klaviyo's API rate limits are stricter than people expect, and a naive loop will get throttled on a large account. The export backs off properly instead of hammering it, which is why it finishes.

The button that does step one

The export itself is one of our buttons. It reads from Klaviyo's official Reporting API, it is read-only, and it cannot change anything in your account even if it wanted to. Your API key is used for the run and never stored.

See the Klaviyo export

Questions people actually ask

Does Klaviyo have a JSON integration?

No. That is why you are reading this. Klaviyo's own exports are manual and per-surface, so the practical route is a clean CSV export that you load into JSON yourself. It takes a couple of minutes and it does not depend on a vendor building a connector.

Is my API key stored anywhere?

No. It is used in memory for the length of the run and it is gone when you close the tab. It is never written to a database and it never appears in a log. Revoke it in Klaviyo afterwards if you like; nothing here depends on it.

Can I see the data before I pay?

Yes. Every run starts with a free preview of exactly what was found in your account. You decide from there.

Related

Getting Klaviyo data into somewhere else? The same export works for Excel, Power BI, JSON, Redshift and Qlik. Or see what you can export from Klaviyo in general, and the rest of the buttons Klaviyo skipped.