> Source: https://www.trackmedia.app/features/api · Last updated: 2026-10-20

# 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.

- **Full parity:** If the dashboard can do it, the API can do it, in the same release.
- **Safe to retry:** Every write accepts an idempotency key, because people double-click and scripts retry.
- **Dry runs:** Validate 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.

## 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.

## 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

## How it works

1. **Create an API key.** Under Settings, API keys, with the scopes you need.
2. **Install the SDK or CLI.** @trackmedia/sdk for TypeScript, or the trackmedia command.
3. **Send your first post.** Try it with --dry-run, then schedule it for real.

## Questions

### 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.

[Start for free](https://go.trackmedia.app/signup) · [Pricing](https://www.trackmedia.app/pricing)
