LazyRelay for Developers
Schedule and publish posts, upload media, read analytics and run client approvals from your own code, your terminal, an AI agent or an automation tool. Every post can be checked for real Proof-of-Publish status, not just an accepted request.
Ways to connect
REST API
The same API LazyRelay's own dashboard runs on. Create an API key in your dashboard's API Keys tab (keys start with lzr_live_) and send it as a bearer token. The full reference is at lazyrelay.com/docs.
The whole API is also described as OpenAPI 3.1 at https://lazyrelaylazyrelay-backend.onrender.com/api/openapi.json. Postman, code generators and anything else that reads OpenAPI can use it.
MCP server
Connect Claude, ChatGPT, Cursor, VS Code, Gemini CLI, Codex CLI and other AI agents to your account with 27 tools. Use the hosted server at https://lazyrelaylazyrelay-backend.onrender.com/mcp and sign in with your LazyRelay account, or run the local package @lazyrelay/mcp-server with an API key. Setup guides for each tool are at lazyrelay.com/mcp.
Node SDK and command line tool
@lazyrelay/sdk is a typed client for the REST API plus a lazyrelay command line tool. It is MIT licensed, has no runtime dependencies and needs Node 18 or newer.
npm install @lazyrelay/sdk
To use the command line tool without adding it to a project:
npx @lazyrelay/sdk whoami
Pass your key through the LAZYRELAY_API_KEY environment variable rather than writing it into code or a command. A few real commands:
export LAZYRELAY_API_KEY=lzr_live_...
lazyrelay whoami
lazyrelay accounts
lazyrelay rules instagram
lazyrelay posts schedule --account <id> --text "We just launched!" --at 2026-10-01T09:00:00Z --media ./launch.png --tag launch
lazyrelay posts list --status pending
lazyrelay analytics --days 7
In code:
import { LazyRelay } from "@lazyrelay/sdk";
const lr = new LazyRelay({ apiKey: process.env.LAZYRELAY_API_KEY });
const accounts = await lr.accounts.list();
const instagram = accounts.find((a) => a.platform === "instagram")!;
const post = await lr.posts.schedule({
socialAccountId: instagram.id,
content: "We just launched!",
scheduledFor: "2026-10-01T09:00:00Z",
});
console.log(post.id, post.status); // "pending"
A post goes to one account, so call posts.schedule once per account to post to several. Publishing is queued, so check post_results[0].verified_live afterwards to see that it went live. The SDK also includes a helper to verify the signature on webhooks LazyRelay sends you.
n8n
The n8n-nodes-lazyrelay community node (MIT, on npm) adds a LazyRelay node and a LazyRelay Trigger node that starts a workflow when a post goes live or fails. Setup and status are on the n8n guide.
Make and Zapier
Make works today through its built-in HTTP and Webhooks modules against the public API. Zapier is an invite-only app, and its page has the link to connect.
Platforms
LazyRelay posts to 17 platforms: Facebook, Instagram, TikTok, Pinterest, YouTube, LinkedIn, Threads, Mastodon, Bluesky, Telegram, Discord, Tumblr, WordPress (self-hosted), dev.to, Hashnode, Lemmy and Slack. X is coming soon. Use the platform rules endpoint (or the get_platform_rules MCP tool, or lazyrelay rules) to see what each platform accepts before you post.
Need an API key? API, MCP and SDK access is included on every plan, including Free.
See plans and get started free