{
  "carouselLimitsVerifiedAt": "2026-10-04",
  "name": "ClipHabit",
  "description": "ClipHabit is a TikTok scheduler with a batch queue, recurring slots, and a handoff to TikTok drafts.",
  "verifiedAt": "2026-10-14",
  "currency": "USD",
  "status": {
    "inviteOnly": true,
    "tiktokAppReview": "approved",
    "tiktokAppApprovedAt": "2026-10-08",
    "directPostAudit": "approved",
    "directPostAuditApprovedAt": "2026-10-14",
    "paymentsActive": false
  },
  "availabilityText": "ClipHabit is built on TikTok's official Content Posting API and TikTok Login Kit. TikTok approved the ClipHabit app on October 8, 2026, and approved its Direct Post audit on October 14, 2026. You choose each post's visibility from the options TikTok offers for your account. Access is invite-only. Payments are not active.",
  "hostingText": "The static website is served by Caddy on a Hetzner VPS in Germany. The app, database, and media run on the same VPS, with MinIO for media storage. Cloudflare R2 is a future option, not an active service.",
  "mcpVerificationText": "Claude Code and Codex CLI OAuth connections and MCP Inspector were verified locally. Production verification is pending for Claude Code, Codex CLI, Claude web/desktop, ChatGPT in Developer mode, and Gemini CLI.",
  "plans": {
    "free": {
      "name": "Free",
      "monthly": 0,
      "annualEquivalent": 0,
      "annualTotal": 0,
      "recommended": false,
      "limits": {
        "accounts": 1,
        "seats": 1,
        "bulk": 10,
        "slotsPerDay": "unlimited",
        "carousel": true,
        "bestTime": true,
        "remix": false,
        "videoBuilder": false,
        "api": true,
        "clients": false,
        "carouselPhotos": 10,
        "queuedPosts": 10,
        "lifetimeAccounts": 2,
        "directPostsPerDay": 1,
        "mediaRetentionDays": 7,
        "requestsPerMinute": 10,
        "requestsPerDay": 100
      }
    },
    "starter": {
      "name": "Starter",
      "monthly": 8,
      "annualEquivalent": 6,
      "annualTotal": 72,
      "recommended": false,
      "limits": {
        "accounts": 1,
        "seats": 1,
        "bulk": 10,
        "slotsPerDay": "unlimited",
        "carousel": true,
        "bestTime": true,
        "remix": false,
        "videoBuilder": false,
        "api": true,
        "clients": false,
        "carouselPhotos": 10,
        "queuedPosts": "unlimited",
        "lifetimeAccounts": "unlimited",
        "directPostsPerDay": "unlimited",
        "mediaRetentionDays": 30,
        "requestsPerMinute": 120,
        "requestsPerDay": "unlimited"
      }
    },
    "pro": {
      "name": "Pro",
      "monthly": 19,
      "annualEquivalent": 15,
      "annualTotal": 180,
      "recommended": true,
      "limits": {
        "accounts": 3,
        "seats": 1,
        "bulk": 100,
        "slotsPerDay": "unlimited",
        "carousel": true,
        "bestTime": true,
        "remix": true,
        "videoBuilder": true,
        "api": true,
        "clients": false,
        "carouselPhotos": 35,
        "queuedPosts": "unlimited",
        "lifetimeAccounts": "unlimited",
        "directPostsPerDay": "unlimited",
        "mediaRetentionDays": 30,
        "requestsPerMinute": 120,
        "requestsPerDay": "unlimited"
      }
    },
    "agency": {
      "name": "Agency",
      "monthly": 49,
      "annualEquivalent": 39,
      "annualTotal": 468,
      "recommended": false,
      "limits": {
        "accounts": 10,
        "seats": 5,
        "bulk": 100,
        "slotsPerDay": "unlimited",
        "carousel": true,
        "bestTime": true,
        "remix": true,
        "videoBuilder": true,
        "api": true,
        "clients": true,
        "carouselPhotos": 35,
        "queuedPosts": "unlimited",
        "lifetimeAccounts": "unlimited",
        "directPostsPerDay": "unlimited",
        "mediaRetentionDays": 30,
        "requestsPerMinute": 120,
        "requestsPerDay": "unlimited"
      }
    }
  },
  "mcp": {
    "endpoint": "https://app.cliphabit.com/mcp",
    "toolCount": 18,
    "approvalState": "needs_approval",
    "approvalUrlField": "approval_url",
    "publishesDirectly": false
  },
  "tiktokPermissions": {
    "verifiedAt": "2026-10-05",
    "firstReviewScopes": [
      "user.info.basic",
      "video.publish",
      "video.upload"
    ],
    "deferredScopes": [
      "video.list"
    ]
  },
  "suggestedTimesText": "Suggested times currently provide generic starting hours on all plans. Suggestions based on past post views are deferred pending TikTok approval in a later review.",
  "freeSummary": "Free costs $0/month. It includes 1 TikTok account, at most 2 different accounts over the lifetime of a workspace, 10 queued posts including drafts and posts awaiting approval, 1 Direct post per account per local day, bulk upload of 10 videos, photo carousels up to 10 photos, and MCP and API access sharing 10 requests per minute and 100 per UTC day. No video builder or Remix. Published media is deleted after 7 days when no queued post needs it. No payment details required. Access remains invite-only."
}
