One endpoint. Every network.
Add multi-platform publishing to your product with a single API call. One request fans out to twelve social networks — natively formatted and scheduled. No twelve OAuth flows, no twelve rate limiters, no twelve sets of docs.
- networks
- 12
- endpoints
- 7
- API key
- 1
- in & out
- JSON
curl https://postmyish.com/api/v1/posts \
-H "Authorization: Bearer pmi_live_9f2c…" \
-H "Content-Type: application/json" \
-d '{
"caption": "We just shipped v2 🚀",
"platforms": ["tiktok","instagram","x","linkedin"]
}'Live in three steps, not three days
Create a key, connect a profile, publish. Every snippet below is real — copy it, add your key, and it runs.
Create an API key
In the dashboard, open Settings → API keys and create one. The secret is shown once — drop it into your environment.
export POSTMYISH_KEY="pmi_live_9f2c…"
# Verify it works
curl https://postmyish.com/api/v1/me \
-H "Authorization: Bearer $POSTMYISH_KEY"Connect a profile
Link the networks you want to publish to from the Accounts page — each through its official OAuth. Then list them over the API.
curl https://postmyish.com/api/v1/accounts \
-H "Authorization: Bearer $POSTMYISH_KEY"Publish everywhere
One POST fans your content out to every connected network — captions and crops adapted per platform. Add schedule_at to queue it instead.
await fetch("https://postmyish.com/api/v1/posts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POSTMYISH_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
caption: "Hello, every feed 👋",
platforms: ["x", "linkedin", "threads", "bluesky"],
schedule_at: "2026-08-01T09:00:00Z",
}),
});A REST API you already know how to use
One base URL, Bearer-token auth, and plain JSON. If your language can make an HTTP request, it can publish everywhere — no SDK required.
REST API
Resource-oriented endpoints, predictable JSON, and real HTTP status codes. Bearer-token auth over HTTPS — that’s the whole contract.
- Authorization: Bearer pmi_live_…
- Lists return { data: [...] }
- Errors return { error } + a status code
Any language
No SDK to install and no lock-in. Reach for fetch, requests, or plain curl — the request is the same everywhere.
curl https://postmyish.com/api/v1/me \
-H "Authorization: Bearer $POSTMYISH_KEY"A small, predictable surface
Everything is a resource, and every response is boringly consistent JSON. Bearer-token auth over HTTPS — that's the whole contract.
https://postmyish.com/api/v1v1 · stable/meVerify your key and read your plan, limits, and usage.
/postsPublish now, or schedule with schedule_at, across every selected network.
/postsList your posts with per-network delivery status. Filter by ?status=.
/posts/:idFetch one post with its status and metrics.
/posts/:idCancel a scheduled post or remove a draft before it ships.
/accountsList connected profiles and the handles you publish as.
/analyticsPull reach, engagement, and follower totals per network.
Real today, honest about tomorrow
The REST API above is live and stable. These are the pieces we’re building next — listed as plans, not promises.
Official SDKs
PlannedTyped Node and Python libraries that wrap this REST API. Until they land, call it directly — the examples above are the whole integration.
AI agent (MCP)
PlannedAn MCP server so Claude, GPT, or Gemini can publish through PostMyIsh from plain-language instructions.
Webhooks
PlannedSigned events for post.published, post.failed, and account changes — so your app can react the moment something ships.
Security by default
Official OAuth 2.0
Every network connects through its own OAuth flow. We never see or store a social password.
Hashed secrets
Passwords use salted scrypt; API keys are stored only as SHA-256 hashes. A database leak exposes no usable credential.
HTTPS & revocable keys
All API traffic is encrypted in transit. Keys are scoped to your account and revocable in one click.
Formal certifications (like SOC 2) aren’t in place yet — when they are, you’ll read about it here, not before.
Ready to post your ish everywhere?
Connect your accounts, write one caption, and be live on every feed in minutes. The free plan is genuinely free.