Export buyer pains as CSV
One URL returns a project's buyer-pain themes as a CSV — drop it into a Google Sheets formula, an Excel query, or an Airtable sync and it stays current.
Last updated July 6, 2026
On this page
The CSV export turns a project's buyer-pain themes into one comma-separated file
you can pull straight into a spreadsheet. It's the same data as
pains.list and
pains.get, combined into one file — every theme,
with no pages to stitch together.
The endpoint: GET /api/v1/export/sov
https://dist0.com/api/v1/export/sov?view=summary&token=<your-key>It returns text/csv with a Content-Disposition: attachment header, so a
browser downloads it and a spreadsheet imports it.
| Query param | Required | What it does |
|---|---|---|
token | see below | Your API key, for callers that can't send an Authorization header (like Google Sheets). |
view | no | summary (default) or full. See the two views below. |
project | yes, unless the key is project-scoped | Any part of the project's URL, to pick which one. Required when your key isn't tied to a single project; a key scoped to one project ignores it. |
Authenticate
You can send your API key two ways:
- In the URL — add
?token=<your-key>. Use this for Google Sheets'IMPORTDATA, which can't send headers. - In a header —
Authorization: Bearer <your-key>, the same as every other API call.
Because the token in the URL sits visibly in the sheet formula, tie the key to one project and treat it as shareable: anyone with the URL can read that project's pains. If it leaks, cancel the key in Settings → Developer → API keys and paste a new one into the formula. See Authentication for making and scoping keys.
The two views
summary — one row per theme
Small and spreadsheet-friendly. One row per buyer-pain theme, with its top source links packed into the last cell.
| Column | What it holds |
|---|---|
theme_id | The theme's id (use it to match rows across exports). |
title | The theme name. |
summary | A one-line description of the pain. |
post_count | How many source posts back the theme. |
first_seen / last_seen | The date range the posts span (YYYY-MM-DD). |
top_source_links | The 5 most recent source post URLs. |
full — one row per post, per theme
One row for every (theme × source post) pair — the theme columns above (minus
top_source_links) plus each post's details. Best for downloads and scripts.
| Extra column | What it holds |
|---|---|
quote | The exact line from the post that surfaced the pain. |
author | The post author's Reddit handle. |
post_url | A link to the source post. |
post_title | The post's title. |
subreddit | The subreddit it came from. |
seen_date | When we picked it up (YYYY-MM-DD). |
Send it to a spreadsheet
- Google Sheets — paste the export URL into
IMPORTDATAand the sheet fills and refreshes itself. See Track your buyer pains in a Google Sheet for the full walkthrough. - Excel — Data → From Web, paste the export URL, and use Refresh to pull the latest.
- Airtable — paste the export URL into a CSV import/sync source.
Use the summary view for these — Google Sheets caps a single IMPORTDATA at
50,000 cells and about 2 MB, and summary stays well under both. The full view
can be far larger, so download it or pull it from a script instead.
From the command line
curl -s "https://dist0.com/api/v1/export/sov?view=full" \
-H "Authorization: Bearer $DIST0_TOKEN" \
-o pains.csv