Buy Me a Coffee Supporters API

One-time supporters (tips / coffees) and their messages.

OpenAPI Specification

buymeacoffee-supporters-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Buy Me a Coffee Extras Supporters API
  description: 'The Buy Me a Coffee API is a read-only REST interface that gives a creator programmatic access to their own account data on Buy Me a Coffee - a creator-support platform for tips, memberships, and shop purchases. Authentication uses a personal access Bearer token created self-serve in the Developer Dashboard (log in with a regular Buy Me a Coffee account, then Create New Token; a read-only option is available). Add `Authorization: Bearer <token>` to every request. The API returns paginated collections (Laravel-style pagination with current_page, per_page, next_page_url, total, etc.) and exposes one-time supporters, memberships/subscriptions, and Extras purchases.

    NOTE ON MODELING: Buy Me a Coffee does not publish a machine-readable OpenAPI document publicly (the reference sits behind the Developer Dashboard login). The collection endpoints and query parameters here (/subscriptions with status, /supporters, /extras, all paginated) are confirmed from the developer docs, community wrappers, and the Microsoft Power Platform connector. The single-resource by-ID paths (/subscriptions/{id}, /supporters/{id}, /extras/{id}) are honestly modeled from the documented "get by ID" operations; the exact URL templates are inferred, not quoted verbatim, and are marked with x-endpoint-modeled.'
  version: '1.0'
  contact:
    name: Buy Me a Coffee
    url: https://developers.buymeacoffee.com/
servers:
- url: https://developers.buymeacoffee.com/api/v1
  description: Buy Me a Coffee API v1
security:
- bearerAuth: []
tags:
- name: Supporters
  description: One-time supporters (tips / coffees) and their messages.
paths:
  /supporters:
    get:
      operationId: getSupporters
      tags:
      - Supporters
      summary: List one-time supporters
      description: Returns all of your one-time supporters and their messages, if any, as a paginated collection.
      parameters:
      - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A paginated list of one-time supporters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupporterPage'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /supporters/{id}:
    get:
      operationId: getSupporter
      tags:
      - Supporters
      summary: Get a one-time supporter by ID
      description: Returns a single one-time supporter and their message by the supporter's unique ID.
      x-endpoint-modeled: The "get one-time supporter by ID" operation is documented, but the exact URL template is inferred from the collection endpoint and standard REST conventions.
      parameters:
      - name: id
        in: path
        required: true
        description: The unique identifier of the one-time supporter.
        schema:
          type: integer
      responses:
        '200':
          description: A single one-time supporter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supporter'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    NotFound:
      description: The requested resource was not found.
    Unauthorized:
      description: Missing or invalid Bearer token.
    RateLimited:
      description: Too many requests; the client is being throttled.
  schemas:
    SupporterPage:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - type: object
        properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/Supporter'
    Pagination:
      type: object
      description: Laravel-style pagination envelope wrapping a data array.
      properties:
        current_page:
          type: integer
        first_page_url:
          type: string
        from:
          type: integer
        last_page:
          type: integer
        last_page_url:
          type: string
        next_page_url:
          type: string
          nullable: true
        path:
          type: string
        per_page:
          type: integer
        prev_page_url:
          type: string
          nullable: true
        to:
          type: integer
        total:
          type: integer
    Supporter:
      type: object
      properties:
        support_id:
          type: integer
        support_note:
          type: string
          nullable: true
        support_coffees:
          type: integer
        transaction_id:
          type: string
        support_visibility:
          type: integer
        support_created_on:
          type: string
        support_updated_on:
          type: string
        transfer_id:
          type: string
          nullable: true
        supporter_name:
          type: string
        support_coffee_price:
          type: string
        support_email:
          type: string
          nullable: true
        is_refunded:
          type: string
          nullable: true
        support_currency:
          type: string
        support_note_pinned:
          type: integer
        referer:
          type: string
          nullable: true
        country:
          type: string
          nullable: true
        payer_email:
          type: string
          nullable: true
        payment_platform:
          type: string
        payer_name:
          type: string
  parameters:
    Page:
      name: page
      in: query
      required: false
      description: Page number for the paginated collection.
      schema:
        type: integer
        minimum: 1
        default: 1
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Personal access token created in the Buy Me a Coffee Developer Dashboard. Sent as `Authorization: Bearer <token>`.'
Where this information came from

This is an independent, third-party profile of Buy Me a Coffee Supporters API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.