

# Como remover perfis duplicados do Instagram de uma lista de criadores

Agrupe os registros de criadores pelo valor estável de channelId para limpar perfis duplicados. Um Actor é um programa hospedado de coleta de dados que coleta linhas de origem. Uma Task é um preset de entrada salvo que guarda as configurações da sua busca. O build 0.1.26 aceita startUrls com 1 a 1.000 perfis públicos conhecidos, @handles ou handles simples. A entrada predefinida de duas amostras é substituída por um perfil pretendido. O Actor colapsa automaticamente entradas duplicadas exatas. Uma linha representa uma entrada tentada, inclusive linhas indisponíveis. Os campos nativos incluem input, channelId, eimuId, fbid, channelUrl, handle, status, statusReason e observedAt. O campo eimuId precisa ser exato. O campo fbid é um identificador vinculado à Meta e não é um ID de Página do Facebook. O OUTPUT informa requestedChannels, acceptedProfileInputs, rejectedInputs, datasetRows, usefulRows, billableRows, nonUsefulRows e statusCounts. Um controle de um perfil usando NASA, com status ok, devolveu a identidade correta, o channelUrl canônico, o handle, 5 bioLinks, detectedEmails como um array vazio e businessEmail e businessPhoneNumber com valor null. Isso comprova apenas o suporte a identidade e a links. Este método não cobre descoberta de idade ou de localização, arquivos de publicações, histórico anterior de handles nem correspondência de pessoas entre plataformas.

1. Comece com uma lista conhecida de perfis e conserve as entradas originais. O Actor recebe perfis conhecidos e não pode buscar todos os perfis por idade, localização ou número de seguidores. Uma lista manual é necessária primeiro.
2. Execute primeiro um perfil público para testar a sua configuração. Confira o channelUrl canônico, o handle, o channelId, o status, o statusReason e o observedAt em relação à fonte pública. Uma linha útil pode ser parcial, e a coincidência apenas do nome não corrige um alvo errado.
3. Armazene os identificadores como strings de texto e defina o seu namespace como instagram:channelId. Não misture o channelId do Instagram com IDs de outras plataformas só porque os números coincidem. O campo fbid é um identificador vinculado à Meta e não é um ID de Página do Facebook.
4. Monte uma tabela normalizada de aliases de entrada a partir de URLs seguras de perfil e de @handles, mantendo a entrada original. Retire barras finais normais e marcas de consulta para a comparação, mas não transforme rotas de story ou de login em identidades de perfil. A normalização de aliases é separada do colapso de duplicatas por string exata feito pelo Actor.
5. Agrupe as observações atuais por valores de channelId que não estejam em branco. Conserve as arestas de entrada para channelId e os valores canônicos de channelUrl. Quando um handle corresponde a valores diferentes de channelId em momentos diferentes de observação, conserve os dois registros e confira a fonte pública sem sobrescrever dados antigos às cegas. A ausência de histórico não pode explicar por que um conflito aconteceu.
6. Trate valores ausentes de channelId conservando o channelUrl canônico ou o handle como evidência provisória mais fraca. Nunca una contas só pelo nome de exibição. Mantenha linhas blocked, private ou parser_miss fora da tabela de identidade verificada. Uma chave provisória local é metadado de rastreamento, não uma identidade estável inventada.
7. Separe os resultados em identidades verificadas, aliases de entrada, observações não resolvidas e conflitos. Conte as identidades conhecidas separadamente das linhas de entrada, das linhas úteis e dos handles observados. Explique qualquer lacuna entre o status da fonte e os dados coletados antes de acrescentar fatos extras.
8. Acrescente uma nova observação com observedAt para atualizações posteriores. O Actor não devolve mudanças históricas automaticamente, então você precisa conferir a identidade antes de comparar contagens ou [listas de links ao longo do tempo](/pt-BR/articles/verificar-links-publicos-da-bio-do-instagram/).

## Exemplo resolvido e tabelas

As tabelas a seguir mostram ficção original para ilustrar como o método funciona.

### Tabela de aliases da lista para o ID

| Linha da lista | Entrada original | channelId bruto da fonte | Status | channelUrl canônico | observedAt | Estado da revisão |
| --- | --- | --- | --- | --- | --- | --- |
| R1 | @greenstudio | 10001 | ok | https://www.instagram.com/greenstudio | 2026-03-01 | Alias verificado |
| R2 | https://www.instagram.com/greenstudio/?ref=sheet | 10001 | ok | https://www.instagram.com/greenstudio | 2026-03-01 | Alias verificado |
| R3 | @green_studio | 20002 | ok | https://www.instagram.com/green_studio | 2026-03-01 | Alias verificado |
| R4 | @summerlab | null | partial | https://www.instagram.com/summerlab | 2026-03-01 | Provisório |
| R5 | @private_notes | null | private | null | 2026-03-01 | Não resolvido |

### Registro de dois IDs conhecidos

| channelId | Aliases / entradas associadas | Resumo do status | Estado da revisão |
| --- | --- | --- | --- |
| 10001 | @greenstudio, https://www.instagram.com/greenstudio/?ref=sheet | ok | Identidade verificada |
| 20002 | @green_studio | ok | Identidade verificada |

### Linhas de conflito e de revisão

| Entrada original | channelId bruto da fonte | Status | observedAt | Estado da revisão |
| --- | --- | --- | --- | --- |
| @greenstudio | 30003 | ok | 2026-06-01 | Conflito com 10001 (sem prova de renomeação nem de venda) |

A tabela verificada tem duas identidades conhecidas distintas, não cinco identidades e não uma identidade de nome de exibição. As linhas R1 e R2 formam dois aliases de entrada para o channelId 10001. A linha R4 é provisória porque não tem channelId, e a linha R5 não está resolvida porque é privada. Em uma observação fictícia posterior, @greenstudio corresponde ao channelId 30003. Guarde isso como um conflito de identidade com os carimbos observedAt. Isso não prova uma renomeação, uma venda da conta nem uma personificação. Você precisa conferir as tabelas de arestas e os fatos da fonte antes de unir quaisquer linhas em conflito.

## Próxima ação

Para executar o seu próprio fluxo de deduplicação, use o Actor [Instagram Channel Scraper](https://apify.com/chronometrica/instagram-channel-scraper) da Apify e a Task [Instagram Identity Map](https://apify.com/chronometrica/instagram-channel-scraper/examples/instagram-identity-map).

## Fontes e leituras adicionais

- [Discussão no Reddit sobre scrapping de perfil do Instagram](https://www.reddit.com/r/instagramAsk/comments/1u1275c/instagram_profile_scrapping/)
- [Discussão no Reddit sobre scraping de perfis do Instagram](https://www.reddit.com/r/n8n/comments/1pac74m/scraping_instagram_profiles/)