RelayAPI

Platforms Overview

Supported social media platforms and their capabilities.

Supported Platforms

RelayAPI supports posting to 21 platforms through a single unified API. Each platform has specific features, limitations, and content requirements.

Platform Comparison

PlatformTextImagesVideoStoriesReelsScheduling
Twitter/X
Instagram
Facebook
LinkedIn
TikTok
YouTube
Pinterest
Reddit
Bluesky
Threads
Telegram
Snapchat
Discord
Mastodon
WhatsApp
Google Business
SMS
Beehiiv
ConvertKit
Mailchimp
Listmonk

Getting Started

  1. Connect your social accounts via the dashboard or API
  2. Create a post with target account IDs
  3. RelayAPI handles platform-specific formatting automatically

Platform Overrides

Use target_options to customize content per platform:

const post = await client.posts.create({
  content: 'Check out our new feature!',
  targets: ['acc_twitter_123', 'acc_linkedin_456'],
  scheduled_at: 'now',
  target_options: {
    twitter: {
      content: 'Check out our new feature! 🚀 #tech',
    },
    linkedin: {
      content: "Excited to announce our latest feature. Here's what it means for the industry...",
    },
  },
});
post = client.posts.create(
    content='Check out our new feature!',
    targets=['acc_twitter_123', 'acc_linkedin_456'],
    scheduled_at='now',
    target_options={
        'twitter': {
            'content': 'Check out our new feature! 🚀 #tech',
        },
        'linkedin': {
            'content': "Excited to announce our latest feature. Here's what it means for the industry...",
        },
    },
)
post, err := client.Posts.New(context.TODO(), relaygo.PostNewParams{
    Content:     relaygo.F("Check out our new feature!"),
    Targets:     relaygo.F([]string{"acc_twitter_123", "acc_linkedin_456"}),
    ScheduledAt: relaygo.F("now"),
    TargetOptions: relaygo.F(map[string]interface{}{
        "twitter": map[string]interface{}{
            "content": "Check out our new feature! 🚀 #tech",
        },
        "linkedin": map[string]interface{}{
            "content": "Excited to announce our latest feature. Here's what it means for the industry...",
        },
    }),
})
PostCreateResponse post = client.posts().create(PostCreateParams.builder()
    .content("Check out our new feature!")
    .addTarget("acc_twitter_123")
    .addTarget("acc_linkedin_456")
    .scheduledAt("now")
    .targetOptions(PostCreateParams.TargetOptions.builder()
        .putAdditionalProperty("twitter", JsonValue.from(Map.of(
            "content", "Check out our new feature! 🚀 #tech"
        )))
        .putAdditionalProperty("linkedin", JsonValue.from(Map.of(
            "content", "Excited to announce our latest feature. Here's what it means for the industry..."
        )))
        .build())
    .build());
curl -X POST https://api.relayapi.dev/v1/posts \
  -H "Authorization: Bearer $RELAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Check out our new feature!",
    "targets": ["acc_twitter_123", "acc_linkedin_456"],
    "scheduled_at": "now",
    "target_options": {
      "twitter": {
        "content": "Check out our new feature! 🚀 #tech"
      },
      "linkedin": {
        "content": "Excited to announce our latest feature. Here'\''s what it means for the industry..."
      }
    }
  }'

Found something wrong? Help us improve this page.

On this page

Submit an Issue
Requires a GitHub account.View repo