Clerk Plans API

Used to interact with plans that users and organizations can purchase.

Operations 2

GET /v1/billing/plans List Billing Plans #
GET /v1/billing/plans/{planIdOrSlug} Get a Billing Plan #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/clerk-com-plans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

clerk-com-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clerk Frontend Plans API
  version: v1
  description: 'The Clerk REST Frontend API, meant to be accessed from a browser or native environment.


    This is a Form Based API and all the data must be sent and formatted according to the `application/x-www-form-urlencoded` content type.


    ### Versions


    When the API changes in a way that isn''t compatible with older versions, a new version is released.

    Each version is identified by its release date, e.g. `2021-02-05`. For more information, please see [Clerk API Versions](https://clerk.com/docs/backend-requests/versioning/overview).


    ### Using the Try It Console


    The `Try It` feature of the docs only works for **Development Instances** when using the `DevBrowser` security scheme.

    To use it, first generate a dev instance token from the `/v1/dev_browser` endpoint.


    Please see https://clerk.com/docs for more information.'
  x-logo:
    url: https://clerk.com/_next/image?url=%2Fimages%2Fclerk-logo.svg&w=96&q=75
    altText: Clerk docs
    href: https://clerk.com/docs
  contact:
    email: support@clerk.com
    name: Clerk Team
    url: https://clerk.com/support
  termsOfService: https://clerk.com/terms
  license:
    name: MIT
    url: https://github.com/clerk/javascript/blob/main/LICENSE
servers:
- url: https://{domain}.clerk.accounts.dev
  variables:
    domain:
      default: example-destined-camel-13
      description: Your Development Instance Frontend API Domain.
security:
- {}
- DevBrowser: []
- ProductionBrowser: []
- ProductionNativeApp: []
  ProductionNativeFlag: []
tags:
- name: Plans
  description: Used to interact with plans that users and organizations can purchase.
paths:
  /v1/billing/plans:
    get:
      operationId: GetBillingPlanList
      x-speakeasy-group: billing
      x-speakeasy-name-override: listPlans
      tags:
      - Plans
      summary: List Billing Plans
      description: Returns a list of all publicly visible billing plans.
      parameters:
      - in: query
        name: payer_type
        description: Filter plans by payer type
        required: false
        schema:
          type: string
          enum:
          - user
          - org
      responses:
        '200':
          $ref: '#/components/responses/BillingPlanList'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '403':
          $ref: '#/components/responses/ClerkErrors'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /v1/billing/plans/{planIdOrSlug}:
    get:
      operationId: GetBillingPlan
      x-speakeasy-group: billing
      x-speakeasy-name-override: getPlan
      tags:
      - Plans
      summary: Get a Billing Plan
      description: Returns a billing plan by ID or slug.
      parameters:
      - name: planIdOrSlug
        in: path
        description: The ID or slug of the plan
        required: true
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/BillingPlan'
        '400':
          $ref: '#/components/responses/ClerkErrors'
        '404':
          $ref: '#/components/responses/ResourceNotFound'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
components:
  schemas:
    BillingPlanUnitPriceTier:
      type: object
      additionalProperties: false
      properties:
        starts_at_block:
          type: integer
          format: int64
          description: Start block (inclusive) for this tier
        ends_after_block:
          type:
          - integer
          - 'null'
          format: int64
          description: End block (inclusive) for this tier; null means unlimited
        fee_per_block:
          $ref: '#/components/schemas/BillingMoneyResponse'
          description: Price charged per block in this tier
      required:
      - starts_at_block
      - fee_per_block
    ClerkError:
      type: object
      properties:
        message:
          type: string
        long_message:
          type: string
        code:
          type: string
        meta:
          type: object
      required:
      - message
      - long_message
      - code
    ClerkErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ClerkError'
        meta:
          type: object
        clerk_trace_id:
          type: string
      required:
      - errors
    BillingPlanUnitPrice:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: Name of the billable unit (for example, seats)
        block_size:
          type: integer
          format: int64
          description: Number of units included in each pricing block
        tiers:
          type: array
          items:
            $ref: '#/components/schemas/BillingPlanUnitPriceTier'
          description: Tiered pricing configuration for this unit
      required:
      - name
      - block_size
      - tiers
    BillingFee:
      type: object
      additionalProperties: false
      properties:
        amount:
          type: integer
          format: int64
          description: Amount in the smallest currency unit (e.g., cents)
          minimum: 0
        amount_formatted:
          type: string
          description: The formatted amount as a string (e.g., "$49.99")
        currency:
          type: string
          description: The currency code (e.g., "USD")
        currency_symbol:
          type: string
          description: The currency symbol (e.g., "$")
      required:
      - amount
      - amount_formatted
      - currency
      - currency_symbol
    BillingMoneyResponse:
      type: object
      additionalProperties: false
      properties:
        amount:
          type: integer
          format: int64
          description: Amount in cents
        amount_formatted:
          type: string
          description: Formatted amount as a string (e.g., "$10.00")
        currency:
          type: string
          description: Currency code (e.g., "USD")
        currency_symbol:
          type: string
          description: Currency symbol (e.g., "$")
      required:
      - amount
      - amount_formatted
      - currency
      - currency_symbol
    BillingPlan:
      type: object
      additionalProperties: false
      properties:
        object:
          type: string
          description: String representing the object's type
          enum:
          - commerce_plan
        id:
          type: string
          description: Unique identifier for the plan
        name:
          type: string
          description: The name of the plan
        fee:
          allOf:
          - $ref: '#/components/schemas/BillingFee'
          description: The monthly fee for this plan
        annual_monthly_fee:
          allOf:
          - $ref: '#/components/schemas/BillingFee'
          description: The monthly equivalent when billed annually
        annual_fee:
          allOf:
          - $ref: '#/components/schemas/BillingFee'
          description: The annual fee for this plan
        description:
          type:
          - string
          - 'null'
          description: The description of the plan
        product_id:
          type: string
          description: The ID of the product this plan belongs to
          deprecated: true
        is_default:
          type: boolean
          description: Whether this is the default plan
        is_recurring:
          type: boolean
          description: Whether this is a recurring plan
        publicly_visible:
          type: boolean
          description: Whether this plan is publicly visible
        has_base_fee:
          type: boolean
          description: Whether this plan has a base fee
        for_payer_type:
          type: string
          description: The payer type this plan is designed for
        slug:
          type: string
          description: The URL-friendly slug for the plan
        avatar_url:
          type:
          - string
          - 'null'
          description: The URL of the plan's avatar image
        free_trial_enabled:
          type: boolean
          description: Whether free trial is enabled for this plan
        free_trial_days:
          type:
          - integer
          - 'null'
          description: Number of free trial days for this plan
        unit_prices:
          type: array
          items:
            $ref: '#/components/schemas/BillingPlanUnitPrice'
          description: Per-unit pricing tiers for this plan (for example, seats)
        features:
          type: array
          description: The features included in this plan
          items:
            type: object
            properties:
              object:
                type: string
                enum:
                - feature
                description: String representing the object's type
              id:
                type: string
                description: Unique identifier for the feature
              name:
                type: string
                description: Name of the feature
              description:
                type:
                - string
                - 'null'
                description: Description of the feature
              slug:
                type: string
                description: URL-friendly representation of the feature's name
              avatar_url:
                type:
                - string
                - 'null'
                description: URL for an image to represent the feature
            required:
            - object
            - id
            - name
            - description
            - slug
            - avatar_url
      required:
      - object
      - id
      - name
      - fee
      - annual_monthly_fee
      - annual_fee
      - description
      - product_id
      - is_default
      - is_recurring
      - publicly_visible
      - has_base_fee
      - for_payer_type
      - slug
      - avatar_url
      - free_trial_enabled
      - free_trial_days
  responses:
    ResourceNotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    ClerkErrors:
      description: Request was not successful
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    BillingPlan:
      description: Returns a commerce plan.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BillingPlan'
    UnprocessableEntity:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ClerkErrors'
    BillingPlanList:
      description: Returns a list of commerce plans.
      content:
        application/json:
          schema:
            type: object
            additionalProperties: false
            required:
            - data
            - total_count
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/BillingPlan'
              total_count:
                type: integer
                format: int64
  securitySchemes:
    ProductionBrowser:
      type: apiKey
      in: cookie
      name: __client
      description: 'The Client API token sent in the form of a browser cookie.


        Used to authenticate production browser applications.'
    DevBrowser:
      type: apiKey
      in: query
      name: __dev_session
      description: 'A Dev Browser API token sent as a query parameter.


        Used to authenticate only dev instances.


        To generate a dev instance API token you must first make a request to `/v1/dev_browser`

        and copy it from the response.'
    ProductionNativeApp:
      type: http
      scheme: bearer
      description: 'The Client API token sent in the `Authorization` header.


        Used to authenticate native applications.'
    ProductionNativeFlag:
      type: apiKey
      in: query
      name: _is_native
      description: 'If sent and the value is true, it instructs the server to parse the API token from the `Authorization` header.


        It should always be set to true when using the `Authorization` header authentication strategy.'
    ClientCredentials:
      type: http
      scheme: basic
      description: HTTP Basic Authentication using Client ID as username and Client Secret as password.
x-tagGroups:
- name: Environment
  tags:
  - Environment
- name: Client
  tags:
  - Client
  - Sessions
  - Sign Ins
  - Sign Ups
- name: User
  tags:
  - User
  - Active Sessions
  - Email Addresses
  - Phone Numbers
  - Web3 Wallets
  - Passkeys
  - External Accounts
  - TOTP
  - Backup Codes
  - Organizations Memberships
  - API Keys
- name: Organizations
  tags:
  - Organization
  - Organization Creation Defaults
  - Invitations
  - Membership Requests
  - Members
  - Domains
  - Roles
- name: Billing
  tags:
  - Plans
  - Subscriptions
  - Subscription Items
  - Checkouts
  - Payment Methods
  - Statements
  - Payment Attempts
- name: Other
  tags:
  - Well Known
  - DevBrowser
  - DevTools
  - Health
  - OAuth2 Identity Provider
  - OAuth2 Callbacks
  - SAML
  - Waitlist
  - Enterprise Connections