How to export data from Zendesk: A complete guide for 2026

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited March 4, 2026

Expert Verified

Banner image for How to export data from Zendesk: A complete guide for 2026

Whether you're backing up years of customer conversations, preparing for a helpdesk migration, or need data for compliance purposes, exporting your Zendesk data is a task most support teams face eventually. The challenge isn't just getting the data out. It's knowing which method to use, what you'll actually get, and what the limitations are.

This guide covers every way to export data from Zendesk, from the built-in UI options to API-based solutions and third-party tools. We'll walk through the exact steps for each method, explain the trade-offs, and help you choose the right approach for your specific situation.

If you're finding yourself exporting data frequently to analyze trends or train AI models, there's a better way. Modern AI platforms like eesel AI can connect directly to your Zendesk account and learn from your historical tickets without you ever exporting a file. You can even deploy an AI agent trained on your past conversations.

eesel AI dashboard for configuring AI agents and subagent tools
eesel AI dashboard for configuring AI agents and subagent tools

We'll start with the traditional methods.

What You'll Need

Before you begin, make sure you have:

  • A Zendesk account with appropriate plan permissions (we'll cover the specifics for each method)
  • Admin access to request data exports or generate API tokens
  • An API token if you're using the programmatic methods (we'll show you how to create one)
  • Optional: Python or Node.js installed if you plan to run custom export scripts

Here's the short version: if you're on a Team plan, you'll need to use the API. Professional and Enterprise plans can use the native export UI, but even then the API often gives you more control.

Zendesk's customer service platform with ticketing and AI agent features
Zendesk's customer service platform with ticketing and AI agent features

Method 1: Native Data Export (JSON, CSV, XML)

The native export feature in Zendesk is the most straightforward option if you have access to it. But there's a catch: it's only available on Professional and Enterprise plans. If you're on a Team plan, skip ahead to Method 3 (the API). Learn more about Zendesk's export requirements in their official documentation.

Step 1: Enable Data Exports

Data exports aren't enabled by default, even on eligible plans. The account owner must contact Zendesk Customer Support to request activation. Include your Zendesk subdomain in the request.

Once enabled, exports will appear in your Admin Center within a few hours.

Step 2: Run the Export

  1. Navigate to Admin Center > Account > Tools > Reports
  2. Click the Export tab if you see one (some legacy versions show exports on a separate tab)
  3. Select your export format:
FormatBest ForLimitations
JSONLarge datasets (200K+ tickets)Complex NDJSON format
CSVExcel analysis, simple reportsNo comments or descriptions
XMLLegacy compatibility500MB max file size
  1. Set your date range (JSON and CSV only)
  2. Select data type: tickets, users, or organizations
  3. Click Export

Zendesk's Reporting interface displaying data export options for JSON, CSV, and XML formats
Zendesk's Reporting interface displaying data export options for JSON, CSV, and XML formats

Choose the right format based on your needs. JSON handles large datasets and includes comments. CSV works best for Excel analysis but has limited fields. XML offers legacy compatibility but has a 500MB file size limit.

Comparison of JSON, CSV, and XML export formats for Zendesk data
Comparison of JSON, CSV, and XML export formats for Zendesk data

Step 3: Download Your Files

Zendesk emails you a download link when the export completes. The link stays active for at least three days. Large exports can take anywhere from minutes to over a day, depending on your data volume.

Important limitations to know:

  • Attachments are never included in exports
  • Suspended tickets are excluded
  • Tickets over 1MB have comments stripped out
  • Accounts with 1M+ tickets are limited to 31-day increments

Method 2: Exporting From Zendesk Explore

If you need granular data for analysis rather than full backups, Zendesk Explore offers a more flexible option. Like native exports, this requires Professional or Enterprise plans.

What's Available

Explore lets you export datasets (not just reports) in CSV format. Available datasets include:

  • Support tickets and SLA data
  • Chat and messaging engagement
  • Talk call records
  • Guide knowledge base articles
  • Answer Bot interactions

The key advantage: dataset exports don't have the 50,000-row limit that standard reports do.

Creating an Export

  1. In Explore, click the Dataset exports icon in the left sidebar
  2. Choose Create one-time export or Create recurring export
  3. Select your dataset and time period
  4. For recurring exports, set frequency (daily, weekly, or monthly)

Zendesk Explore's dataset exports page with recurring and one-time export options
Zendesk Explore's dataset exports page with recurring and one-time export options

The dataset export workflow lets you schedule recurring reports or run one-time extractions. Select your dataset, set the time period, and choose your export frequency.

Four-step workflow for generating reports and recurring exports in Zendesk Explore
Four-step workflow for generating reports and recurring exports in Zendesk Explore

Key details:

  • You can run one export per dataset per month
  • Recurring exports are limited to 14 simultaneous schedules
  • Files are automatically deleted after 7 days
  • Each file can be downloaded up to 3 times

Method 3: Using the Zendesk API

The Zendesk API is your most powerful option, and it's available on all plans including Team. This is the route to take if you're on a lower-tier plan, need automated exports, or want to filter data before exporting.

Setting Up API Access

  1. Sign in to Zendesk as an admin
  2. Go to Admin Center > Apps and integrations > APIs > Zendesk API
  3. Enable Token Access on the Settings tab
  4. Click Add API Token, name it, and save the token securely

Incremental export API workflow for retrieving only changed ticket data since last sync
Incremental export API workflow for retrieving only changed ticket data since last sync

Incremental Exports

The most efficient approach for regular exports is using the Incremental Export API. Instead of pulling all data every time, you request only what changed since your last export.

Here's a basic Python example for exporting users:

import csv
import time
import requests

ZENDESK_USER_EMAIL = 'your_email@example.com'
ZENDESK_API_TOKEN = 'your_api_token'
ZENDESK_SUBDOMAIN = 'your_subdomain'

def main():
    print('Getting users from Zendesk...')
    users = []
    url = f'https://{ZENDESK_SUBDOMAIN}.zendesk.com/api/v2/users.json'
    params = {'page[size]': 100}
    auth = (f'{ZENDESK_USER_EMAIL}/token', ZENDESK_API_TOKEN)

    response = requests.get(url, params=params, auth=auth)
    page = response.json()
    users.extend(page['users'])

    while page['meta']['has_more']:
        params['page[after]'] = page['meta']['after_cursor']
        response = requests.get(url, params=params, auth=auth)
        if response.status_code == 429:  # Rate limit
            time.sleep(int(response.headers['retry-after']))
            response = requests.get(url, auth=auth)
        page = response.json()
        users.extend(page['users'])

    write_to_csv(users)
    print('Done!')

def write_to_csv(users):
    with open('users.csv', 'w', newline='') as file:
        writer = csv.writer(file)
        writer.writerow(['Name', 'Email', 'Role'])
        for user in users:
            writer.writerow([user['name'], user['email'], user['role']])

if __name__ == "__main__":
    main()

Rate limits: All plans get 700 requests per minute (10 per second). The script above handles rate limiting by checking for HTTP 429 responses and waiting the recommended time.

Understanding Export Formats and Limitations

Each export format has distinct characteristics that affect how you use the data.

JSON (NDJSON Format)

JSON exports use "Newline Delimited JSON" (NDJSON), which streams one object per line rather than wrapping everything in a single array. This makes it possible to process massive files without loading them entirely into memory.

To convert NDJSON to standard JSON, wrap the objects in an array:

{"ticket":{"id":1}}
{"ticket":{"id":2}}

Becomes:

{
  "tickets": [
    {"ticket": {"id": 1}},
    {"ticket": {"id": 2}}
  ]
}

CSV

CSV exports are the easiest to open in Excel or Google Sheets, but they have the most limitations:

  • No ticket comments or descriptions
  • No deleted tickets
  • Multi-line text fields are excluded
  • All timestamps use your account's default timezone

What's Missing From All Exports

No matter which method you choose, some data never makes it into exports:

  • Attachments: Files must be fetched separately via the API
  • Suspended tickets: These are intentionally excluded
  • AI agent tickets: Cannot be exported at all
  • Real-time updates: Items updated within 6 minutes of export may be missing

Third-Party Export Tools

When native options fall short, third-party tools can fill the gaps.

Open-Source Options

The Zendesk-Exporter project on GitHub is a Node.js tool that exports tickets, comments, users, views, triggers, macros, and more to JSON. It's free, MIT-licensed, and handles the API pagination and rate limiting for you.

eDiscovery Platforms

For legal and compliance use cases, platforms like Onna connect directly to Zendesk's API and provide searchable repositories with full context. This is often necessary for eDiscovery since native exports don't include attachments and have other gaps that make them insufficient for legal proceedings.

Migration Tools

If you're switching helpdesks entirely, many platforms (including eesel AI) offer direct Zendesk import that handles the API extraction for you. This is usually easier than exporting to files and then importing.

Common Use Cases for Exported Data

Different situations call for different export approaches:

Use CaseRecommended MethodNotes
Backup/Disaster RecoveryAPI with incremental exportsNative exports miss attachments
Helpdesk MigrationFull JSON export + APIConsider direct import tools
Compliance/eDiscoveryThird-party platformNative exports insufficient
Business IntelligenceExplore dataset exportsCSV format, scheduled exports
Data AnalysisCSV export or APICSV for Excel, API for custom analysis
AI TrainingAPI incremental exportsGet historical ticket data programmatically

Export Your Zendesk Data With Confidence

Let's break down the decision process:

  • On Team plan? Use the API. It's your only option, but it's also the most flexible.
  • Need full backups? JSON export via native UI (Pro/Ent) or API-based tools.
  • Want scheduled reports? Explore dataset exports with recurring schedules.
  • Legal/compliance requirements? Third-party eDiscovery platforms are your best bet.
  • Migrating to a new helpdesk? Check if your new platform offers direct Zendesk import first.

Start with the simplest method that meets your needs. Native exports work well for one-off backups. The API makes sense for automation. Third-party tools fill the gaps when you need more than Zendesk provides natively.

If you find yourself exporting data regularly just to analyze trends or feed information into other systems, consider whether a direct integration would save time. eesel AI, for example, connects directly to Zendesk and learns from your historical tickets without you ever managing export files.

eesel AI dashboard showing active integrations with Zendesk, Freshdesk, and chat options
eesel AI dashboard showing active integrations with Zendesk, Freshdesk, and chat options

You can ask questions about your data, generate reports, and even train an AI agent on your past conversations, all without the export-import dance.

Whatever method you choose, test it with a small data set first. Verify you're getting what you expect before running a full export that might take hours to complete.

Frequently Asked Questions

Yes, but you'll need to use the API. The native export UI (JSON, CSV, XML) is only available on Professional and Enterprise plans. The API is available on all plans and actually gives you more control over what data you extract.
Use the JSON export format or the API's incremental ticket events endpoint with `comment_events` side-loaded. CSV exports do not include comments. Note that tickets over 1MB in size will have comments excluded even in JSON exports.
CSV is the easiest format to open in Excel, but it has significant limitations (no comments, no descriptions, limited fields). For complete data in Excel, export as JSON and use a tool or script to convert it to a format Excel can handle, or use the API to extract exactly the fields you need.
Yes. For scheduled exports, use Zendesk Explore's recurring export feature (Professional/Enterprise plans). For more control, use the Incremental Export API with a scheduled script (cron job, AWS Lambda, etc.) to pull data at regular intervals. This works on all plans.
Attachments are never included in Zendesk exports, regardless of format or method. This is a platform limitation. To backup attachments, you need to use the API to fetch them separately or use a third-party tool that handles this for you.

Share this post

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.