Asana JSON export: getting structured data from Asana

Asana and JSON logos with text "Asana JSON export getting structured data from Asana"

TL;DR: Asana exports to JSON from the project dropdown menu (same place as CSV and XLSX). The native export gives you a structured snapshot of one project’s tasks, including task descriptions and nested subtasks. For comments, cross-project data, or scheduled exports, you’ll need the Asana API or a third-party tool.


What the native JSON export includes

From any Asana project, click the dropdown arrow next to your project name, select Export or Sync, then choose JSON. The file downloads immediately. For step-by-step screenshots, see the complete Asana export guide.

JSON gives you two things CSV doesn’t:

  • Task descriptions — The full text of the description field, which is excluded from CSV exports
  • Nested subtasks — Subtasks appear as objects within their parent task, rather than as flat separate rows

What’s still missing: comments, attachments, and activity history don’t appear in any native export format. Both CSV and JSON share this gap.

Enterprise admins can also request an organization-wide export through the Admin Console. This produces JSON but is a bulk data dump rather than a structured project export.


Using the Asana API for JSON export

The native UI export covers one project at a time with no scheduling. For comments, cross-project data, or automated pipelines, you need the API.

Authentication: Generate a Personal Access Token (PAT) in your Asana profile settings under Apps → Developer Apps → New access token. Include it as a Bearer token in every request.

Key endpoints:

What you needEndpoint
All tasks in a projectGET /projects/{project_gid}/tasks
Task details including descriptionGET /tasks/{task_gid}?opt_fields=name,notes,due_on,assignee
Task commentsGET /tasks/{task_gid}/stories

Pagination: Asana returns up to 100 records per call. For projects with more tasks, follow the next_page.offset value in the response to retrieve the next batch.

A basic request looks like this:

curl "https://app.asana.com/api/1.0/projects/PROJECT_GID/tasks" \
  -H "Authorization: Bearer YOUR_PAT" \
  -G --data-urlencode "opt_fields=name,due_on,completed,assignee.name" \
  --data-urlencode "limit=100"

Rate limits: 1,500 requests per minute on Business and Enterprise plans; 150 requests per minute on Free and Premium.

The API approach makes sense when you have development resources and need comments, historical data, or a recurring automated sync.


Third-party tools for Asana data export

If your team doesn’t write code, a few tools handle the API work automatically:

ToolBest for
Zapier / MakeTriggered data transfers when tasks change status
BlinkMetricsStructured data for dashboards, daily snapshots, no code required
Rewind / BackupifyOrganization-wide data backup

BlinkMetrics pulls Asana data via the API on a daily schedule and stores historical snapshots, so you can see how project metrics change over time rather than working from a single point-in-time export.


For quick one-project snapshots, the native JSON export works fine. The API covers comments, cross-project data, and automation. For structured Asana data without API development, a tool like BlinkMetrics handles the sync automatically.

Related guides:


Frequently asked questions

Can Asana export to JSON?

Yes. From any project, click the dropdown arrow next to the project name, select Export/Print, then choose JSON. The file downloads immediately and covers all tasks in that project. Comments, attachments, and activity history are not included.

What’s the difference between Asana JSON and CSV export?

JSON includes task descriptions and nested subtasks as objects within their parent tasks. CSV excludes task descriptions and lists subtasks as separate flat rows. Both formats omit comments, attachments, and activity history.

How do I export Asana comments as JSON?

Comments don’t appear in any native Asana export. To retrieve them programmatically, use the Asana API endpoint GET /tasks/{task_gid}/stories, which returns all comments and system activity for a task. Third-party tools like BlinkMetrics can also sync comments automatically without custom code. For more details, see our guide to exporting Asana comments.

Can I export all Asana projects to JSON at once?

Not through the native UI. Enterprise admins can request an organization-wide JSON export from the Admin Console, but it’s a bulk dump rather than a structured project-level export. The Asana API is the most practical way to extract JSON data across multiple projects programmatically.

ready to start making better decisions with data?

We’re here to help every step of the way. Chat with our founder, Nathan to discover the possibilities in your business.

I'm looking forward to meeting you and learning all about your business!