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
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 hashtags
  • linkedin_post — Professional post with CTA
  • email_newsletter — Subject line, preview text, and body
  • summary — Short and detailed summaries
  • key_quotes — Shareable quote snippets
  • bullet_points — Organized takeaways
  • blog_outline — Structured outline for related content

Python Integration

Here's how to integrate the API into a Python script:

Python
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

JavaScript
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.

Python — Batch Processing
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:

JSON Request Body
{
  "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.

Get your API key

Start with 5 free repurposes. No credit card required.

Get Started →

Error Handling

The API returns standard HTTP status codes:

  • 200 — Success
  • 400 — Bad request (check your parameters)
  • 401 — Invalid API key
  • 403 — Monthly limit reached
  • 429 — Rate limit exceeded

Always check the response status and handle errors gracefully in production code.

Next Steps

  1. Get your API key
  2. Read the full API documentation
  3. Start with a single blog post and see the results
  4. Build automation into your content workflow

Questions? Email hello@getrepurpose.com.