← Back
opencoredev

opencoredev/social-sdk

Typed TypeScript SDK for direct and managed social platform integrations, with capability checks, explicit outcomes, and deterministic testing.

View on GitHub ↗https://social-sdk.dev ↗
api-integrationblueskybundeveloper-toolsinstagramlinkedinnodejsoauthoauth2sdksocial-mediasocial-media-apithreadstiktoktwittertypescriptyoutube
Stars
396
Forks
33
Watchers
396
Open issues
1
Contributors
13
Language
TypeScript
License
MIT License
Default branch
main
Created Sep 8, 2026Updated Sep 29, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

Social SDK: one typed call, every platform. Bluesky, Instagram, LinkedIn, Threads, TikTok, X, and YouTube wired to one client.

GitHub stars Follow @leodev on X

Typed social platform integrations for TypeScript applications. Use direct platform adapters or an optional managed backend while keeping account selection, capabilities, content, and delivery outcomes explicit.

  • Direct adapters for Bluesky, Instagram, LinkedIn, Threads, TikTok, X, and YouTube
  • Optional managed backends for Zernio, Post for Me, PostFast, and Postiz
  • Typed capability manifests and platform-native operations behind explicit subpath imports
  • Independent per-destination outcomes for complete, processing, uncertain, and failed work
  • A deterministic mock backend for local development and contract tests
  • An offline CLI for adapter discovery, capability checks, diagnostics, and request validation

Install

Social SDK runs in trusted server-side code on Node.js 22.12+ or Bun. Keep platform tokens, managed-provider keys, OAuth secrets, and webhook secrets out of browser bundles.

npm install @opencoredev/social-sdk
# or
bun add @opencoredev/social-sdk

For application setup and integration options, see the installation guide.

Usage

Start with the mock backend to verify an integration without credentials, platform calls, or billable provider requests:

import { createSocial, connectedAccountRef } from "@opencoredev/social-sdk";
import { mockBackend } from "@opencoredev/social-sdk/testing";

const social = createSocial({
  backend: mockBackend({ scenario: "immediate-text-success" }),
});

const result = await social.posts.publish({
  targets: [
    {
      account: connectedAccountRef({
        backend: "default",
        platform: "x",
        accountId: "mock-account-1",
      }),
    },
  ],
  content: { text: "Hello from Social SDK" },
  idempotencyKey: "quickstart-1",
});

console.log(result.status, result.outcomes[0]?.state);
// complete published

The same client shape works with a direct platform adapter or a managed backend. Import only the adapter you use from its documented subpath.

Platforms and backends

Direct platform adapters cover Bluesky, Instagram, LinkedIn, Threads, TikTok, X, and YouTube. Hosted execution routes are available through the Zernio, Post for Me, PostFast, and Postiz adapters. Managed services are optional; a direct integration does not require a Social SDK account.

Read the platform capability matrix before choosing an adapter. It describes the normalized operations implemented by each integration and does not replace provider permissions, account eligibility, or live verification.

CLI

The social-sdk CLI is offline. It does not authenticate accounts, upload media, publish content, or make hidden network requests.

social-sdk adapters --json
social-sdk capabilities --adapter youtube --json
social-sdk doctor --adapter zernio --json
social-sdk examples --json
social-sdk validate --adapter mock --file request.json --json

See the CLI reference for command output, validation limits, and exit codes.

Documentation

Full documentation lives at social-sdk.dev/docs. Good places to start:

  • Installation
  • Mock quickstart
  • Choose an integration
  • Publish content
  • Handle outcomes and reconciliation

Sponsors

Social SDK is supported by companies that help keep platform integrations practical and maintained. Want your logo here? Become a sponsor →

  • PostFast, social media scheduling with a public API
  • Postiz, open-source social media scheduling, hosted or self-hosted

Social SDK sponsors

MIT License · Built by @leodev