Blotato Billing API
Endpoints related to credits, credit balance, and credit purchases.
Endpoints related to credits, credit balance, and credit purchases.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/blotato:blotato-billing-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: Blotato Billing API
description: Blotato API documentation
version: 2.0.0
servers:
- url: https://backend.blotato.com
description: Blotato API Server
tags:
- name: Billing
description: Endpoints related to credits, credit balance, and credit purchases.
paths:
/v2/credits:
get:
summary: Get credit balance and pricing
tags:
- Billing
description: Fetches the authenticated account's remaining credits, the account email the credentials belong to, and current credit purchase pricing. Confirm the account email before purchasing credits, since credits are non-transferable between accounts.
security:
- apiKey: []
responses:
'200':
description: Credit balance, the account email, and credit purchase pricing
content:
application/json:
schema:
description: Credit balance, the account email, and credit purchase pricing
example:
creditsRemaining: 54688
accountEmail: user@example.com
purchaseQuantityRange:
min: 1000
max: 10000
pricePer1000CreditsUsd: 6
type: object
properties:
creditsRemaining:
type: integer
accountEmail:
type: string
purchaseQuantityRange:
type: object
properties:
min:
type: integer
max:
type: integer
required:
- min
- max
pricePer1000CreditsUsd:
type: number
required:
- creditsRemaining
- accountEmail
- purchaseQuantityRange
- pricePer1000CreditsUsd
'401':
description: Unauthorized
content:
application/json:
schema:
description: Unauthorized
type: object
properties:
code:
type: number
reqId:
description: Request ID for tracking
type: string
message:
description: Unauthorized access
type: string
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'403':
description: Forbidden
content:
application/json:
schema:
description: Forbidden
type: object
properties:
code:
type: number
reqId:
description: Request ID for tracking
type: string
message:
description: Forbidden access
type: string
subscriptionStatus:
description: Current subscription plan status
type: string
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: number
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
operationId: getV2Credits
x-operation-id-source: derived
post:
summary: Buy credits
tags:
- Billing
description: Creates a Stripe Checkout link the account owner opens in a browser to buy credits (quantity between 1000 and 10000). Creating a link never charges anything; payment happens only when a human completes checkout in the browser, and the purchased credits always land on this account.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
quantity:
minimum: 1000
maximum: 10000
type: integer
referral:
type:
- string
- 'null'
required:
- quantity
security:
- apiKey: []
responses:
'201':
description: A Stripe Checkout link to buy credits.
content:
application/json:
schema:
description: A Stripe Checkout link to buy credits.
example:
checkoutUrl: https://checkout.stripe.com/c/pay/cs_test_123
type: object
properties:
checkoutUrl:
description: Stripe Checkout URL. The account owner opens this in a browser to complete payment. No charge occurs until checkout is completed.
type: string
required:
- checkoutUrl
'400':
description: Default Response
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: number
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'401':
description: Unauthorized
content:
application/json:
schema:
description: Unauthorized
type: object
properties:
code:
type: number
reqId:
description: Request ID for tracking
type: string
message:
description: Unauthorized access
type: string
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'403':
description: Forbidden
content:
application/json:
schema:
description: Forbidden
type: object
properties:
code:
type: number
reqId:
description: Request ID for tracking
type: string
message:
description: Forbidden access
type: string
subscriptionStatus:
description: Current subscription plan status
type: string
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'429':
description: Rate limit exceeded
content:
application/json:
schema:
description: Rate limit exceeded
type: object
properties:
code:
type: number
reqId:
description: Request ID for tracking
type: string
message:
description: Rate limit exceeded
type: string
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
'500':
description: Default Response
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: number
action:
description: Action to take to resolve the error
type: string
details:
description: Additional structured details about the error
type: object
additionalProperties: {}
required:
- message
operationId: postV2Credits
x-operation-id-source: derived
components:
securitySchemes:
apiKey:
type: apiKey
name: blotato-api-key
in: header
externalDocs:
url: https://help.blotato.com
description: Find more info here