API Documentation
Integrate content repurposing into your workflow with a single API call.
Base URL
https://contentrepurposer.app/api/v1Create an account
Sign up at contentrepurposer.app/sign-up. Free accounts get 3 repurposes per month. Pro accounts ($29/month) get unlimited access.
Generate your API key
Go to Settings โ API Keys and click "Generate API Key". Your key starts with cr_sk_. Copy it immediately โ it won't be shown again.
Make your first request
Send a POST request to /api/v1/repurpose with your content. The API processes everything synchronously and returns the completed results.
curl -X POST https://contentrepurposer.app/api/v1/repurpose \
-H "Content-Type: application/json" \
-H "Authorization: Bearer cr_sk_your_api_key_here" \
-d '{
"content": "Your blog post or transcript text here. Must be at least 50 characters long for meaningful repurposing.",
"sourceType": "blog_post",
"formats": ["twitter_thread", "linkedin_post", "email_snippet"]
}'Understand the request body
| Parameter | Type | Required | Description |
|---|---|---|---|
| content | string | Yes | Your source content. Minimum 50 characters. |
| sourceType | string | No | "blog_post" "youtube_transcript" "podcast_transcript". Defaults to "blog_post". |
| sourceUrl | string | No | URL of the original content, included in outputs for attribution. |
| formats | string[] | No | Array of formats to generate. Options: "twitter_thread" "linkedin_post" "substack_notes" "email_snippet" "video_script". Defaults to all 5. |
Handle the response
The API returns the completed job with all generated outputs. Each output includes the formatted content, structured data, and character/word counts.
{
"id": "clx1abc...",
"status": "completed",
"requestedFormats": ["twitter_thread", "linkedin_post", "email_snippet"],
"totalTokensUsed": 4250,
"outputs": [
{
"id": "clx1def...",
"format": "twitter_thread",
"content": "1/7 ๐งต Hot take: The best engineers...",
"structuredData": {
"tweets": [
{ "text": "1/7 ๐งต Hot take: ..." },
{ "text": "2/7 Writing forces clarity..." }
],
"threadSummary": "..."
},
"charCount": 1847,
"wordCount": 312
},
{
"id": "clx1ghi...",
"format": "linkedin_post",
"content": "I've noticed a pattern among...",
"structuredData": {
"text": "...",
"hookLine": "...",
"closingQuestion": "...",
"hashtags": ["#SoftwareEngineering", "..."]
},
"charCount": 1203,
"wordCount": 198
}
]
}Automate your workflow
Use the API to build automated publishing pipelines. Here are some ideas:
- Run a cron job that repurposes new blog posts from your RSS feed
- Connect to Zapier or Make to auto-post to social platforms
- Build a CLI tool that repurposes content from your terminal
- Integrate into your CMS publish workflow
Example: Repurpose and extract just the Twitter thread with jq:
curl -s -X POST https://contentrepurposer.app/api/v1/repurpose \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $CR_API_KEY" \
-d "{"content": "$(cat my-blog-post.txt)", "formats": ["twitter_thread"]}" \
| jq '.outputs[0].content'Error responses
Errors return a JSON object with an error field:
| Status | Code | Meaning |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid request body (e.g., content too short, unknown format) |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 402 | USAGE_LIMIT_REACHED | Free tier limit reached โ upgrade to Pro |
| 429 | TOO_MANY_REQUESTS | Rate limited โ wait and retry |