#linkedin #api-client #api #client

gen-linkedin

Minimal LinkedIn Posts API client for CI usage

2 releases

0.1.1 Feb 1, 2026
0.1.0 Jan 6, 2026

#2008 in Authentication

Download history 90/week @ 2026-01-06 145/week @ 2026-01-27 64/week @ 2026-02-03

219 downloads per month
Used in pcu

MIT/Apache

18KB
201 lines

gen-linkedin: Minimal LinkedIn API client for CI usage

This crate exposes a small surface area focused on creating text posts for release announcements. HTTP and auth details are encapsulated so callers only need to provide an access token and author URN.


gen-linkedin

Minimal LinkedIn API client for CI pipelines. Focuses on creating simple text posts for release announcements.

  • Default feature: posts (new REST Posts API)
  • Optional features: ugc (legacy v2 UGC Posts), oauth2 (helpers for interactive flows)

Usage (CI)

Provide a bearer token via env var and create a post:

use gen_linkedin::{auth::EnvTokenProvider, client::Client};
#[cfg(feature = "posts")] use gen_linkedin::posts::{PostsClient, TextPost};

# async fn demo() -> Result<(), gen_linkedin::Error> {
let token = EnvTokenProvider { var: "LINKEDIN_ACCESS_TOKEN".into() };
let li = Client::new(token)?;
let posts = PostsClient::new(li);
let post = TextPost::new("urn:li:person:...", "Hello LinkedIn!");
let _resp = posts.create_text_post(&post).await?;
# Ok(())
# }

Security

  • Never log tokens; store in your CI secret manager.
  • Uses rustls; no OpenSSL required.

Dependencies

~6–21MB
~228K SLoC