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

# BatchGetArtists

> BatchGetArtists retrieves multiple artists by their unique identifiers.
 Returns a map of ID to result, where each result is either the artist or an error.



## OpenAPI

````yaml /api/anghami-sdk.openapi.yaml post /v1/music/artists:batchGet
openapi: 3.1.0
info:
  title: Anghami + OSN+ SDK
  description: >-
    Unified OpenAPI bundle covering all Anghami + OSN+ SDK services (music +
    video streaming).
  contact:
    name: Anghami Developer Platform
    email: developers@anghami.com
  version: 1.0.0
servers:
  - url: https://sdk.anghami.com
security: []
paths:
  /v1/music/artists:batchGet:
    post:
      tags:
        - MusicCatalogService
      summary: BatchGetArtists
      description: |-
        BatchGetArtists retrieves multiple artists by their unique identifiers.
         Returns a map of ID to result, where each result is either the artist or an error.
      operationId: BatchGetArtists
      parameters:
        - name: Authorization
          in: header
          description: >-
            OAuth 2.0 Bearer token for user-authenticated requests. Format:
            Bearer <access_token>. Optional if x-api-key is provided.
          required: false
          schema:
            type: string
            example: Bearer eyJhbGciOiJSUzI1NiIs...
        - name: x-api-key
          in: header
          description: >-
            API key for server-to-server access without user context. Optional
            if Authorization is provided.
          required: false
          schema:
            type: string
            example: ang_live_...
        - name: Accept-Language
          in: header
          description: >-
            Preferred locale for localized content (BCP 47). Determines which
            language variant is returned for LocalizedString fields.
          required: false
          schema:
            type: string
            example: ar
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/sdk_catalog_v1_BatchGetArtistsRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/sdk_catalog_v1_BatchGetArtistsResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    sdk_catalog_v1_BatchGetArtistsRequest:
      type: object
      properties:
        artistIdList:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_ArtistID'
          maxItems: 100
          minItems: 1
      description: >-
        BatchGetArtistsRequest is the request message for retrieving multiple
        artists by ID.
    sdk_catalog_v1_BatchGetArtistsResponse:
      type: object
      properties:
        results:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/sdk_catalog_v1_ArtistResult'
          description: |-
            Map of artist ID to result. Every requested ID appears in this map.
             Value is either the artist or an error explaining why it could not be retrieved.
      description: >-
        BatchGetArtistsResponse is the response message containing the requested
        artists.
    ValidationError:
      type: object
      properties:
        violations:
          type: array
          items:
            $ref: '#/components/schemas/FieldViolation'
          description: List of validation violations
      required:
        - violations
      description: >-
        ValidationError is returned when request validation fails. It contains a
        list of field violations describing what went wrong.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message (e.g., 'user not found', 'database connection failed')
      description: >-
        Error is returned when a handler encounters an error. It contains a
        simple error message that the developer can customize.
    sdk_shared_v1_ArtistID:
      type: object
      properties:
        value:
          type: string
          description: The string value of the artist identifier.
      required:
        - value
      description: ArtistID is a typed identifier for an artist.
    sdk_catalog_v1_ArtistResult:
      type: object
      properties:
        artist:
          $ref: '#/components/schemas/sdk_catalog_v1_Artist'
        error:
          $ref: '#/components/schemas/sdk_shared_v1_BatchItemError'
      description: ArtistResult wraps either a successfully retrieved artist or an error.
    FieldViolation:
      type: object
      properties:
        field:
          type: string
          description: >-
            The field path that failed validation (e.g., 'user.email' for nested
            fields). For header validation, this will be the header name (e.g.,
            'X-API-Key')
        description:
          type: string
          description: >-
            Human-readable description of the validation violation (e.g., 'must
            be a valid email address', 'required field missing')
      required:
        - field
        - description
      description: FieldViolation describes a single validation error for a specific field.
    sdk_catalog_v1_Artist:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/sdk_shared_v1_ArtistID'
        name:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
        bio:
          $ref: '#/components/schemas/sdk_shared_v1_LocalizedString'
        genres:
          type: array
          items:
            type: string
            description: Genres associated with this artist.
        followerCount:
          type: string
          format: int64
          description: Total number of followers for this artist.
        monthlyListeners:
          type: string
          format: int64
          description: Number of unique listeners in the past 28 days.
        isVerified:
          type: boolean
          description: Whether this artist profile is verified.
        socialLinks:
          type: array
          items:
            $ref: '#/components/schemas/sdk_catalog_v1_ArtistSocialLink'
        artwork:
          type: array
          items:
            $ref: '#/components/schemas/sdk_shared_v1_Image'
        nationality:
          type: string
          description: |-
            Nationality or country of origin.
             May be a country code (e.g., "LB") or full name (e.g., "Lebanon").
      description: Artist represents a music creator or performer in the catalog.
    sdk_shared_v1_BatchItemError:
      type: object
      properties:
        code:
          type: string
          enum:
            - ERROR_CODE_UNSPECIFIED
            - ERROR_CODE_INVALID_REQUEST
            - ERROR_CODE_UNAUTHENTICATED
            - ERROR_CODE_PERMISSION_DENIED
            - ERROR_CODE_NOT_FOUND
            - ERROR_CODE_CONFLICT
            - ERROR_CODE_RATE_LIMITED
            - ERROR_CODE_INTERNAL
            - ERROR_CODE_UNAVAILABLE
          description: ErrorCode enumerates the standard error conditions in the SDK API.
        message:
          type: string
          description: >-
            Human-readable error message with additional details about the
            failure.
      description: >-
        BatchItemError describes why a specific item in a batch request could
        not be retrieved.
         Used in batch response maps where each ID maps to either the entity or an error.
         Common in BatchGetSongs, BatchGetAlbums, etc. where individual items may fail
         while others succeed.
    sdk_shared_v1_LocalizedString:
      type: object
      properties:
        value:
          type: string
          description: |-
            The text value resolved for the requested locale.
             The server selects this based on the Accept-Language header.
        originalValue:
          type: string
          description: |-
            The text value in its original language.
             For content originally in Arabic, this is the Arabic text.
             For content originally in English/Latin, this is the English text.
             May be identical to value when the requested locale matches the original.
      description: |-
        LocalizedString provides a text value in the requested locale along with
         the original-language value. The resolved value is determined server-side
         from the Accept-Language request header.

         Anghami's catalog is Arabic-first, meaning most content has both Arabic and
         Latin/transliterated titles. This message allows clients to display either
         representation as needed by the user interface.
    sdk_catalog_v1_ArtistSocialLink:
      type: object
      properties:
        platform:
          type: string
          description: Platform name (e.g., "instagram", "twitter", "facebook", "youtube").
        url:
          type: string
          description: Full URL to the artist's profile on this platform.
      description: ArtistSocialLink represents a link to an artist's social media profile.
    sdk_shared_v1_Image:
      type: object
      properties:
        url:
          type: string
          description: URL of the image.
        width:
          type: integer
          format: int32
          description: Width in pixels.
        height:
          type: integer
          format: int32
          description: Height in pixels.
      description: Image represents artwork or visual media at a specific size.

````