Rust SDK

Social media SDK
for Rust

Post, schedule, reply and report on 13 platforms from async Rust, on tokio with rustls.

Install in one lineFrom crates.io, for Rust 1.75 or later, with tokio. The source is on GitHub under MIT.cargo add omnisocials
Async-first, rustlsBuilt on reqwest with rustls-tls, so there is no OpenSSL to fight. Works with tokio out of the box.reqwest + rustls
Typed params, honest errorsRequest params are serde structs with optional fields skipped automatically. Every failure maps to one Error enum variant you can match on.omnisocials::Error

Fits the Rust stack you use

The same client in Axum and Actix Web. Each example schedules a post from your own code.

Axum~/released
1use axum::{routing::post, Json, Router};
2use omnisocials::{Client, CreatePostParams};
3use serde_json::Value;
4
5async fn launch() -> Json<Value> {
6 let client = Client::from_env().unwrap(); // reads OMNISOCIALS_API_KEY
7
8 let post = client
9 .posts()
10 .create(CreatePostParams {
11 content: "Launch day is here".into(),
12 channels: Some(vec!["instagram".into(), "linkedin".into()]),
13 scheduled_at: Some("2026-11-03T09:00:00Z".into()),
14 ..Default::default()
15 })
16 .await
17 .unwrap();
18
19 Json(post["data"].clone())
20}
21
22fn router() -> Router {
23 Router::new().route("/launch", post(launch))
24}

One client for the whole API

Posts, media, the inbox, analytics and webhooks sit on the same client, with the same names in every language.

Retries, errors and webhook checks built in

All eight follow one design. They retry what fails for a moment, raise a clear error for the rest and check every webhook signature.

Automatic retriesRate limits, server errors and dropped connections retry with backoff. Retry-After is respected.2 retries by default
Errors you can catchOne class per failure: authentication, validation, not found, rate limit, server and connection.Error::RateLimit
Timeouts you setSet the timeout, the retry count and the base URL per client. The defaults fit most apps.30 s per attempt
Webhook checksHMAC-SHA256 with a constant-time compare and a 5-minute replay window.webhooks::verify_signature()

The Rust package

Released with the other seven SDKs from one changelog. Need another language? See all eight on the SDK page.

All SDKs
Package
omnisocials
Install
Version
0.9.0Released Oct 5, 2026
Requires
Rust 1.75 or later, with tokio
Dependencies
reqwest with rustls
Client
Client::from_env()
Responses
serde_json::Value
Webhooks
webhooks::verify_signature()

Frequently
Asked Questions

Robert Ligthart
Robert LigthartFounder of OmniSocials
Ask me a question

Robert Ligthart
Still have a question?Ask Robert, the founder
Ask

Install it.Post today.

The SDKs, the API, the CLI and the MCP server come with every plan: $10 per seat per month, billed annually.