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

# List brands

> Brands with creator sponsorship activity in the trailing year of published Market Intelligence data, most
sponsored posts first. Optionally filtered to one industry. Use it to walk the brands you want profiles for,
then call `GET /brands/{brand_id}` for each.

Costs 0.01 credit per call, whatever the `limit`. Available with a Streamforge API key only.




## OpenAPI

````yaml GET /brands
openapi: 3.0.3
info:
  title: Streamforge External API
  description: >
    Public-facing API for accessing normalized creator, content, and analysis
    data across Twitch, YouTube, Instagram, TikTok, and X (Twitter).


    ## Authentication

    All requests require an API key in the `x-api-key` header.


    ## Credits

    The API prices calls in credits. Each call costs its endpoint's tier once,
    whatever the number of IDs it

    names or results it returns. A bulk call for 25 profiles costs the same as a
    call for one.


    The `X-Credits-limit`, `X-Credits-used` and `X-Credits-request-cost`
    response headers are in credits, so a

    call that costs 0.01 credit shows `X-Credits-request-cost: 0.01`.


    - Standard, 0.01 credit per call: creator profiles, posts and videos, games,
    creator and brand search, rate estimates

    - Advanced, 0.1 credit per call: creator email, cross-platform social
    linking, brand profiles, industry data, rate benchmarks

    - Premium, 1 credit per call: AI-enriched creator data, audience
    demographics, creator requests


    ### Credits by endpoint:

    - Profile, profile list, bulk profiles, handle lookup and creator search:
    0.01 credit

    - Content, content lists and bulk content: 0.01 credit

    - Game, game content, bulk games and game search: 0.01 credit

    - Brand search and brand list: 0.01 credit

    - Rate dimensions and rate estimate: 0.01 credit

    - Email and socials endpoints: 0.1 credit

    - Brand profile endpoint: 0.1 credit

    - Industry list and industry ranking: 0.1 credit

    - Rate benchmarks: 0.1 credit

    - Analysis and audience endpoints: 1 credit

    - Creator request: 1 credit per accepted request, once, returned if it ends
    `not_found` or `failed`; reading a request costs nothing


    Brand, industry, rate and creator request endpoints are available with a
    Streamforge API key only.


    ## Items per call

    A call names or returns at most 25 items. Bulk calls take at most 25 IDs in
    `profile_ids`, `content_ids`,

    `game_ids` or `handles`; more returns a `400` validation error. A list page
    returns at most 25 items; a

    larger `limit` is lowered to 25.


    ## Rate Limiting

    Rate limit headers are included in all responses. Every call counts as one
    request, whatever it costs in credits:

    - `X-RateLimit-{window}-limit`: Maximum requests allowed

    - `X-RateLimit-{window}-remaining`: Remaining requests

    - `X-RateLimit-{window}-reset`: UNIX timestamp (seconds) when the limit
    resets


    ## Base URL

    Production: `https://external-api.streamforge.com`
  version: 1.0.0
  contact:
    name: Streamforge Support
    email: support@streamforge.com
servers:
  - url: https://external-api.streamforge.com
    description: Production
  - url: http://localhost:3000
    description: Local development (from .env)
    variables:
      base_url:
        default: http://localhost:3000
security:
  - ApiKeyAuth: []
tags:
  - name: Health
    description: Health check endpoint
  - name: Profiles
    description: Creator profile endpoints
  - name: Content
    description: Content (streams/videos) endpoints
  - name: Games
    description: Game metadata endpoints
  - name: Advanced
    description: Advanced insights and analysis
  - name: Brands
    description: Brand sponsorship activity from Streamforge Market Intelligence
  - name: Industries
    description: >-
      Industry sponsorship totals and brand rankings from Streamforge Market
      Intelligence
  - name: Rates
    description: Sponsorship rate ranges from Streamforge's published rate snapshot
  - name: Creator requests
    description: Ask Streamforge to prepare a creator, then check back for the result
paths:
  /brands:
    get:
      tags:
        - Brands
      summary: List brands by sponsorship activity
      description: >
        Brands with creator sponsorship activity in the trailing year of
        published Market Intelligence data, most

        sponsored posts first. Optionally filtered to one industry. Use it to
        walk the brands you want profiles for,

        then call `GET /brands/{brand_id}` for each.


        Costs 0.01 credit per call, whatever the `limit`. Available with a
        Streamforge API key only.
      operationId: listBrands
      parameters:
        - name: industry
          in: query
          required: false
          description: Industry id from `GET /industries`, such as `beauty-personal-care`
          schema:
            type: string
            example: beauty-personal-care
        - name: limit
          in: query
          required: false
          description: Brands per page (1-25, default 25). A larger value is lowered to 25
          schema:
            type: integer
            minimum: 1
            maximum: 25
            default: 25
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: One page of brands
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandListResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  parameters:
    Cursor:
      name: cursor
      in: query
      required: false
      description: Pagination cursor token from previous response
      schema:
        type: string
        example: >-
          eyJpZCI6Ijk4NzY1NDMyMSIsImVuZGVkX2F0IjoiMjAyNC0wNy0wNFQxMTozMDowMC4wMDBaIn0=
  schemas:
    BrandListResponse:
      type: object
      properties:
        payload:
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/BrandIdentity'
              - type: object
                properties:
                  activity:
                    type: object
                    properties:
                      posts_365d:
                        type: integer
                        description: >-
                          Sponsored posts in the trailing year (from the
                          product's brand playbook)
                      creators_365d:
                        type: integer
        paging:
          type: object
          properties:
            limit:
              type: integer
            next_cursor:
              type: string
              nullable: true
        meta:
          allOf:
            - $ref: '#/components/schemas/Meta'
            - type: object
              properties:
                industry:
                  type: string
                  nullable: true
                data_through:
                  type: string
                  format: date
    BrandIdentity:
      type: object
      properties:
        id:
          type: string
          description: Brand id, the registrable name of its domain
          example: glossier
        name:
          type: string
          nullable: true
          example: Glossier
        domain:
          type: string
          example: glossier.com
        industry:
          allOf:
            - $ref: '#/components/schemas/IndustryRef'
          nullable: true
        icon_url:
          type: string
          nullable: true
    Meta:
      type: object
      properties:
        source:
          type: string
        received_at:
          type: string
          format: date-time
        request_id:
          type: string
          format: uuid
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            status:
              type: integer
            message:
              type: string
        meta:
          type: object
          properties:
            request_id:
              type: string
              format: uuid
    IndustryRef:
      type: object
      properties:
        id:
          type: string
          example: beauty-personal-care
        name:
          type: string
          example: Beauty & Personal Care
  responses:
    BadRequest:
      description: Bad request - validation error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 400
              message: Invalid platform or missing required parameter
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
    Unauthorized:
      description: Missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 401
              message: API key is required
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
    Forbidden:
      description: Invalid or revoked API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 403
              message: Invalid API key
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 404
              message: Profile not found
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
    TooManyRequests:
      description: Rate limit exceeded
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds until retry is safe
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 429
              message: Rate limit exceeded
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
    ServiceUnavailable:
      description: >-
        The data behind this endpoint is not configured on this deployment, or
        is being refreshed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              status: 503
              message: >-
                Market intelligence data is being refreshed. Try again in a few
                minutes.
              code: intel_unavailable
            meta:
              request_id: 5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: |
        Your API key. Include it in the `x-api-key` header for all requests.

````

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