SaaS teams
Let your users publish to social networks from inside your product.
TrackMedia API
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.
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', });
# validate against every platform, create nothing trackmedia post "Shipping the new scheduler today." \ --to bluesky linkedin threads --dry-run # then schedule it for real trackmedia post "Shipping the new scheduler today." \ --to bluesky linkedin threads --at "tomorrow 9am"
# Any MCP client: paste the URL https://mcp.trackmedia.app/mcp # Claude Code claude mcp add --transport http trackmedia \ https://mcp.trackmedia.app/mcp # 22 tools, including: create_post validate_post enqueue_post reschedule_post retry_failed_target get_post_analytics upload_media_from_url
Each network has its own auth, media upload, limits and error codes.
A login that lapses on a Friday breaks publishing until someone notices.
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.
Signed webhooks tell your systems when a post publishes, fails or is retried, and when an account's login is about to expire.
Let your users publish to social networks from inside your product.
Post release notes from CI with the CLI, with a dry run on every pull request.
Call the REST API from an agent that does not speak MCP.
Under Settings, API keys, with the scopes you need.
@trackmedia/sdk for TypeScript, or the trackmedia command.
Try it with --dry-run, then schedule it for real.
Create a key on the free plan and publish with a dry run first.
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
Yes. The plans differ only in how many API keys and webhook endpoints you can create.
Yes, a typed TypeScript SDK, published as @trackmedia/sdk.
Send an idempotency key with each write. A retried request with the same key returns the first result instead of creating a second post.
Yes. Agents that speak MCP can use the MCP server instead, which wraps the same API.
Start on the free plan with 15 posts a month. Move to Creator for $99 a year when you need 30 channels.