Who it's for

One API to publish on 8 social networks

Skip eight OAuth integrations and eight sets of rules. Postika gives you a REST API, a remote MCP server and OAuth apps on top of Instagram, TikTok, Facebook, YouTube, X, LinkedIn, Threads and Pinterest.

Step by step

  1. 1

    Create a project and connect the channels you need.

  2. 2

    Create a project API key in Connect AI → Project keys.

  3. 3

    Call GET /api/v1/channels to get channel IDs, limits and media rules.

  4. 4

    Call POST /api/v1/posts with content, channel_ids, when (project local time, YYYY-MM-DD HH:MM) and mode (approval, draft, schedule or now).

What the API looks like

A single request schedules a post:

POST https://postika.app/api/v1/posts with header Authorization: Bearer ptk_… and body:

{ "content": "v2.0 is out: faster sync, new CLI", "channel_ids": ["…"], "when": "2026-11-12 09:30", "mode": "approval" }

The response includes the new post's id and status. Errors are { "error": "…" } with a 4xx status, for example when Instagram is missing media or an X post is over 280 characters. Channels report max_chars and needs_media, so your code can validate before sending. Full reference in the API docs. Background on the concept: social media API.

MCP for agents you build or use

If you are wiring an AI agent rather than writing request code, use the MCP server. It exposes five tools (list_projects, list_channels, list_posts, create_post, delete_post) over streamable HTTP. Clients that support MCP authorization do the OAuth dance on their own: a 401 with resource metadata, dynamic client registration, PKCE, and the user clicks Allow. Agents without OAuth send a project key as a Bearer token.

Ready-made setups: Claude Code, Cursor, VS Code, Gemini CLI, and n8n's AI Agent. Details in the MCP docs.

Rules Postika enforces for you

NetworkTextImagesMedia required
Instagram2,20010Yes
TikTok2,20035Yes
Facebook5,00010No
YouTube5,000video onlyYes
X2804No
LinkedIn3,0009No
Threads50010No
Pinterest5001Yes

One video per post. The API and MCP carry text only: posts on networks that require media should be created as draft or approval, and the media is attached in the app. Times are always in the project's local time zone, so your code never converts to UTC. See all limits in social media limits.

Common developer use cases

  • Release announcements from CI: on each tag, create a pending post for X, LinkedIn and Threads from the release notes.
  • Product features: let users of your app schedule posts by building on Postika with an OAuth app instead of integrating 8 networks yourself. The docs cover OAuth apps.
  • Internal tools: a Slack command or admin panel that drafts posts for the marketing team to approve.
  • Automations: n8n, Make and Zapier recipes with the same request.

Keys are per project, so a key used in one integration cannot reach another project. API access is on every plan, from €29/month for 5 channels (pricing).

Testing your integration safely

Start every integration with mode: "approval" or "draft". Pending and draft posts appear in the project's calendar but are never published, so you can run your code against real channels without posting anything. When the requests look right, delete the test posts with delete_post or from the calendar and switch to schedule. A useful pattern is a separate Postika project for staging, with its own API key and test accounts, so a bug in your staging code can never reach the production calendar. Error messages are plain text, so log them as they come.

Frequently asked questions

Is there an API to post to Instagram, TikTok and LinkedIn at once?

Yes. Postika's REST API publishes to 8 networks with one request format. Pass several channel IDs in channel_ids, or send one request per network when each needs its own text.

Can I upload images or videos through the API?

Not currently. The API and MCP accept text. For networks that need media, create the post as draft or approval and attach the media in the Postika app.

How does authentication work?

The REST API uses project API keys (ptk…) as Bearer tokens. The MCP server also supports OAuth 2.1 with dynamic client registration and PKCE, issuing ptat access tokens and ptrt_ refresh tokens.

Is API access an extra cost?

No. Every Postika plan includes API keys, the MCP server and unlimited posts. Pricing depends only on connected channels.

Try Postika free for 7 days

Connect your networks and your AI in minutes. Cancel anytime.