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

# Perfil de um contato

> Consulte nome, foto e relação de seguimento de quem conversa com a conta.

Retorna o perfil de uma pessoa que conversa com a conta, a partir do IGSID recebido no webhook em `sender.id`.

## Exige janela de mensagem aberta

> [!WARNING]
>
> O perfil só é retornado enquanto a [janela de 24 horas](https://developers.datafyapi.com.br/api-reference/instagram/mensagens/introducao.md#janela-de-24-horas) daquela conversa estiver aberta. Fora dela, a resposta é:
>
> ```json theme={null}
> {
>   "error": {
>     "message": "Unsupported get request. Object with ID '...' does not exist, cannot be loaded due to missing permissions, or does not support this operation",
>     "type": "IGApiException",
>     "code": 100,
>     "error_subcode": 33
>   }
> }
> ```

A consequência prática é que o perfil precisa ser consultado **no momento em que a mensagem chega**, e o resultado guardado. Uma consulta adiada para depois do prazo não tem como ser atendida.

O IGSID também é escopado por conta: o mesmo perfil do Instagram tem identificadores diferentes em contas profissionais diferentes, e um IGSID de outra conta devolve o mesmo erro.

## Campos

| Campo | Conteúdo |
| - | - |
| `name` | Nome de exibição |
| `username` | Nome de usuário, sem o arroba |
| `profile_pic` | Foto do perfil, com validade limitada |
| `follower_count` | Seguidores que a pessoa tem |
| `is_user_follow_business` | A pessoa segue a sua conta |
| `is_business_follow_user` | A sua conta segue a pessoa |
| `is_verified_user` | A pessoa tem selo de verificação |

O `is_user_follow_business` é o campo que responde "essa pessoa me segue". Ele é uma fotografia do momento da consulta: se a pessoa deixar de seguir depois, o valor guardado fica desatualizado.

> [!NOTE]
>
> O campo se chama `profile_pic` aqui e `profile_picture_url` em [Dados da conta](https://developers.datafyapi.com.br/api-reference/instagram/conta/dados-da-conta.md). São endpoints diferentes com nomes diferentes para a mesma ideia.


## OpenAPI

````yaml api-reference/instagram/specs/conta-perfil.json GET /ig/{igsid}
openapi: 3.1.0
info:
  title: Datafy API — Perfil de um contato
  version: 1.0.0
servers:
  - url: https://cloud.datafyapi.com.br
    description: Produção
security:
  - bearerAuth: []
paths:
  /ig/{igsid}:
    get:
      summary: Perfil de um contato
      operationId: igPerfilContato
      parameters:
        - name: igsid
          in: path
          required: true
          schema:
            type: string
          description: IGSID do contato, recebido no webhook em `sender.id`.
          example: '1000000000000001'
        - name: fields
          in: query
          schema:
            type: string
          description: Campos a retornar, separados por vírgula.
          example: >-
            name,username,profile_pic,follower_count,is_user_follow_business,is_business_follow_user,is_verified_user
      responses:
        '200':
          description: Dados retornados.
          content:
            application/json:
              example:
                name: Maria Silva
                username: mariasilva
                profile_pic: https://scontent.cdninstagram.com/v/...
                follower_count: 1250
                is_user_follow_business: false
                is_business_follow_user: false
                is_verified_user: false
                id: '1000000000000001'
        '400':
          description: Erro retornado pela Meta.
          content:
            application/json:
              example:
                error:
                  message: >-
                    Unsupported get request. Object with ID '...' does not
                    exist, cannot be loaded due to missing permissions, or does
                    not support this operation
                  type: IGApiException
                  code: 100
                  error_subcode: 33
        '401':
          description: Token ausente ou inválido.
          content:
            application/json:
              example:
                statusCode: 401
                message: Token inválido ou não encontrado.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Token do canal do Instagram, gerado no painel da Datafy. Formato:
        `sk_live_xxx`.

````

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