The trackagoat v2 API gives programmatic read and write access to your organization's data. All endpoints are under /api/v2/ and require API key authentication.
OpenAPI spec:GET /api/v2/openapi.json: importable into Postman, Insomnia, or any OpenAPI-compatible tool.
Base URL:https://www.trackagoat.com/api/v2
The apex domain trackagoat.com redirects to www.trackagoat.com. Always use www.trackagoat.com as your base URL to avoid redirect overhead.
The multi-platform model
Trackagoat 2.0 is multi-platform. A creator is a person or brand, and an account is one of their presences on a platform (tiktok, instagram, or youtube). A creator owns one or more accounts, and videos hang off accounts.
Creators embed their accounts[] array and expose a derived top-level handle (the primary account's handle: TikTok first, else earliest-created).
Tracking configuration (tracking_mode, start/end dates, the handle) lives on the account, not the creator.
Plan limits count accounts: the thing that gets scraped: not creators.
Analytics and stats endpoints accept ?from=YYYY-MM-DD&to=YYYY-MM-DD. Both default to the last 30 days if omitted.
bash
GET /api/v2/analytics?entity=creator&entity_id=<uuid>&metric=views&from=2026-01-01&to=2026-03-31
API key scopes
Keys carry explicit permission scopes set at creation time:
Scope
Grants access to
read
All GET endpoints
write
All POST, PATCH, and DELETE endpoints
admin
Platform-admin-only endpoints (key owner must also be a platform admin)
Write endpoints reject keys that only have read scope with 403 insufficient_scope.
Idempotency
POST endpoints that create resources accept an Idempotency-Key header. Replaying the same key within 24 hours returns the cached response: safe for agent retries.
The current version is v2. All endpoints live under /api/v2/.
v1 has been removed. Every /api/v1/* path now returns 410 Gone with a pointer to its successor:
json
{ "data": null, "error": "API v1 has been removed. Use /api/v2. See /docs/api-reference/overview.", "meta": { "code": "api_version_removed", "successor": "/api/v2" }}
The response also carries a Link: </api/v2>; rel="successor-version" header. If you are migrating from v1, the biggest change is the accounts model: a creator no longer has a tiktok_handle. It carries an accounts[] array, and you create creators with a list of accounts.