> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datacircle.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Start a Stripe Checkout

> Starts a Stripe Checkout that adds funds to your balance, any whole number of dollars from 5 to 10,000. Open `checkout_url`, or hand it to a human to pay: nothing is charged until they do. The funds land in `funds_usd` once Stripe confirms the payment, and never expire.



## OpenAPI

````yaml /openapi.json post /checkout/
openapi: 3.1.0
info:
  title: Datacircle API
  version: '1'
  description: >-
    Datacircle is a data co-op.


    Step 1: Query your favorite B2B data APIs through us. Same request, same
    price, no markup.


    Step 2: You're DONE. Every morning, you get the flat file of your data plus
    everyone else's.


    You send the provider's own request to api.datacircle.dev, with your
    Datacircle key. That's the only change.


    Right now we have 3 live LinkedIn profile APIs that we trust: Up2Data,
    HarvestAPI and Fetchin. Each request goes to the provider and gets the
    profile as it is today.


    Add \$50 to your account: you get \$50 of API PLUS the flat file.


    Sign up at datacircle.dev with your work email: a \$5 credit, that's 2,105
    LinkedIn profiles at \$2.375 per 1,000.


    Use it from Claude, ChatGPT or Cursor: add api.datacircle.dev/mcp as an MCP
    server.


    The docs: [docs.datacircle.dev](https://docs.datacircle.dev).
  termsOfService: https://datacircle.dev/terms
  contact:
    name: Datacircle
    url: https://datacircle.dev
    email: wayne@datacircle.dev
  x-logo:
    url: https://datacircle.dev/favicon.png
    altText: Datacircle
servers:
  - url: https://api.datacircle.dev
security:
  - token: []
tags:
  - name: Datacircle
    description: 'Your Datacircle account: balance, adding funds, files, API key.'
  - name: Up2Data
    description: >-
      LinkedIn Profile API: Up2Data's own request, sent to api.datacircle.dev
      with your Datacircle key and `X-Data-Provider: up2data`.
  - name: HarvestAPI
    description: >-
      LinkedIn Profile API: HarvestAPI's own request, sent to api.datacircle.dev
      with your Datacircle key and `X-Data-Provider: harvestapi`.
  - name: Fetchin
    description: >-
      LinkedIn Profile API: Fetchin's own request, sent to api.datacircle.dev
      with your Datacircle key and `X-Data-Provider: fetchin`.
externalDocs:
  description: Datacircle docs
  url: https://docs.datacircle.dev
paths:
  /checkout/:
    post:
      tags:
        - Datacircle
      summary: Start a Stripe Checkout
      description: >-
        Starts a Stripe Checkout that adds funds to your balance, any whole
        number of dollars from 5 to 10,000. Open `checkout_url`, or hand it to a
        human to pay: nothing is charged until they do. The funds land in
        `funds_usd` once Stripe confirms the payment, and never expire.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - amount_usd
              properties:
                amount_usd:
                  description: >-
                    How much to add to your balance, in whole dollars. Add \$50
                    to your account: you get \$50 of API PLUS the flat file (the
                    co-op files in `GET /files/`).
                  type: integer
                  minimum: 5
                  maximum: 10000
                  example: 50
      responses:
        '200':
          description: '`{"checkout_url": ...}`: send the browser there'
          content:
            application/json:
              schema:
                type: object
                required:
                  - checkout_url
                properties:
                  checkout_url:
                    type: string
                    description: >-
                      The Stripe Checkout page for this payment: open it, or
                      hand it to a human to pay. The funds land in `funds_usd`
                      once Stripe confirms the payment.
              example:
                checkout_url: >-
                  https://checkout.stripe.com/c/pay/cs_live_a1Kq7RzT3vXbN8mLwP2cYdF6hJ0sE4uG9iO5tA1kB3nV7xZ2
        '400':
          description: Amount not offered
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: amount_usd must be a whole number from 5 to 10000
        '502':
          description: Stripe refused the checkout session
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: stripe refused the checkout session
        '503':
          description: Payments are not configured on this server
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: payments are not configured on this server
components:
  schemas:
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: What went wrong, in plain words.
  securitySchemes:
    token:
      type: http
      scheme: bearer
      description: >-
        Your API key: `Authorization: Bearer <your API key>`. `Authorization:
        Token <your API key>` works too.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.