Post to Discord from one API.
Publish to Discord from your app with one REST call, or let your AI agent do it over MCP. SocialHelper checks every post against Discord’s limits before it goes out.
What you can post
Discord limits.
These are the limits the API enforces for Discord, read straight from the code. Every post is checked against them before anything is sent.
- Text
- 2,000 characters
- Images
- Up to 10 per post · JPEG, PNG, GIF, WEBP · 20 MB each
- Video
- Not supported
Post with one request
Your first Discord post.
Send the text and the account ID. Add an Idempotency-Key so a retried request never posts twice. The response lists each account with its own status and, once it’s live, the post’s URL.
curl https://socialhelper.app/api/v1/posts \
-H "Authorization: Bearer $SOCIALHELPER_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}'
const response = await fetch("https://socialhelper.app/api/v1/posts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SOCIALHELPER_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(),
},
body: JSON.stringify({
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": [
"ACCOUNT_ID"
]
}),
});
const { data: post } = await response.json();
console.log(post.status, post.targets);
import os, uuid, requests
response = requests.post(
"https://socialhelper.app/api/v1/posts",
headers={
"Authorization": f"Bearer {os.environ['SOCIALHELPER_API_KEY']}",
"Idempotency-Key": str(uuid.uuid4()),
},
json={
"text": "We just shipped dark mode. Try it tonight 🌙",
"accounts": ["ACCOUNT_ID"],
},
)
post = response.json()["data"]
print(post["status"], post["targets"])
Connect
Connect Discord once.
Open Accounts in the SocialHelper dashboard and choose Discord. The connect form asks for the details below, and explains where to find each one.
- Webhook URL
- In Discord, open the channel’s settings → Integrations → Webhooks → New Webhook, then click Copy Webhook URL.
SocialHelper calls Discord’s official API for you. Discord API reference ↗
FAQ
Discord questions.
How long can a Discord post be?
2,000, counted the way Discord counts it. SocialHelper checks the length before posting, and if it doesn’t fit nothing is sent.
Can I post images or video to Discord?
Up to 10 images per post. Video isn’t supported.
Do I need my own Discord developer app?
No. You paste these from your own Discord account into the connect form: webhook url.
Can my AI agent use Discord?
Yes. Connect the SocialHelper MCP server at https://socialhelper.app/mcp and your agent can post to Discord, after confirming the text with you.
How much does it cost?
SocialHelper is free during early access, Discord included.
More platforms
Same key, every account.
Bluesky
Post to your Bluesky profile.
posts
Share posts from your LinkedIn profile.
posts
Mastodon
Post to your account on any Mastodon server.
posts
Telegram
Post to channels and groups through your bot.
posts
Post to your Facebook Pages.
posts 3 tools
Publish photos and reels to Instagram.
posts 3 tools
Google Search Console
Clicks, queries, indexing and sitemaps.
4 tools
Google Analytics
GA4 traffic, conversions and realtime reports.
4 tools
Ship your Discord integration today.
Create a free account, connect an account and send your first post in a few minutes.