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

# Get an Instagram messaging participant's profile

> Returns the profile Instagram exposes for a messaging participant, including the follow relationship in both directions (is_user_follow_business, is_business_follow_user). Read live from Instagram on every call, never cached, because follow status changes the moment someone unfollows. Instagram only returns this data for users who have consented by messaging your account or tapping an icebreaker or the persistent menu; for anyone else this returns 403 platform.instagram.230, which means Instagram will not disclose the relationship and is NOT the same as "does not follow". Branch on that error rather than treating it as a negative. Fields name and profile_pic are absent for users who have set neither; the follow fields are still returned. profile_pic URLs expire after a few days, so do not store them.



## OpenAPI

````yaml /api-reference/openapi.json get /platforms/instagram/accounts/{id}/participants/{participantId}/profile
openapi: 3.0.0
info:
  description: >-
    Unified social media inbox API. Read and respond to comments, DMs, reviews,
    and mentions across Instagram, Facebook, Threads, Google Business Profile,
    TikTok, LinkedIn, and YouTube through a single REST API. X/Twitter and
    Trustpilot coming soon.
  title: SocialAPI.AI
  contact:
    name: SocialAPI.AI Support
    email: support@social-api.ai
  license:
    name: MIT
  version: '1.0'
servers:
  - url: https://api.social-api.ai/v1
security: []
paths:
  /platforms/instagram/accounts/{id}/participants/{participantId}/profile:
    get:
      tags:
        - Instagram
      summary: Get an Instagram messaging participant's profile
      description: >-
        Returns the profile Instagram exposes for a messaging participant,
        including the follow relationship in both directions
        (is_user_follow_business, is_business_follow_user). Read live from
        Instagram on every call, never cached, because follow status changes the
        moment someone unfollows. Instagram only returns this data for users who
        have consented by messaging your account or tapping an icebreaker or the
        persistent menu; for anyone else this returns 403
        platform.instagram.230, which means Instagram will not disclose the
        relationship and is NOT the same as "does not follow". Branch on that
        error rather than treating it as a negative. Fields name and profile_pic
        are absent for users who have set neither; the follow fields are still
        returned. profile_pic URLs expire after a few days, so do not store
        them.
      parameters:
        - example: acc_01HZ9X3Q4R5M6N7P8V2K0W1J
          description: Connected account ID
          name: id
          in: path
          required: true
          schema:
            type: string
        - example: '2287522528728101'
          description: >-
            Instagram-scoped user ID (IGSID) of the participant, as returned in
            conversation payloads
          name: participantId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Participant profile
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/api_endpoints.InstagramParticipantProfileResponse
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '403':
          description: >-
            User consent required (platform.instagram.230), or platform access
            not permitted for your plan
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '404':
          description: Account or participant not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '501':
          description: Platform does not support participant profiles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
        '502':
          description: Upstream Instagram API error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/api_endpoints.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    api_endpoints.InstagramParticipantProfileResponse:
      type: object
      properties:
        follower_count:
          type: integer
        id:
          type: string
        is_business_follow_user:
          type: boolean
        is_user_follow_business:
          type: boolean
        is_verified_user:
          type: boolean
        name:
          type: string
        profile_pic:
          description: >-
            ProfilePic URLs expire after a few days; never persist one as
            durable.
          type: string
        username:
          type: string
    api_endpoints.ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/api_endpoints.ErrorBody'
    api_endpoints.ErrorBody:
      type: object
      properties:
        code:
          type: string
          example: resource.not_found
        message:
          type: string
          example: Account not found
        meta:
          type: object
          additionalProperties: {}
  securitySchemes:
    BearerAuth:
      description: >-
        Prefix your API key with "Bearer ". Example: `Authorization: Bearer
        sapi_key_...`
      type: apiKey
      name: Authorization
      in: header

````