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

# Get Artist Profile

> Public artist profile: the artist's name, image, connected social profiles, and linked catalogs in one call.

**No authentication.** This endpoint is deliberately public and unbilled — it backs the shareable artist page at `chat.recoupable.dev/artists/{id}` and can be called without an API key. Only public fields are returned; account settings, instructions, and valuation data are never included.

Responses are cacheable (`Cache-Control: public, s-maxage=300, stale-while-revalidate=600`), so a value may be up to a few minutes stale.



## OpenAPI

````yaml api-reference/openapi/releases.json GET /api/artists/{id}/profile
openapi: 3.1.0
info:
  title: Recoup API - Releases
  description: >-
    API documentation for the Recoup platform - an AI agent platform for the
    music industry
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.recoupable.dev
security: []
paths:
  /api/artists/{id}/profile:
    get:
      description: >-
        Public artist profile: the artist's name, image, connected social
        profiles, and linked catalogs in one call.


        **No authentication.** This endpoint is deliberately public and unbilled
        — it backs the shareable artist page at
        `chat.recoupable.dev/artists/{id}` and can be called without an API key.
        Only public fields are returned; account settings, instructions, and
        valuation data are never included.


        Responses are cacheable (`Cache-Control: public, s-maxage=300,
        stale-while-revalidate=600`), so a value may be up to a few minutes
        stale.
      parameters:
        - name: id
          in: path
          description: The unique identifier (UUID) of the artist account.
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Artist profile retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistPublicProfileResponse'
        '404':
          description: >-
            No artist with this id. Returned for unknown ids and for accounts
            that are not artists — the two cases are deliberately
            indistinguishable, so the endpoint cannot be used to probe which
            account ids exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ArtistPublicProfileErrorResponse'
              example:
                status: error
                error: Artist not found
components:
  schemas:
    ArtistPublicProfileResponse:
      type: object
      required:
        - id
        - name
        - image
        - socials
        - catalogs
      properties:
        id:
          type: string
          format: uuid
          description: The artist's account id.
        name:
          type: string
          description: The artist's display name.
        image:
          type: string
          nullable: true
          description: URL of the artist's profile image, or null when none is set.
        socials:
          type: array
          description: Connected social profiles, empty when none are linked.
          items:
            $ref: '#/components/schemas/ArtistPublicProfileSocial'
        catalogs:
          type: array
          description: >-
            Catalogs linked to the artist, newest first; empty when none are
            linked.
          items:
            $ref: '#/components/schemas/ArtistPublicProfileCatalog'
    ArtistPublicProfileErrorResponse:
      type: object
      required:
        - status
        - error
      properties:
        status:
          type: string
          enum:
            - error
          description: Always `error`.
        error:
          type: string
          description: Human-readable error message.
          example: Artist not found
    ArtistPublicProfileSocial:
      type: object
      required:
        - type
        - username
        - profile_url
      properties:
        type:
          type: string
          description: >-
            Platform name derived from the profile URL, e.g. SPOTIFY, INSTAGRAM,
            TIKTOK, YOUTUBE.
          example: SPOTIFY
        username:
          type: string
          nullable: true
          description: The artist's handle on the platform, when known.
        profile_url:
          type: string
          description: Public URL of the profile on the platform.
    ArtistPublicProfileCatalog:
      type: object
      required:
        - id
        - name
        - song_count
        - updated_at
      properties:
        id:
          type: string
          format: uuid
          description: The catalog id.
        name:
          type: string
          description: The catalog's display name.
        song_count:
          type: integer
          description: Number of songs currently in the catalog.
        updated_at:
          type: string
          format: date-time
          description: When the catalog last changed.

````