Bro Find AI Badge API

The Badge API from Bro Find AI — 3 operation(s) for badge.

Operations 3

GET /api/badge/{toolId}/votes.json Live upvote count for one listing #
GET /api/badge/votes.json Live upvote counts for every listing owned by one Make Taksh maker #
GET /api/badge/{toolId}.svg The upvote badge as an SVG image #

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/brofindai-com:brofindai-com-badge-api"
All apis
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.

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

brofindai-com-badge-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bro Find AI Badge API
  description: API for the Bro Find AI AI tools directory. Submit tools, leave reviews and comments, and send feedback.
  version: 1.0.0
  contact:
    name: Bro Find AI Support
    url: https://brofindai.com/support
  license:
    name: Proprietary
    url: https://brofindai.com
servers:
- url: https://brofindai.com
  description: Production
tags:
- name: Badge
paths:
  /api/badge/{toolId}/votes.json:
    get:
      summary: Live upvote count for one listing
      description: 'Public, CORS-open and cacheable for five minutes. The count is merged across every key the listing''s votes are filed under, so it matches the number shown on the listing page. Read by third-party badge embeds, including Make Taksh''s, which get pasted into pages this project does not control: adding keys is safe, renaming one is not.'
      operationId: getBadgeVotes
      parameters:
      - name: toolId
        in: path
        required: true
        description: The listing's slug, or its submission uuid.
        schema:
          type: string
          maxLength: 128
      responses:
        '200':
          description: The listing and its live count.
          content:
            application/json:
              schema:
                type: object
                required:
                - toolId
                - name
                - votes
                - updatedAt
                properties:
                  toolId:
                    type: string
                    description: The listing's slug.
                  name:
                    type: string
                  votes:
                    type: integer
                    minimum: 0
                  url:
                    type: string
                    format: uri
                    description: The listing page.
                  updatedAt:
                    type: string
                    format: date-time
                    description: When the count was read, not when it last changed.
                  makeTakshUsername:
                    type:
                    - string
                    - 'null'
                    description: The owner's Make Taksh handle, if they linked one.
        '404':
          description: No approved listing has that id.
      tags:
      - Badge
  /api/badge/votes.json:
    get:
      summary: Live upvote counts for every listing owned by one Make Taksh maker
      description: Returns a bare JSON array, not an envelope. The URL and the array shape both come from Make Taksh's client (src/lib/brofind.ts in their repo), which is written against this exact form.
      operationId: getBadgeVotesByMaker
      parameters:
      - name: makeTakshUsername
        in: query
        required: true
        description: 'A Make Taksh handle: lowercase letters, digits and hyphens.'
        schema:
          type: string
          pattern: ^[a-z0-9](?:[a-z0-9-]{1,26}[a-z0-9])?$
      responses:
        '200':
          description: 'The maker''s approved listings, most upvoted first. Empty when the handle is unclaimed or unusable: an unknown handle is not an error.'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/paths/~1api~1badge~1%7BtoolId%7D~1votes.json/get/responses/200/content/application~1json/schema'
        '400':
          description: makeTakshUsername was not supplied.
      tags:
      - Badge
  /api/badge/{toolId}.svg:
    get:
      summary: The upvote badge as an SVG image
      description: For READMEs and anywhere a maker can drop an but not a . Carries its own copy of Figtree as an embedded subset, because an -embedded SVG loads no external resource. Colours are fixed brand colours and are not a parameter. Shader backgrounds are unavailable here (a static image runs no JavaScript) and degrade to the flat themed card.
      operationId: getBadgeSvg
      parameters:
      - name: toolId
        in: path
        required: true
        schema:
          type: string
          maxLength: 128
      - name: theme
        in: query
        required: false
        description: auto follows the viewer's prefers-color-scheme.
        schema:
          type: string
          enum:
          - auto
          - light
          - dark
          default: light
      - name: size
        in: query
        required: false
        schema:
          type: string
          enum:
          - compact
          - standard
          - large
          default: standard
      responses:
        '200':
          description: The badge.
          content:
            image/svg+xml:
              schema:
                type: string
        '404':
          description: No approved listing has that id. A badge is still rendered.
      tags:
      - Badge
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Firebase ID Token
      description: Firebase Authentication ID token obtained via Google Sign-In