If you're publishing content regularly, you know the pain of repurposing. You write a blog post, then spend another hour turning it into a Twitter thread, then a LinkedIn post, then a newsletter excerpt.
This guide shows you how to automate all of that with a single API call.
The Basics
The GetRepurpose API takes your content and transforms it into multiple platform-optimized formats. Here's the simplest possible example:
curl -X POST https://getrepurpose.com/v1/repurpose \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Your blog post text here...",
"formats": ["twitter_thread", "linkedin_post"]
}'
The response contains each format you requested, ready to copy and paste (or automatically post).
Available Formats
twitter_thread— Numbered tweets with hooks and hashtagslinkedin_post— Professional post with CTAemail_newsletter— Subject line, preview text, and bodysummary— Short and detailed summarieskey_quotes— Shareable quote snippetsbullet_points— Organized takeawaysblog_outline— Structured outline for related content
Python Integration
Here's how to integrate the API into a Python script:
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://getrepurpose.com/v1"
def repurpose(content, formats):
response = requests.post(
f"{BASE_URL}/repurpose",
headers={
"X-API-Key": API_KEY,
"Content-Type": "application/json"
},
json={
"content": content,
"formats": formats
}
)
return response.json()
# Example usage
blog_post = """
Your full blog post content here...
"""
result = repurpose(blog_post, ["twitter_thread", "linkedin_post"])
# Access the generated content
print(result["twitter_thread"]["tweets"])
print(result["linkedin_post"]["content"])
JavaScript/Node.js Integration
const API_KEY = 'your_api_key_here';
async function repurpose(content, formats) {
const response = await fetch('https://getrepurpose.com/v1/repurpose', {
method: 'POST',
headers: {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ content, formats })
});
return response.json();
}
// Example usage
const result = await repurpose(
'Your blog post content...',
['twitter_thread', 'email_newsletter']
);
console.log(result.twitter_thread);
console.log(result.email_newsletter);
Workflow Automation Ideas
1. Post-Publish Hook
Trigger repurposing automatically when you publish a new blog post. If you use a CMS like WordPress, Ghost, or a headless CMS, set up a webhook that calls the API when content is published.
2. Batch Processing
Process your entire blog archive. Loop through your posts and generate social content for everything you've ever written.
import time
posts = ["Post 1 content...", "Post 2 content...", ...]
for post in posts:
result = repurpose(post, ["twitter_thread"])
save_to_database(result)
time.sleep(1) # Respect rate limits
3. Scheduled Social Posts
Combine with a social media scheduling tool. Generate content via API, then queue it up in Buffer, Hootsuite, or your scheduler of choice.
Customization Options
The API accepts additional parameters to customize output:
{
"content": "Your content...",
"formats": ["twitter_thread"],
"tone": "casual", // casual, professional, friendly
"target_audience": "developers",
"include_hashtags": true,
"include_emojis": false
}
Rate Limits & Pricing
The API has generous rate limits based on your plan:
- Free: 5 repurposes/month, 2 requests/minute
- Pro ($19/mo): 100 repurposes/month, 10 requests/minute
- Business ($49/mo): Unlimited repurposes, 30 requests/minute
Each repurpose counts as one call, regardless of how many formats you request.
Error Handling
The API returns standard HTTP status codes:
200— Success400— Bad request (check your parameters)401— Invalid API key403— Monthly limit reached429— Rate limit exceeded
Always check the response status and handle errors gracefully in production code.
Next Steps
- Get your API key
- Read the full API documentation
- Start with a single blog post and see the results
- Build automation into your content workflow
Questions? Email hello@getrepurpose.com.