Encontre Influenciadores do Twitter
Configuração
Escolha o runtime disponível antes de qualquer configuração de credenciais:
- Cliente sem terminal: pule os comandos de shell abaixo. Use ferramentas MCP conectadas. Para operações do ScrapeCreators, leia
scrapecreators-apie prefiracall_data_provider. Para outra etapa de provedor sem uma ferramenta conectada, use um método público-web equivalente quando preservar o fluxo de trabalho, ou reporte claramente a etapa como indisponível. - Terminal local: use as credenciais e comandos proxy do GooseWorks abaixo.
Leia suas credenciais de ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
Se ~/.gooseworks/credentials.json não existir, diga ao usuário para executar: npx gooseworks login
Os endpoints proxy locais usam autenticação Bearer: -H "Authorization: Bearer $GOOSEWORKS_API_KEY". As descrições das operações do ScrapeCreators abaixo permanecem neutras em relação ao ambiente em ambos os runtimes.
Descubra, pontue e enriqueça influenciadores do Twitter/X relevantes para uma empresa, produto ou nicho. Retorna uma lista classificada com métricas de engajamento, justificativa de relevância e informações de contato.
Fluxo de Trabalho
1. Analise a Solicitação
Extraia da consulta do usuário:
- Nome da empresa ou domínio (obrigatório) — a marca que busca influenciadores
- Nicho/vertical (opcional) — ex.: "fintech Twitter", "criadores AI/ML", "beleza DTC"
- Preferência de tamanho (opcional) — médio (10K-100K), macro (100K+), ou misto (padrão: mínimo 10K+)
- Máximo de resultados (opcional, padrão 20 — ajuste para cima ou para baixo se o usuário solicitar)
2. Resolva a Empresa
Use Brand.dev para obter domínio, setor, descrição, público-alvo e palavras-chave. Este contexto orienta todas as pesquisas subsequentes.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/retrieve-by-name","query":{"name":"Acme","Corp":""}}'
Se um domínio for fornecido diretamente:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"brand-dev","path":"/v1/brand/retrieve","query":{"domain":"acme.com"}}'
A partir do resultado, construa uma string de contexto da empresa: nome da empresa, domínio, setor, descrição e palavras-chave do público-alvo. Exemplo: "Acme Corp acme.com ferramentas de desenvolvedor API plataforma equipes de engenharia". Use isto em todas as consultas de pesquisa.
3. Descubra Candidatos
Execute três estratégias em paralelo para maximizar a cobertura:
Estratégia A — Pesquisa Exa por listas selecionadas de influenciadores (principal, maior sinal):
IMPORTANTE: Perfis x.com e twitter.com NÃO estão no índice de pesquisa do Exa, portanto includeDomains: ["x.com"] retornará zero resultados do Twitter. Em vez disso, pesquise por páginas de listas selecionadas, posts de blog e artigos sobre influenciadores no nicho. Use contents.text para obter o conteúdo da página para que você possa extrair handles do Twitter dele.
Execute 5+ variações de consulta para maximizar a cobertura. Inclua o núcleo do nicho E nichos adjacentes — muitos influenciadores abrangem tópicos relacionados. Cada consulta retorna 10 resultados com conteúdo de texto:
# Consulta 1: Núcleo do nicho — listas selecionadas
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/search"}'
"query": "melhores contas do Twitter {niche} para seguir",
"numResults": 10,
"contents": {"text": {"maxCharacters": 5000}}
}'
# Consulta 2: Núcleo do nicho — redação diferente
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/search"}'
"query": "principais influenciadores do setor {industry} no X Twitter para seguir",
"numResults": 10,
"contents": {"text": {"maxCharacters": 5000}}
}'
# Consulta 3: Núcleo do nicho — líderes de pensamento
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/search"}'
"query": "líderes de pensamento criadores {niche} handles do Twitter",
"numResults": 10,
"contents": {"text": {"maxCharacters": 5000}}
}'
# Consulta 4: Nicho adjacente 1 (ex.: se o nicho for "verificação de identidade", tente "prevenção de fraudes")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/search"}'
"query": "principais influenciadores {adjacent_niche_1} contas do Twitter para seguir",
"numResults": 10,
"contents": {"text": {"maxCharacters": 5000}}
}'
# Consulta 5: Nicho adjacente 2 (ex.: "cybersegurança", "regtech", "biometria")
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/search"}'
"query": "melhores especialistas criadores {adjacent_niche_2} no X Twitter",
"numResults": 10,
"contents": {"text": {"maxCharacters": 5000}}
}'
Escolhendo nichos adjacentes: A partir do contexto da empresa (Etapa 2), identifique 2-3 verticais relacionadas. Exemplos:
- Verificação de identidade → prevenção de fraudes, cybersegurança, regtech, biometria
- Fintech → bancos, pagamentos, DeFi, regulação financeira
- AI/ML → ciência de dados, MLOps, ferramentas de desenvolvedor
- Beleza DTC → cuidados com a pele, bem-estar, estilo de vida, beleza limpa
Essas consultas retornam páginas de listas (ex.: "Top 60 Influenciadores Fintech", "Contas FinTwit para Seguir") cujo conteúdo de texto contém handles do Twitter, biografias e contagens de seguidores. Analise-os na Etapa 4.
Estratégia B — Exa findSimilar (expandir a partir de boas descobertas de listas):
Após a Estratégia A retornar resultados, escolha 1-2 das melhores URLs de listas selecionadas e encontre páginas similares:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"exa","path":"/findSimilar"}'
"url": "https://example.com/top-fintech-twitter-influencers",
"numResults": 5,
"contents": {"text": {"maxCharacters": 5000}}
}'
Isso descobre listas selecionadas adicionais que a pesquisa por palavras-chave pode perder. NÃO use URLs de perfil do Twitter/X para findSimilar — eles não estão no índice do Exa e retornarão resultados vazios.
Estratégia C — Fiber pesquisa-por-linguagem-natural (capturar profissionais focados no LinkedIn):
Alguns influenciadores são melhor indexados no LinkedIn, mas possuem contas ativas no Twitter. O Fiber pode descobri-los. Execute 2-3 consultas cobrindo o núcleo do nicho e tópicos adjacentes:
# Núcleo do nicho
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
"query": "líder de pensamento criador de conteúdo {niche} com presença no Twitter em empresas {industry}",
"pageSize": 20
}'
# Nicho adjacente — cobertura mais ampla
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"fiber","path":"/v1/natural-language-search/profiles"}'
"query": "influenciador especialista {adjacent_niche} com grande número de seguidores nas redes sociais",
"pageSize": 20
}'
Faça referência cruzada dos resultados do Fiber com o Twitter na Etapa 5 — mantenha apenas pessoas com contas ativas no Twitter. Extraia também URLs do LinkedIn dos resultados do Fiber — elas são críticas para o enriquecimento de contato na Etapa 7.
4. Extraia e Desduplique Nomes de Usuário
A partir do conteúdo de texto das páginas de lista do Exa, analise handles do Twitter usando múltiplos padrões:
- Menções
@usernameno texto do artigo - URLs correspondentes a
x.com/usernameoutwitter.com/username - Remova caminhos de URL finais (ex.:
/status/123,/followers) — mantenha apenas nomes de usuário de perfil base - Descarte padrões que não sejam de perfil (páginas de pesquisa, páginas de hashtag,
x.com/home,x.com/search) - Desduplique por nome de usuário (insensível a maiúsculas/minúsculas)
- Sinalize e remova contas óbvias de marca/empresa (ex.:
@stripe,@shopify) — foque em criadores individuais
Dos resultados do Fiber, extraia quaisquer URLs do Twitter/X de perfis sociais. Adicione novos handles ao pool de candidatos.
Extraia também URLs do LinkedIn mencionadas junto com handles do Twitter em páginas de lista — salve-os para enriquecimento de contato na Etapa 7.
Alvo: ~100-150 handles únicos após desduplicação. Páginas de lista selecionadas geralmente mencionam 20-50 handles cada, então 5+ bons resultados de lista entre nichos centrais e adjacentes rendem um grande pool de candidatos.
5. Obtenha Perfis do Twitter + Engajamento
Use Scrape Creators para buscar dados estruturados do Twitter. Este é um processo de duas etapas: busque perfis para TODOS os candidatos (barato, 1 crédito cada), depois busque tweets para os melhores ~2x a contagem de resultados alvo após a filtragem de perfil (ex.: ~40 se almejando 20 resultados).
Etapa 1 — Busque perfis para todos os candidatos:
provider: scrapecreators
method: GET
path: /v1/twitter/profile
query:
handle: exemplo_handle
Retorna JSON aninhado. Os campos chave estão dentro dos objetos core e legacy:
core.screen_name,core.name— handle e nome de exibiçãolegacy.description— texto da biografialegacy.followers_count,legacy.friends_count,legacy.statuses_count— contagenslegacy.location,legacy.created_at— localização e idade da contais_blue_verified— status de verificação
A URL do perfil é https://x.com/{screen_name}.
IMPORTANTE — Paralelize as buscas de perfil: NÃO busque perfis um por um em um loop sequencial. Em vez disso, lance TODAS as chamadas de busca de perfil em paralelo (múltiplas chamadas de ferramenta em uma única mensagem). Isso reduz drasticamente o tempo total de espera de minutos para segundos. Agrupe em lotes de 10-15 chamadas paralelas, se necessário.
Aplique filtros rígidos para reduzir o pool:
- Menos de 10.000 seguidores (mínimo padrão — ajustável se o usuário especificar um limite diferente)
- Biografia vazia ou biografia completamente não relacionada ao nicho
- Contas suspensas ou não encontradas (API retorna erro)
- Biografia indica que deixaram o X (ex.: "me encontre no Mastodon/Bluesky", "abandonei este site")
- Contas muito genéricas/amplas — Remova contas cujo conteúdo não é especificamente relevante para o nicho alvo. Por exemplo, uma conta genérica de "evangelista de tecnologia" com 500K+ seguidores que raramente tuita sobre o nicho é menos valiosa que um especialista com 20K seguidores. Se a biografia e tweets recentes de uma conta não mostrarem conexão específica com o nicho alvo ou nichos adjacentes, exclua-a independentemente da contagem de seguidores
Etapa 2 — Busque tweets para os melhores candidatos (após filtragem de perfil — busque ~2x a contagem de resultados alvo para permitir filtragem, ex.: ~40 se almejando 20 resultados):
provider: scrapecreators
method: GET
path: /v1/twitter/user-tweets
query:
handle: exemplo_handle
Retorna um array de objetos de tweet. IMPORTANTE — Os dados estão aninhados dentro de cada objeto de tweet:
legacy.full_text— texto do tweetlegacy.favorite_count— curtidas (inteiro)legacy.retweet_count— retuítes (inteiro)legacy.reply_count— respostas (inteiro)legacy.created_at— timestampviews.count— contagem de visualizações (pode não estar sempre presente)url— link direto para o tweet (campo de nível superior)
Nota: favorite_count, retweet_count, reply_count estão dentro do objeto legacy, NÃO no nível superior de cada tweet.
IMPORTANTE — Paralelize as buscas de tweets: Assim como nas buscas de perfil, lance TODAS as chamadas de busca de tweets em paralelo (múltiplas chamadas de ferramenta em uma única mensagem). NÃO use loops for sequenciais. Esta é a maior otimização de velocidade individual.
Para cada candidato, identifique os 3 principais tweets por engajamento (curtidas + retuítes + respostas). Salve o melhor com sua URL para inclusão na tabela de resultados finais.
A partir dos dados do tweet, calcule:
- Média de curtidas por tweet
- Média de retuítes por tweet
- Média de respostas por tweet
- Taxa de engajamento: (média de curtidas + média de retuítes + média de respostas) / seguidores * 100
- Frequência de postagem: inferida das datas
created_at - Temas de conteúdo: sobre quais tópicos eles mais tuitam (a partir de
full_text)
Filtros rígidos adicionais (aplicados após a busca de tweets):
- Nenhum tweet nos últimos 30 dias (inativo)
- Contas protegidas/privadas
Pule contas que apenas respondem (>80% dos tweets são respostas a outros com engajamento mínimo).
6. Pontue e Classifique
Aplique um modelo de pontuação composto:
| Fator | Peso | Sinal |
|---|---|---|
| Relevância | 40% | Palavras-chave da biografia, temas de conteúdo, sobreposição de audiência com a empresa alvo |
| Taxa de engajamento | 25% | Quanto maior, melhor; micro-influenciadores frequentemente superam macro aqui |
| Contagem de seguidores | 15% | Escala logarítmica — retornos decrescentes acima de 100K |
| Qualidade do conteúdo | 10% | Conteúdo original vs retuítes, profundidade de threads, uso de mídia |
| Alinhamento de audiência | 10% | Os seguidores deles correspondem ao público-alvo da empresa? Inferido da biografia + temas de conteúdo |
Diretrizes de pontuação:
- Relevância: Compare a biografia e tópicos de tweets recentes com a string de contexto da empresa da Etapa 2. Correspondência exata de nicho = pontuação alta. Nicho adjacente = média. Genérico/não relacionado = baixa.
- Benchmarks de taxa de engajamento: >3% excelente, 1-3% bom, <1% abaixo da média (varia por nível de seguidores)
- Qualidade do conteúdo: Penalize contas com >50% de retuítes. Recompense threads originais, insights e posts ricos em mídia.
Classifique todos os candidatos por pontuação composta. Selecione os N principais (padrão 20) para a lista final. 20 é um bom padrão — suficiente para dar ao usuário opções reais sem sobrecarregá-lo. Aumente a escala se o usuário pedir mais, mas sempre inclua pelo menos os 20 principais se essa quantidade se qualificar.
7. Enriqueça Contatos
Para a lista final, encontre endereços de e-mail e perfis do LinkedIn. A percepção chave: descubra URLs do LinkedIn primeiro — eles melhoram dramaticamente ...
[truncado para tradução]