TrackMedia API

A social media API with everything the dashboard can do

Publish to 21 networks from your own product or scripts. The typed SDK, the CLI and the REST API get every feature in the same release as the dashboard.

  • Free plan with 15 posts a month
  • No card needed
  • Paid plans from $8.25 a month
import { TrackMedia } from '@trackmedia/sdk';

const tm = new TrackMedia({ apiKey: 'tmk_…' });
const accounts = await tm.accounts.list();

const post = await tm.posts.create({
  content: { text: 'Shipping the new scheduler today.' },
  targets: accounts.items.map((a) => ({ accountId: a.id })),
  scheduledAt: '2026-10-06T09:00:00.000Z',
  timezone: 'Europe/London',
});
Full parityIf the dashboard can do it, the API can do it, in the same release.
Safe to retryEvery write accepts an idempotency key, because people double-click and scripts retry.
Dry runsValidate a post against every network's rules from the CLI before anything is created.

Building on 21 network APIs is a full-time job

Every API is different

Each network has its own auth, media upload, limits and error codes.

Tokens expire quietly

A login that lapses on a Friday breaks publishing until someone notices.

Retries that double-post

A timeout and a retry can publish the same post twice.

TrackMedia gives you one API for all 21 networks, warns you before logins expire and makes every write safe to retry.

Webhooks for every change

Signed webhooks tell your systems when a post publishes, fails or is retried, and when an account's login is about to expire.

  • post.published and post.target.published
  • account.token_expiring, 7 days ahead
  • A signature on every delivery

Who uses api and cli

SaaS teams

Let your users publish to social networks from inside your product.

Developers

Post release notes from CI with the CLI, with a dry run on every pull request.

Agent builders

Call the REST API from an agent that does not speak MCP.

How it works

  1. 1Create an API key

    Under Settings, API keys, with the scopes you need.

  2. 2Install the SDK or CLI

    @trackmedia/sdk for TypeScript, or the trackmedia command.

  3. 3Send your first post

    Try it with --dry-run, then schedule it for real.

Send your first post from code

Create a key on the free plan and publish with a dry run first.

Get a free API keyNo card needed. 15-day refund on paid plans.

API and CLI is in every plan

No feature is held back for a higher plan. Pick one by how many channels you run.

All 21 networks on every plan · 15-day refund on paid plans · Compare plans

Questions about api and cli

Is the API included in every plan?

Yes. The plans differ only in how many API keys and webhook endpoints you can create.

Is there an SDK?

Yes, a typed TypeScript SDK, published as @trackmedia/sdk.

How do I avoid double posts on retry?

Send an idempotency key with each write. A retried request with the same key returns the first result instead of creating a second post.

Can AI agents use the API?

Yes. Agents that speak MCP can use the MCP server instead, which wraps the same API.

Distribute everywhere. Track every click.

Start on the free plan with 15 posts a month. Move to Creator for $99 a year when you need 30 channels.

No card required Every network in every plan Plans from $99 a year