trackagoat logotrackagoat/Docs

Getting started

  • Welcome
  • Quickstart
  • Core concepts

Guides

  • Creators
  • 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

API reference

  • Overview
  • Authentication
  • Errors
  • Projects
  • Creators
  • Videos
  • Campaigns
  • Analytics
  • Aggregate Analytics
  • Payouts
  • Schema

For agents

  • Agent guide
  • Data model
  • MCP & tooling

Platform

  • Brand
  • Changelog
  • Support
DocsFor agents

Data model

Entity reference for AI agents — fields, relationships, and description field conventions.

PreviousAgent guideNextMCP & tooling

On this page

  • Hierarchy
  • Entity reference
  • Project
  • Creator
  • Video
  • Campaign
  • Description field conventions
  • Payout entities
  • Payout Method
  • Payout Structure
  • Payout Accrual
  • Payout Payment

Hierarchy

text
Organization
  └── Project(s)
        ├── Creator(s)   — TikTok accounts
        │     └── Video(s) — videos from this creator
        ├── Video(s)     — standalone videos added by URL
        └── Campaign(s)  — named groupings (can nest)
              ├── → Creator(s)
              ├── → Video(s)
              └── → Campaign(s) (recursive)

Data is scoped to the organization of the API key. A single API call fetches data across all projects unless you filter by project_id.

Entity reference

Project

FieldTypeNotes
iduuid
namestring
descriptionstring | nullAgent context — read before analyzing
org_iduuid
created_atISO 8601
updated_atISO 8601

Creator

FieldTypeNotes
iduuid
project_iduuid
tiktok_handlestringWithout @
display_namestring | nullFrom TikTok
descriptionstring | nullAgent context — read before analyzing
metadata

When tracking_mode is selective, some recent videos may be in pending_review and excluded from stats until reviewed.

Video

FieldTypeNotes
iduuid
creator_iduuid | nullNull for direct-add videos
urlstringFull TikTok URL
descriptionstring | nullAgent context
metadataobjectAgent-writable
view_countnumber

excluded videos are never returned by the API.

Campaign

FieldTypeNotes
iduuid
project_iduuid
namestring
descriptionstring | nullAgent context — strategy, benchmarks, instructions
metadataobjectAgent-writable
created_atISO 8601

Campaigns can contain sub-campaigns. /campaigns/<id>/stats recursively aggregates the full tree.

Description field conventions

Humans write description fields to communicate context to agents. Common patterns:

text
# Campaign description
"Q1 creator push for Product X. Target: 1M views by March 31.
Top performers from last quarter: @creator1, @creator2.
Exclude any videos not directly about Product X."
 
# Creator description
"Fitness creator, 3x/week posting cadence. Best content: workout tutorials.
Known issue: also posts food content unrelated to program — use selective mode.
Last contract renewal: Jan 2026."
 
# Video description  
"Strong outlier — 10x normal views. Trending audio #fitnesscheck helped.
Not representative of creator's normal performance."

When a description contains explicit analysis instructions, follow them over your general analysis approach.


Payout entities

Payout Method

FieldTypeNotes
iduuid
org_iduuid
namestringe.g. "Venmo", "Cash App"
icon_urlstring | nullPublic icon URL
is_defaultbooleanAuto-seeded defaults cannot be deleted
is_activeboolean

Payout Structure

FieldTypeNotes
iduuid
project_iduuid
namestring
is_activebooleanArchived structures stop generating accruals
current_versionobjectActive rule snapshot: period, amount_cents, currency, criteria_type, ,

criteria_type values: recurring (flat-rate every period), goals (pays when creator meets their period goals), cpm (pays per 1,000 views on posts within the period).

Payout Accrual

Computed by an hourly cron (:15 past each hour) after relevant scrapers complete. Cannot be created via the API.

FieldTypeNotes
iduuid
creator_iduuid
structure_iduuid
structure_version_iduuidThe rule version active at period end (pinned)
period_start_atISO 8601Inclusive, UTC
period_end_atISO 8601

To find unpaid accruals for a creator: GET /api/v1/payout-accruals?creator_id=<id>&status=earned

Payout Payment

FieldTypeNotes
iduuid
project_iduuid
creator_iduuid | nullNull for ad-hoc payments
method_iduuid | null
method_name_snapshotstring | nullCaptured at write time
total_amount_centsnumber

Use auto_apply_outstanding: true on POST to settle all earned accruals for a creator in one call. Set Idempotency-Key header to safely retry.

object
Agent-writable structured data
tracking_modeauto | selectiveControls which videos enter the system
follower_countnumberCurrent snapshot
total_likes_countnumberCumulative total likes
video_countnumberCurrent total videos
last_scraped_atISO 8601 | nullWhen stats were last refreshed
is_activeboolean
Current snapshot
like_countnumber
comment_countnumber
share_countnumber
tracking_statusstringauto_tracked, included, excluded, pending_review, direct_add
posted_atISO 8601 | nullOriginal post date on TikTok
last_scraped_atISO 8601 | null
updated_atISO 8601
Disabled methods won't appear in payment dialogs
metadataobjectAgent-writable
readmestring | nullAgent-writable notes
criteria_params
proration_mode
versionsarrayFull version history (GET by ID only)
assignment_countnumberCurrently assigned creators
metadataobjectAgent-writable
readmestring | nullAgent-writable notes
Exclusive, UTC
amount_centsnumberPost-proration, in cents
currencystringCurrently always USD
statusstringearned → paid (via payment) or rejected/voided (manual)
inputs_snapshotobject | nullData used to compute (goals_met, impressions, etc.)
statusstringpaid or voided
paid_atISO 8601
payout_payment_linesarrayM2M to accruals with applied_amount_cents
payout_adjustmentsarrayOver/underpayment lines (positive = overpayment, negative = underpayment)
metadataobjectAgent-writable
readmestring | nullAgent-writable notes