Skip to main content
Social lets you publish to ten-plus platforms — X, LinkedIn, Instagram, Facebook, YouTube, TikTok, Pinterest, Threads, Reddit, and Bluesky — through one API, with scheduling, drafts, per-platform overrides, comment management, and analytics. You can just ask Crevio to write and schedule a week of posts, or drive it yourself: connect accounts once, then POST /socials/posts with your content and a list of platforms. One call fans out to every channel, and you manage the replies and analytics from the same place.

Connect platforms

Posting requires at least one connected account. Two ways to connect:
# Returns a connect URL to send the user through
curl -X POST https://api.crevio.co/v1/socials/connect \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "platform": "linkedin" }'
# Returns a hosted page where the user can connect everything
curl -X POST https://api.crevio.co/v1/socials/portal \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Supported platforms (use these exact lowercase values): twitter, linkedin, instagram, facebook, youtube, tiktok, pinterest, threads, reddit, bluesky.

Publish a post

content and platforms are required. Without publish_now or scheduled_at, the post is saved as a draft.
FieldPurpose
contentThe post text (required)
platformsArray of target platforms (required)
publish_nowtrue to post immediately
scheduled_atISO-8601 time to schedule for later
media_urlsPublic image/video URLs
upload_idsIDs from prior POST /socials/upload
platform_dataPer-platform overrides keyed by platform
youtube_typeSHORT or VIDEO (for YouTube)
titleTitle (where the platform uses one)

Worked example: schedule a post to three platforms

This schedules one post to LinkedIn, X, and Threads, with a LinkedIn-specific override and an attached image.
curl -X POST https://api.crevio.co/v1/socials/posts \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Fall portrait mini-sessions are open — booking a handful of slots only.",
    "platforms": ["linkedin", "twitter", "threads"],
    "scheduled_at": "2026-07-01T15:00:00Z",
    "media_urls": ["https://cdn.example.com/mini-sessions.jpg"],
    "platform_data": {
      "linkedin": {
        "content": "Now booking fall portrait mini-sessions for families and professionals. A limited number of slots are available this month."
      }
    }
  }'
import { Crevio } from "@crevio/sdk";

const crevio = new Crevio({ apiKeyAuth: "YOUR_API_TOKEN" });

const post = await crevio.socials.posts.create({
  content: "Fall portrait mini-sessions are open — booking a handful of slots only.",
  platforms: ["linkedin", "twitter", "threads"],
  scheduled_at: "2026-07-01T15:00:00Z",
  media_urls: ["https://cdn.example.com/mini-sessions.jpg"],
  platform_data: {
    linkedin: {
      content:
        "Now booking fall portrait mini-sessions for families and professionals. " +
        "A limited number of slots are available this month.",
    },
  },
});
Schedule a post for July 1st about my fall portrait mini-sessions
to LinkedIn, X, and Threads, with a more professional spin on LinkedIn.
Upload media first via POST /socials/upload and pass the returned IDs in upload_ids when you want to reuse the same asset across posts, instead of re-fetching a URL each time.

Publish a draft later

Posts created without publish_now/scheduled_at stay as drafts until you publish them.
curl -X POST https://api.crevio.co/v1/socials/posts/post_abc123/publish \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Manage comments

Crevio surfaces incoming comments so you (or an agent) can engage without leaving the API. Reply publicly, hide spam, like, send a private reply, or delete.
# Reply to a comment
curl -X POST https://api.crevio.co/v1/socials/comments/cmt_abc123/reply \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "content": "Thanks! Booking opens next week." }'

# Hide / unhide
curl -X POST https://api.crevio.co/v1/socials/comments/cmt_abc123/hide \
  -H "Authorization: Bearer YOUR_API_TOKEN"
Other comment actions follow the same shape: unhide, like, private_reply, and delete.
Pair this with a Task to let Crevio triage and reply to comments automatically on a schedule.

Analytics

Pull performance at the account level (across all connected channels) or for an individual post.
# Account-level analytics
curl https://api.crevio.co/v1/socials/analytics \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# A single post's analytics
curl https://api.crevio.co/v1/socials/posts/post_abc123/analytics \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Next steps

Tasks

Have Crevio write and schedule social posts on a recurring basis.

Images

Generate post visuals with AI.

Ads & Voice

Turn a high-performing post into a paid ad.

API reference

Every social endpoint and parameter.