Post with Go

Post to social media
with Go.

PostLake is one REST endpoint for every social network, so from Go you post with the standard net/http package — no per-platform library, no OAuth code, one normalised response.

Get started free →

No card for the free tier · one API for every network · full MCP access

The fastest way: ask your agent

Prefer no code at all? Connect PostLake's hosted MCP server to your AI assistant (Claude, ChatGPT, Cursor and others) and just ask it to post. It authorizes over OAuth — no key to paste. See the MCP guide.

Post with Go

This is the whole integration — connect your accounts once in the dashboard, then:

package main

import (
	"bytes"
	"encoding/json"
	"net/http"
)

func main() {
	body, _ := json.Marshal(map[string]any{
		"text":      "Hello from Go 👋",
		"platforms": []string{"bluesky", "linkedin"},
		"profile":   "my-brand",
	})
	req, _ := http.NewRequest("POST",
		"https://api.postlake.dev/v1/posts", bytes.NewReader(body))
	req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
	req.Header.Set("Content-Type", "application/json")
	http.DefaultClient.Do(req) // returns one post id + live URLs
}

Step by step

  1. Create an API key in your dashboard (Settings → API Keys).
  2. Connect your accounts under a profile once, in the dashboard.
  3. POST to /v1/posts with net/http — no third-party dependency needed.
  4. Decode the normalised response: a post id and a targets array with each network's live URL.

Good to know

Why PostLake

One call, every network

List the platforms in one request and PostLake posts to all of them, returning a single normalised shape — your code never branches per platform.

No app setup

PostLake manages each network's developer app and OAuth for you — nothing to register or get reviewed yourself.

Agent-safe

Idempotency keys mean a retry never double-posts, and analytics come back normalised so an agent can decide what to post next.

Honest pricing

A free tier to start, then usage-based credits — one per post. You only pay for posts that actually publish.

Common questions

How do I post to social media with Go?

Marshal a JSON body and POST it to PostLake's /v1/posts endpoint with net/http, setting an Authorization: Bearer header. One request publishes to every network you list and returns a single normalised response.

Is there a Go SDK I need?

No — the standard net/http package is enough, because PostLake exposes one REST endpoint for every network.

Can I schedule a post from Go?

Yes — add a scheduledAt timestamp to the request body and PostLake publishes at that time.

More guides

Python · Node.js · n8n · Make · Zapier · All guides · Full docs

One API and MCP server for every major network. Free to start.

Get started free →