trackagoat logotrackagoat/Docs

Command Palette

Search for a command to run...

Getting started

  • Welcome
  • Quickstart
  • Core concepts

Guides

  • Creators & Accounts
  • Creators
  • Instagram tracking
  • YouTube tracking
  • Videos
  • Campaigns
  • Creator Goals
  • Tracking Inbox
  • Content calendar
  • How scraping works
  • Analytics & metrics
  • Similar creator pools
  • Over-posting & suppression
  • Program Health
  • Sentiment Radar
  • API keys
  • Limits & plan tiers
  • Notifications
  • Payouts
  • Shareable creator pages
  • Conversions

API reference

  • Overview
  • Authentication
  • Errors
  • Projects
  • Creators
  • Accounts
  • Share Links
  • Videos
  • Content Groups
  • Campaigns
  • Analytics
  • Aggregate Analytics
  • Goal Compliance
  • Payouts
  • Conversions
  • Schema

For agents

  • Agent guide
  • Data model
  • MCP & tooling

Platform

  • Brand
  • Changelog
  • Support
DocsGuides

Limits & plan tiers

How trackagoat enforces per-organization and per-user limits based on plan tier, and how limits surface in the UI and API.

PreviousAPI keysNextNotifications

On this page

  • Plan tiers
  • Limit keys
  • How limits are enforced
  • When you hit a limit
  • Per-user limits
  • Requesting a raise

trackagoat enforces per-organization limits based on your plan tier. This page explains what each limit does, how they're enforced, and what happens when you hit one.

Tracking limits count accounts: the platform presences that actually get scraped: not creators. You can add as many creators as you like; you're limited by how many accounts (across TikTok, Instagram, and YouTube) you track. See Creators & Accounts.

Plan tiers

These values are read live from the current plan configuration, so they always reflect the limits in force today. Tier upgrades are handled manually: email support@trackagoat.com with your org name and the tier you'd like.

Limit keys

LimitWhat it caps
max_accounts_per_orgActive tracked accounts (platform presences) across all projects: creators themselves are uncounted
max_tracked_videos_per_orgIndividually tracked videos across all projects
max_projects_per_orgProjects in your org
max_members_per_orgTeam members in your org
max_campaigns_per_projectCampaigns per project
max_campaign_items_per_campaignItems per campaign
max_api_keys_per_orgActive API keys
max_api_requests_per_dayv1 API requests per UTC calendar day

How limits are enforced

Count limits (accounts, projects, members, etc.) are enforced atomically: two concurrent requests cannot both succeed past the cap. You'll see a modal in the UI explaining which limit was hit.

Daily limits (API requests, manual updates) reset at UTC midnight. If you hit your daily API limit, requests return HTTP 429.

Update frequency floors (min_*_hours) set a minimum interval between scheduled updates: your configured frequency is clamped to no lower than the tier minimum. These floors do not apply to manual "Update Now" triggers, which are governed instead by max_manual_scrape_triggers_per_day. See How scraping works for a full breakdown of manual vs. automatic data collection.

Stats retention: a daily background job prunes history older than your retention window. Ultra tier has unlimited retention.

When you hit a limit

In the dashboard: A modal appears with the limit key, your current count, and the cap. If your org is retroactively over a limit (e.g., after a tier downgrade), a banner appears at the top of every page until the org is back within limits.

In the API: Count limits return HTTP 402:

json
{
  "data": null,
  "error": "Limit reached: max_accounts_per_org",
  "meta": {
    "code": "limit_reached",
    "limitKey": "max_accounts_per_org",
    "current": 5,
    "max": 5
  }
}

Daily rate limits return HTTP 429:

json
{
  "data": null,
  "error": "Rate limit exceeded",
  "meta": {
    "code": "rate_limit_exceeded",
    "retryAfter": 3421
  }
}

retryAfter is seconds until UTC midnight when the counter resets.

Per-user limits

One limit applies per user rather than per org:

LimitDescription
max_orgs_per_userMaximum orgs a user can belong to

The default is 6. If you need to belong to more orgs, contact support.

Requesting a raise

Limits are adjusted by the trackagoat team. There is no self-serve upgrade path yet.

To request a raise:

1

Email support

Email support@trackagoat.com with your org name and which limit you need raised.

2

Receive your override

We'll apply a per-org override. Overrides take effect immediately with no restart required.

max_manual_scrape_triggers_per_day
Manual "Update Now" triggers per UTC day
max_payout_methods_per_orgPayout methods (built-in + custom) per org
max_payout_structures_per_projectPayout structures per project
max_conversion_events_per_projectActive conversion event types per project. Deactivating one frees a slot. Conversion volume is never capped.
min_video_stats_hoursMinimum hours between video stats updates
min_discover_videos_hoursMinimum hours between video discovery runs
min_creator_profiles_hoursMinimum hours between creator profile updates
stats_history_retention_daysDays of stats history retained before pruning
TierAccountsTracked videosProjectsMembersAPI requests/dayManual updates/dayStats retention
Free510120090 days
Starter50100351,0001365 days
Ultra3003,000105050,0003Unlimited