## Summary Composio's new pricing went live on Aug 15, 2026: **Hobby** ($0) / **Pro** ($29/mo) / **Enterprise** (custom). This PR updates the public docs to describe only the current offering and reprices premium tools as pass-through (provider cost + 5% platform fee). ## Principle - Docs describe the **current** plans only (Hobby / Pro / Enterprise). No Starter/Growth tables, no dual documentation. - Where a legacy note is genuinely useful (rate limits), exactly one sentence pointing pre-Aug-15 customers to https://composio.dev/pricing/legacy. - **Link to https://composio.dev/pricing instead of repeating numbers**, so future price changes are a one-place edit. ## Files changed - `docs/content/toolkits/pro-tools.mdx` — replaced the "3x the cost" line and the Totally Free / Ridiculously Cheap / Serious Business tier table with pass-through pricing copy: paid third-party providers, provider price + 5% platform fee (no markup), per-call prices on the pricing page's "Premium tools" section, Hobby includes up to $2/mo of premium tool usage, prices depend on provider and can change with advance notice. Retitled the page from "Pro Tools" to "Premium Tools" (matches the pricing page and avoids confusion with the new Pro plan). URL slug `/toolkits/pro-tools` is unchanged so no links break. Rest of the page (what counts as a premium tool, rate limits) intact. - `docs/content/reference/rate-limits.mdx` + `docs/content/reference/v3/rate-limits.mdx` (manual copies, updated identically) — plan table now Hobby 2,000 req/min · Pro 10,000 req/min · Enterprise Custom (kept the doc's existing per-minute unit and "Custom" wording for Enterprise). No legacy/grandfathering note — docs describe current plans only; grandfathered customers are served by the dashboard and composio.dev/pricing/legacy. - `docs/app/llms.mdx/[[...slug]]/route.ts`, `docs/components/toolkits/toolkits-landing.tsx` — label text "Pro Tools" → "Premium Tools" (link targets unchanged). ## Not changed / notes for reviewers - `docs/content/docs/common-faq.mdx` no longer exists on `next` (removed in the sessions-first rewrite, #3637); a grep for self-host / on-prem across `docs/content` found **no** page advertising self-hosting as an Enterprise feature, so nothing to remove there. - Grep sweep (case-insensitive) over `docs/content` for: Starter, Growth plan/tier, Ridiculously, Serious Business, Totally Free, on-prem, self-host(ed), $229, $599, 20k tool calls, 200k, per seat, per-seat, 3x the cost. All customer-facing hits were in the three files above and are fixed. Left alone: - `changelog/*` — historical entries (self-hosted Supabase/PostHog instances, "self-hosted deployments need backend version X"); these refer to third-party instances or historical SDK notes, not to an Enterprise plan feature. - `docs/auth-configuration/custom-auth-configs.mdx:23`, `docs/authentication/custom-app-vs-managed-app.mdx:30` — "self-hosted" refers to the *customer's* self-hosted third-party app (e.g. Salesforce subdomain), unrelated to Composio plans. - `docs/configuring-sessions.mdx`, `docs/sandbox/remote.mdx` — "Sandboxes are not billed today" note; not part of this change, flagging in case sandbox billing status changed with the new pricing. - `pro-tools.mdx` "Rate limits" table: **fixed in `421789d90`** — dropped the "Standard Tool Calls" column (100/min · 5,000/min contradicted `reference/rate-limits.mdx`), kept only the premium-execution limiter mapped to plan names (Hobby 1,000/hr · Pro 10,000/hr · Enterprise Custom) with a note that it is separate from the org API limit. Also added Pro's premium allowance bullet. ## Validation - `bun run lint` (oxlint): passes; only pre-existing warnings in untouched files. - `bun run lint:links` (`scripts/validate-links.ts`): 0 errors. ## Related PRs - landing: https://github.com/ComposioHQ/landing/pull/289 - platform: https://github.com/ComposioHQ/platform/pull/12078 - dashboard: https://github.com/ComposioHQ/dashboard/pull/1326 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01P3JgWs8DcjeQTRKoJd8gmQ --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Composio Docs
Documentation site for Composio, built with Fumadocs.
Getting Started
bun install
bun run dev
Open http://localhost:3000.
Project Structure
docs/
├── app/ # Next.js app router
├── content/ # MDX content
│ ├── docs/
│ ├── examples/
│ ├── changelog/
│ └── reference/
├── components/ # React components
├── lib/ # Utilities
└── public/ # Static assets
Adding Content
Create an .mdx file in content/, add frontmatter, then add to meta.json:
---
title: Page Title
description: Brief description
---
Content here...
Components
<Tabs items={['Python', 'TypeScript']}>
<Tab value="Python">...</Tab>
<Tab value="TypeScript">...</Tab>
</Tabs>
<Callout type="info">Note</Callout>
<Cards>
<Card title="Title" href="/path" />
</Cards>
Sidebar
Each folder has meta.json for ordering:
{
"pages": ["page-one", "page-two"]
}
TypeScript Code Blocks
All TypeScript code blocks in MDX files are type-checked at build time using Twoslash. This ensures docs stay in sync with the SDK.
- Use
// @noErrorsto skip checking for partial snippets - Use
// ---cut---to hide setup code from output - Run
bun run buildlocally to validate before pushing
See CLAUDE.md for detailed patterns and troubleshooting.
Search
Docs search uses Algolia when NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY is set; otherwise it falls back to the local Fumadocs /api/search endpoint for development and tests. The sync script builds a first-party index from MDX/OpenAPI/toolkit data (no crawler required), splits long pages into section-sized records, configures searchable attributes/custom ranking/distinct, requests clickAnalytics, and sends search result view/click events with search-insights.
NEXT_PUBLIC_ALGOLIA_APP_ID=62HI9PQZ1L # optional; default shown
NEXT_PUBLIC_ALGOLIA_SEARCH_API_KEY=...
NEXT_PUBLIC_ALGOLIA_INDEX_NAME=docs_composio # optional; default shown
Sync the Algolia index with an admin key:
ALGOLIA_APP_ID=62HI9PQZ1L
ALGOLIA_ADMIN_API_KEY=...
ALGOLIA_INDEX_NAME=docs_composio bun run sync:search
Preview the generated records or test live relevance:
bun run sync:search --dry-run --samples
ALGOLIA_SEARCH_API_KEY=... bun run test:search "oauth auth config" "gmail send email"
Commands
| Command | Description |
|---|---|
bun run dev |
Dev server |
bun run build |
Production build (validates TS code blocks) |
bun run types:check |
Type check |
bun run sync:search |
Sync docs search records to Algolia |
bun run test:search |
Query the configured Algolia index from the terminal |