Skip to main content

API and agents

Run your program with Claude Code, Codex or another coding agent.

The data model, the API, the MCP server and the docs were built with agents in mind. Creators, videos, campaigns, goals, payouts and Insights are all in the REST API and the hosted MCP server, so your agent can do the day-to-day work with you. Org setup (members, invites and API keys) stays in the app.

An agent calls trackagoat’s MCP tools and answers from the same data you see in the dashboard.

Make a key, call the API, and retry without worrying.

  1. Make a key. Pick its scopes and the teammate it acts as. A key covers every project in your organization and can never do more than that teammate can.

  2. Call an endpoint. Send the key as a Bearer token. Lists return 50 items by default and up to 100, with a cursor for the next page.

  3. Retry without duplicates. Send an Idempotency-Key with a write. A retry within 24 hours gets the first response back instead of running twice.

A hosted MCP server for Claude and other agents.

Point any MCP client at https://www.trackagoat.com/api/mcp. Agents can read everything the API returns, including Program Health, and with write access do what the API does: add and change creators, videos, campaigns and goals, set up payouts and record payments.
  • Same permissions as the person. A connection acts as one teammate and can never do more than they can in the app. Read-only access changes nothing.
  • Destructive tools are marked. Tools that delete or void data are flagged so your client can ask you first. Members, invites and API keys are managed in the app.
  • You decide about money. An agent can send a payout only after an org admin turns on agent payments, and only within the per-payout and 24-hour limits you set.

Connect over MCP

A Markdown document on every record.

Every org, project, campaign, creator, video and payout record in trackagoat has a Markdown document that people and their agents read and write. Agents read the relevant ones before they act and add what they find.
  • One for each teammate. A personal document says who they are and how they want help. Their agent gets it at the start of every session and can help write it.
  • Nothing gets overwritten. Agents add a dated section by default. Replacing a document fails if someone changed it since the agent read it.
  • Everyone can read them. Every document is visible to everyone in the org and their agents, so keep private things out.

Notes and documents

Connect Claude.ai with OAuth.

Add trackagoat as a connector in Claude.ai and sign in. You pick one organization, and whether the app can make changes or only view data. You can revoke access any time from Settings → Connected Apps.
  • Never admin. OAuth connections can only get read and write access, never admin.
  • Shared quota. Connected apps don’t use up an API key, but their calls count toward your daily request limit.

Writes are scoped and safe to retry.

A key can have read, write and admin scopes. Write requests take an Idempotency-Key header, and recording a payment requires one, so a retried request never records the same payment twice.
  • Clear errors. Errors use the same envelope with a code, such as insufficient_scope, limit_reached or rate_limit_exceeded.
  • Rate limits. 60 requests a minute per key plus a daily limit by plan. A 429 includes Retry-After.

Authentication and scopes

The 125 MCP tools.

Each tool call counts as one API request, except get_changelog. The data model is also available to agents as a resource.

  • list_projectsreadProjects in the organization
  • list_creatorsreadCreators with their accounts and totals
  • get_creatorreadOne creator, with notes and per-account stats
  • list_videosreadTracked videos with current counts
  • list_top_videosreadA project’s top videos by views, likes and more
  • get_video_statsreadOne video’s latest stats and tracking status
  • get_analyticsreadTime series for a video, creator or campaign
  • get_goal_compliancereadGoal target, actual and status per creator
  • list_campaignsreadCampaigns with their notes
  • get_campaign_statsreadCampaign totals for a date range
  • list_payout_accrualsreadEarned, paid or voided payout amounts
  • list_payout_structuresreadPayout rules and their current settings
  • get_program_healthreadHealth verdict, headline numbers and alerts
  • get_schemareadThe data model
  • list_accountsreadPlatform accounts with counts and tracking mode
  • get_accountreadOne platform account in full
  • get_account_statsreadAn account’s follower history
  • list_content_groupsreadThe same content linked across platforms
  • get_content_groupreadOne content group and its videos
  • get_content_group_statsreadCombined views and likes for a content group
  • get_share_linkreadA creator’s shareable page settings
  • get_goal_compliance_summaryreadGoals on track, at risk and missed
  • get_campaign_progressreadEach campaign’s views against its target
  • get_campaign_trendsreadViews, posts and creators posting over time
  • get_member_overlapreadCreators or videos in more than one campaign
  • list_top_creatorsreadCreators ranked by views in a date range
  • list_top_accountsreadAccounts ranked by views in a date range
  • list_outlier_videosreadVideos far above their creator’s median
  • get_creator_scatterreadFollower growth against engagement per creator
  • get_posting_heatmapreadPosts and views by weekday and hour
  • get_posting_consistencyreadPosts per creator per day
  • get_over_posting_risksreadDays with videos held back from tracking
  • get_view_distributionreadHow views spread across a project’s videos
  • list_annotationsreadDated notes on a chart
  • list_conversion_eventsreadKinds of conversion a project records
  • get_conversion_eventreadOne conversion event
  • list_conversionsreadRecorded signups, sales and other conversions
  • get_conversionreadOne recorded conversion
  • get_conversion_summaryreadConversion count and value in a date range
  • list_top_convertersreadCreators ranked by conversion value
  • get_conversion_timeseriesreadConversions per day
  • get_payout_structurereadOne payout rule with its version history
  • list_payout_assignmentsreadCreators on a payout structure
  • get_payout_accrualreadOne earned amount and how it was calculated
  • list_payout_methodsreadHow the organization pays creators
  • get_payout_methodreadOne payout method
  • list_payout_paymentsreadRecorded payments to creators
  • get_payout_paymentreadOne payment and the amounts it settled
  • get_payouts_trackerreadEarned, paid and owed for each creator
  • list_payout_supplementalsreadExtra amounts owed on top of a paid period
  • get_payout_accountreadWhether a creator can be paid from trackagoat
  • get_metric_totalsreadHeadline totals for a project or campaign
  • list_commentsreadComments on tracked videos, with sentiment
  • list_video_commentsreadEverything collected in one video’s comments
  • get_comment_signals_summaryreadComment Insights numbers for a period
  • get_comment_flagsreadAd questions and risky words in recent comments
  • get_comment_settingsreadComment Insights settings and brand terms
  • list_notesreadEvery document in the organization, with previews
  • get_notesreadOne document in full, from the org to a video
  • get_my_profilereadWho the agent is helping, and their document
  • list_membersreadTeammates, and who has a personalization document
  • export_csvreadAny CSV the app exports, as a file to save
  • get_changelogreadWhat’s new in trackagoat
  • add_creatorwriteTrack a creator with one or more accounts
  • add_video_by_urlwriteTrack 1 to 50 TikTok or Instagram videos by URL
  • create_goalwriteA posts, views, engagement or followers goal
  • add_to_campaignwriteAdd a creator, video or sub-campaign
  • trigger_scrapewriteRefresh an account, a creator or a video now
  • set_cpm_view_lifetimewriteHow long a video keeps earning on a CPM payout
  • update_noteswriteAppend to or replace any document or notes
  • update_my_readmewriteSave the personalization document you wrote together
  • add_creatorswriteTrack up to 50 creators in one call
  • add_accountwriteAdd another platform account to a creator
  • update_creatorwriteRename a creator or change their metadata
  • update_accountwriteChange a handle, tracking mode or hashtags
  • reenable_creatorswriteTurn tracking back on for disabled creators
  • remove_creatorwriteStop tracking a creator
  • bulk_remove_creatorswriteStop tracking up to 100 creators
  • remove_accountwriteStop tracking one of a creator’s accounts
  • update_videowriteChange a video’s title or tracking status
  • review_inboxwriteInclude or exclude videos waiting for review
  • set_video_trackingwriteStop or resume tracking one video
  • bulk_set_video_trackingwriteStop or resume tracking up to 200 videos
  • create_campaignwriteCreate a campaign
  • update_campaignwriteRename a campaign or set its view target
  • remove_from_campaignwriteTake a creator, video or sub-campaign out
  • delete_campaignwriteDelete a campaign
  • update_goalwriteChange or pause a goal
  • delete_goalwriteDelete a goal
  • create_content_groupwriteLink the same content across platforms
  • update_content_groupwriteAdd or remove videos in a content group
  • delete_content_groupwriteDelete a content group
  • create_share_linkwriteA PIN-protected page for a creator
  • update_share_linkwriteTurn a share page off, or change its PIN
  • bulk_create_share_linkswriteShare pages for up to 200 creators
  • delete_share_linkwriteDelete a creator’s share page
  • create_annotationwriteAdd a dated note to a chart
  • update_annotationwriteChange a chart note
  • delete_annotationwriteDelete a chart note
  • create_conversion_eventwriteDefine a kind of conversion
  • update_conversion_eventwriteChange or deactivate a conversion event
  • record_conversionswriteRecord up to 500 conversions
  • void_conversionwriteVoid a refunded or invalid conversion
  • create_payout_structurewriteA flat, goal, CPM, bonus or conversion payout
  • update_payout_rulewriteChange how a payout structure pays
  • update_payout_structurewriteRename or un-archive a payout structure
  • archive_payout_structurewriteStop a payout structure
  • delete_payout_structurewriteDelete an unused payout structure
  • assign_payout_structurewritePut creators on a payout structure
  • unassign_payout_structurewriteTake creators off a payout structure
  • set_accrual_statuswriteReject or void an earned amount
  • create_payout_methodwriteAdd a payout method
  • update_payout_methodwriteRename or disable a payout method
  • delete_payout_methodwriteDelete a payout method
  • record_payout_paymentwriteRecord a payment and mark amounts paid
  • send_payoutwritePay a creator from trackagoat, if an admin allows it
  • create_payout_supplementalwriteAdd an amount owed on top of a paid period
  • void_payout_supplementalwriteVoid an extra amount added by mistake
  • update_payout_paymentwriteChange a payment’s notes
  • void_payout_paymentwriteVoid a payment so its amounts are owed again
  • upload_receiptwriteAttach a receipt file to a payment
  • get_receipt_upload_urlwriteA signed URL for a receipt up to 5 MB
  • upload_payout_method_iconwriteSet a payout method’s icon
  • get_payout_method_icon_upload_urlwriteA signed URL for a payout method icon
  • update_comment_settingswriteChange brand and competitor terms for comments

Set up with your coding agent.

Paste this prompt into Claude Code, Codex or Cursor. It walks you through sign-up, connects the MCP server with OAuth and checks the connection. It never asks you to paste a password or an API key into the chat.

What the prompt does

Everything in the API

Every plan includes the REST API and the MCP server, Free too.

API limits by plan

Each key is also limited to 60 requests a minute. MCP tool calls count as API requests.

Compare plans
LimitFreeStarterUltra
API keys115
Requests per day2001,00050,000

API and agent questions

For anything else, email support@trackagoat.com

Start tracking your creators for free.

Free covers 5 accounts and 10 tracked videos, with the API and MCP server included. Add a handle or profile link and their posts start coming in. No card needed.