Composio APIcomposio.dev ↗
Retrieve Composio pricing plans, feature comparison tables, and FAQ data in one API call. Structured JSON with plan tiers, monthly costs, and limits.
What is the Composio API?
The Composio pricing API exposes the full contents of the composio.dev pricing page in a single endpoint, get_pricing_plans, returning over 20 structured fields across plan cards, feature comparison tables, and FAQ entries. It delivers plan names, displayed price text, parsed monthly USD amounts (or null for custom/enterprise tiers), feature bullet lists, and every comparison table row with per-plan values — all in one response.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/460752f1-5373-4c6a-991c-f6e20dc401bf/get_pricing_plans' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace composio-dev-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Composio pricing SDK — fetch plans, compare features, read FAQs."""
from parse_apis.composio_dev_api import ComposioDev, ParseError
client = ComposioDev()
# Fetch the full pricing page in one call.
try:
pricing = client.pricing.get()
except ParseError as e:
print(f"Pricing page could not be parsed: {e.code}")
raise
print(pricing.headline, f"({pricing.currency})")
# Walk each plan card and its headline features.
if pricing.plans is not None:
for plan in pricing.plans:
price = plan.price_text if not plan.is_custom_pricing else "custom"
print(f"\n{plan.name} — {price}")
if plan.subtitle:
print(f" {plan.subtitle}")
for feat in plan.features[:3]:
note = f" ({feat.note})" if feat.note else ""
print(f" • {feat.text}{note}")
# Show the first comparison table's rows with per-plan values.
if pricing.comparison_tables:
table = pricing.comparison_tables[0]
print(f"\n{table.heading} (columns: {', '.join(table.columns)})")
for row in table.rows[:5]:
vals = " | ".join(f"{col}: {row.values.get(col, '-')}" for col in table.columns)
print(f" {row.item}: {vals}")
# Print the first few FAQ entries.
for faq in pricing.faqs[:3]:
print(f"\nQ: {faq.question}")
print(f"A: {faq.answer[:120]}...")
print("\nexercised: pricing.get")
Returns the current Composio pricing page in one call: the plan cards (Hobby, Pro, Enterprise at the time of writing) with their displayed price, parsed monthly USD amount (null when the plan shows custom pricing), subtitle and bulleted feature limits; every comparison table on the page (plan features, usage rates past the free allowances, Composio-managed app allowances, and usage add-ons) as rows keyed by column name, with each row's qualifier and tooltip description; and the FAQ questions and answers. Icon-only table cells are returned as their accessible label (e.g. 'Included' / 'Not included'); 'Add-on' and rate strings are returned verbatim. No inputs; a single page fetch.
No input parameters required.
{
"type": "object",
"fields": {
"faqs": "array of question/answer pairs from the pricing FAQ",
"plans": "array of plan cards: name, price_text (as displayed), monthly_price_usd (number or null for custom pricing), is_custom_pricing, subtitle (nullable), features[] with text and nullable tooltip note, cta_label",
"currency": "currency code of all prices on the page",
"headline": "page headline string",
"comparison_tables": "array of tables: heading, intro paragraph (nullable), columns (plan/column names), rows[] with item, nullable qualifier, nullable description, and values keyed by column name"
},
"sample": {
"data": {
"faqs": [
{
"answer": "Yes. The Hobby plan is hard-capped, needs no credit card, and never produces a surprise bill. You get 100K tool calls a month, unlimited connections, custom tools and MCP, and 3 team members. When you reach a cap, usage pauses until the next month or until you upgrade.",
"question": "Is the Hobby plan really free?"
}
],
"plans": [
{
"name": "Hobby",
"features": [
{
"note": "Think of it as letting your AI agent call tools 100,000 times per month, far more than most individuals will need.",
"text": "100,000 tool calls / mo"
},
{
"note": null,
"text": "50,000 triggers / mo"
},
{
"note": null,
"text": "3 team members"
}
],
"subtitle": "No credit card required",
"cta_label": "Start for free",
"price_text": "$0",
"is_custom_pricing": false,
"monthly_price_usd": 0
},
{
"name": "Pro",
"features": [
{
"note": null,
"text": "Everything in Hobby"
},
{
"note": "Unused credit expires at the end of each billing month and does not roll over.",
"text": "$29 monthly usage credit included"
}
],
"subtitle": null,
"cta_label": "Start scaling",
"price_text": "$29 / mo",
"is_custom_pricing": false,
"monthly_price_usd": 29
},
{
"name": "Enterprise",
"features": [
{
"note": null,
"text": "Everything in Pro, plus maximum limits"
}
],
"subtitle": null,
"cta_label": "Get a demo",
"price_text": "Custom",
"is_custom_pricing": true,
"monthly_price_usd": null
}
],
"currency": "USD",
"headline": "Start for free. Then pay as you go.",
"comparison_tables": [
{
"rows": [
{
"item": "OAuth management",
"values": {
"Pro": "Included",
"Hobby": "Included",
"Enterprise": "Included"
},
"qualifier": null,
"description": "Consent, token storage, refresh, and scopes handled for every connected account."
},
{
"item": "Support",
"values": {
"Pro": "Portal + Email + Slack at $1K",
"Hobby": "Portal",
"Enterprise": "Dedicated + custom SLAs"
},
"qualifier": null,
"description": null
}
],
"intro": null,
"columns": [
"Hobby",
"Pro",
"Enterprise"
],
"heading": "Compare features by plan"
},
{
"rows": [
{
"item": "Tool calls",
"values": {
"Pro": "then $0.0003 / tool call",
"Hobby": "100K / mo free",
"Enterprise": "Custom"
},
"qualifier": "own app, API key, or MCP",
"description": "Each tool execution counts once. Meta tools such as tool search are free."
}
],
"intro": "The Hobby plan stops at your included limit, so we won't charge you unexpectedly. Pro includes everything in Hobby plus a $29 monthly usage credit. Past the free amounts, usage bills at the rates below. Enterprise runs on committed volume with custom terms.",
"columns": [
"Hobby",
"Pro",
"Enterprise"
],
"heading": "Compare features by plan"
}
]
},
"status": "success"
}
}About the Composio API
What the API Returns
The single get_pricing_plans endpoint returns the complete Composio pricing page as structured data. The plans array contains one object per tier (such as Hobby, Pro, and Enterprise), each carrying the plan name, price_text as it appears on the page, a numeric monthly_price_usd (or null when Composio displays custom or contact-us pricing), an is_custom_pricing boolean, and a parsed list of feature limits and bullet points. A top-level currency field indicates the currency code used across all listed prices, and a headline field captures the page's lead headline string.
Comparison Tables and FAQs
The comparison_tables array covers every feature matrix rendered on the pricing page. Each table entry includes a heading, an optional intro paragraph, a columns array listing the plan or column names, and a rows array. Each row carries the feature item, an optional qualifier (such as a footnote or condition), and per-column values showing what each plan offers for that feature — typically strings, numbers, or boolean indicators.
The faqs field is an array of question-and-answer pairs drawn directly from Composio's published pricing FAQ section, making it straightforward to surface common pricing and plan questions in documentation portals or sales tooling.
Freshness and Scope
The endpoint takes no input parameters — there are no filters or plan selectors. Every call returns the full current state of the pricing page, including all tiers visible at that time. If Composio adds, removes, or renames a plan tier, the response will reflect the updated page contents on the next call.
The Composio API is a managed, monitored endpoint for composio.dev — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when composio.dev changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official composio.dev API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Embed up-to-date Composio plan names and monthly prices into an internal cost-comparison dashboard
- Monitor for pricing changes by diffing
monthly_price_usdandplansfields across scheduled calls - Populate a sales enablement tool with Composio feature limits from
comparison_tablesrows - Surface Composio pricing FAQ content in a customer-facing documentation site using the
faqsarray - Flag when Enterprise custom pricing (
is_custom_pricing: true) replaces a previously numeric tier - Build a competitive analysis snapshot that tracks plan structure changes over time using
plansandheadline
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Composio have an official developer API?+
What does the `monthly_price_usd` field return for Enterprise plans?+
monthly_price_usd is null and is_custom_pricing is true. The price_text field still carries the displayed string (for example, 'Custom' or 'Contact us') so you can render it accurately without special-casing a missing number.Does the API return historical pricing or changelog data?+
Can I filter the response to return only a specific plan tier?+
get_pricing_plans accepts no input parameters and always returns all plan tiers, tables, and FAQs in a single response. Filtering to a specific plan is not currently supported at the API level. You can fork the API on Parse and revise it to add a plan-name filter that trims the response before it reaches your client.