Ditto for Content Marketing
Generate research-backed blog articles, infographics, social threads, and more from a single Ditto study — at a pace of 20-40 articles per month. Directly from the terminal.
Full documentation: https://askditto.io/claude-code-guide
What Ditto Does
Ditto maintains 300,000+ AI-powered synthetic personas calibrated to census data across USA, UK, Germany, and Canada. You ask them open-ended questions and get qualitative responses with the specificity of real interviews.
- 92% overlap with traditional focus groups (EY Americas validation)
- Every study produces 70 data points (10 personas x 7 questions)
- One study → 7 content formats in ~60 minutes
- Traditional research-backed content: 2-4 articles/month, $2,000-10,000 each
The Content Quality Test
If you could write the article without the study data and it would read the same, it is NOT research-backed.
Every paragraph must contain a finding, quote, or data point from the specific study. Generic commentary with a study link appended is not content marketing — it is filler.
Quick Start (Free Tier)
Get a free API key — no credit card, no sales call:
curl -sL https://app.askditto.io/scripts/free-tier-auth.sh | bash
Free keys (rk_free_): ~12 shared personas, no demographic filtering.
Paid keys (rk_live_): custom groups, demographic filtering, unlimited studies.
API Essentials
Base URL: https://app.askditto.io
Auth header: Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
One Study, Seven Content Formats
One 10-Persona Study (~12 min)
├─ 1. Research Blog Article (1,000-2,500 words, SEO/GEO optimised)
├─ 2. Infographic (key findings visualised)
├─ 3. Social Media Thread (3-5 posts)
├─ 4. Email Outreach (personalised per recipient)
├─ 5. Executive Summary (1-page, PDF-ready)
├─ 6. Sales Leave-Behind (for prospect sharing)
└─ 7. Press Release (if newsworthy)
Total: ~60 min from zero to complete content kit
Traditional: 2-4 weeks, $5,000-15,000
The Content Marketing Workflow (6 Steps)
Step 1: Recruit Your Audience Panel
Match the panel to the content's target reader:
curl -s -X POST "https://app.askditto.io/v1/research-groups/recruit" \
-H "Authorization: Bearer $DITTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "US Coffee Consumers 25-55",
"group_size": 10,
"filters": {
"country": "USA",
"age_min": 25,
"age_max": 55
}
}'
Save the uuid. Use group_size (not size), group uuid (not id).
Step 2: Create Study
curl -s -X POST "https://app.askditto.io/v1/research-studies" \
-H "Authorization: Bearer $DITTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Consumer Perceptions of [Topic]",
"objective": "Generate research-backed content on [topic] with quotable insights",
"research_group_uuid": "UUID_FROM_STEP_1"
}'
Response nests under data.study — access via response["study"]["id"].
Step 3: Ask the 7 Content Questions
Ask one at a time. Poll to completion between each (see Polling Strategy). Do NOT batch questions — batching produces shallow, disconnected answers.
Step 4: Poll Until Complete
curl -s "https://app.askditto.io/v1/jobs/JOB_ID" \
-H "Authorization: Bearer $DITTO_API_KEY"
Wait 45-50 seconds before first poll, then 20 seconds intervals. Poll ONE job_id as proxy.
Step 5: Complete the Study
curl -s -X POST "https://app.askditto.io/v1/research-studies/STUDY_ID/complete" \
-H "Authorization: Bearer $DITTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"force": false}'
Step 6: Extract Content Building Blocks + Get Share Link
curl -s "https://app.askditto.io/v1/research-studies/STUDY_ID/questions" \
-H "Authorization: Bearer $DITTO_API_KEY"
curl -s -X POST "https://app.askditto.io/v1/research-studies/STUDY_ID/share" \
-H "Authorization: Bearer $DITTO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"enabled": true}'
UTM tracking (mandatory):
- Cold email share links:
?utm_source=ce - Blog article share links:
?utm_source=blog
The Content Question Framework (7 Questions)
Questions follow a narrative arc — not an investigative sequence. The arc produces content that reads as a story, not a survey report.
The Narrative Arc
Q1-Q2 = "Before" (the problem state)
Q3 = "Turning point" (the possibility of change)
Q4-Q6 = "Substance" (evidence, comparison, evaluation)
Q7 = "Payoff" (unfiltered truth, strongest quotes)
Q1 — First Impressions (opening hook material)
"When you think about [product/category], what's the first thing that comes to mind? What's your honest impression?"
Extract: Opening hook, first-impression reactions, headline candidates.
Q2 — Pain Stories (relatable anecdotes)
"What's the biggest frustration or unmet need you have with [category]? Tell me about a specific experience."
Extract: Pain point stories for article body, relatable anecdotes.
Q3 — The Turning Point (possibility of change)
"If a product could [your value proposition], how would that change things for you? What excites you? What makes you sceptical?"
Extract: Excitement = opportunity content. Scepticism = objection content.
Q4 — Current State (competitive landscape)
"How do you currently solve this problem? What tools, services, or workarounds do you use? What do you spend on it?"
Extract: Competitive landscape content, cost comparisons, workaround stories.
Q5 — Product Reaction (direct feedback)
"Looking at [product/website/feature], what stands out? What's confusing? What would make you want to try it?"
Extract: Product reaction quotes, UX feedback, conversion triggers.
Q6 — Decision Criteria (comparative content)
"If you were choosing between [product] and [top alternative], what would tip the decision? What evidence would you need?"
Extract: Competitive content, proof point needs, decision criteria.
Q7 — Unfiltered Truth (the payoff — strongest quotes)
"Is there anything about [category] that you feel companies just don't understand? What do you wish they knew?"
Extract: Strongest quotes for social media. Unfiltered frustration for positioning. Best content hooks.
Content Building Blocks
Extract from every study:
| Block | Description | Source |
|---|---|---|
| Headline Finding | Single most surprising data point | Cross-question pattern |
| Quotable Reactions | 3-5 vivid, specific quotes with demographics | Q1, Q3, Q7 |
| Pain Point Themes | Recurring frustrations ranked by frequency | Q2, Q4 |
| Competitive Landscape | What alternatives exist and why they fall short | Q4, Q6 |
| Surprise Insight | Something that contradicts conventional wisdom | Any question |
| Data Points | Specific numbers ("7 of 10 said...", "$X spent") | Frequency counts |
Blog Article Structure
7 sections, 1,000-2,500 words:
- Hook (50-100 words) — Lead with the headline finding
- Context (100-150 words) — Why this topic matters now
- Who We Asked (100-150 words) — Panel demographics, methodology
- What We Asked (50-100 words) — Question themes, approach
- Key Findings (400-800 words) — THE CORE. 3-5 findings, each with data point + quote + implication. This is where the study data lives.
- Implications (150-200 words) — What this means for the industry
- Conclusion + CTA (100-150 words) — Summary + link to live study
SEO Optimisation
| Element | Requirement |
|---|---|
| Title | Under 60 characters |
| seoDescription | 150-160 characters |
| Headings | H2/H3 with keywords |
| Word count | 1,000+ minimum |
| Internal links | Minimum 2 |
| Image alt text | Descriptive, keyword-rich |