Você precisa de informações sobre perfis do Twitter e contexto de engajamento em seu aplicativo Node.js esta semana, não no próximo mês. Ao final deste guia, você obterá detalhes de perfil verificados, uma lista de seguidores de um usuário e respostas recentes usando a API Tudo-em-Um de Dados do Twitter do Zyla API Hub, com código curl e Node.js que você pode copiar e colar em produção.
O que você pode construir com a API Tudo-em-Um de Dados do Twitter
A API Tudo-em-Um de Dados do Twitter ajuda você a recuperar programaticamente:
- Informações adicionais do perfil (verificação, rótulos de negócios, avatar, detalhes de origem da conta).
- A lista de contas que um usuário segue.
- Respostas recentes de um usuário (incluindo contagens de retweets, respostas, citações onde retornadas).
Casos de uso típicos incluem painéis de análise social, enriquecimento de CRM para leads com presença no Twitter, monitoramento automatizado de marcas e fluxos de trabalho que precisam de uma visão rápida da atividade e relacionamentos de um usuário.
Todas as chamadas passam pelo Zyla API Hub com uma conta, uma chave de API e um modelo de assinatura + cota (não pago por chamada). O marketplace da Zyla abrange mais de 10.000 APIs públicas, para que você possa reutilizar a mesma chave em várias categorias conforme necessário.
Começando no Zyla API Hub
Para começar, abra a página da API no Zyla: API Tudo-em-Um de Dados do Twitter. Clique em Inscrever-se ou Começar Teste Gratuito, se disponível. A primeira API da Zyla geralmente oferece um teste de 7 dias ou 50 solicitações; não há Plano Gratuito. Verifique a página da API para opções de acesso e preços atuais.
Após se inscrever, você receberá uma chave de API. Autentique cada solicitação com o cabeçalho: Authorization: Bearer YOUR_API_KEY.
Se você ainda não tem uma conta, crie uma aqui: Registrar.
Visão geral dos endpoints
Todos os endpoints abaixo requerem o cabeçalho Authorization. Os exemplos usam o parâmetro screenname documentado e URLs concretas. Não adicione parâmetros extras.
Sobre o perfil
Retorna informações adicionais sobre um perfil.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile
- Parâmetros de consulta obrigatórios:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Seguindo
Obtenha a lista de contas que o usuário está seguindo.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following
- Parâmetros de consulta obrigatórios:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Respostas do usuário
Recupere as respostas de um usuário.
- Método: GET
- URL: https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies
- Parâmetros de consulta obrigatórios:
- screenname (string): elonmusk
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Node.js quickstart (Sobre o perfil)
Este exemplo usa fetch nativo (Node.js 18+). Ele chama o endpoint Sobre o perfil e lê vários campos úteis: verificação, avatar, rótulo de negócios e detalhes de origem.
import { setTimeout as delay } from "node:timers/promises";
const API_URL = "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk";
const API_KEY = "YOUR_API_KEY"; // Armazene com segurança (var de ambiente, gerenciador de segredos)
async function fetchAboutProfile(retries = 3) {
for (let attempt = 1; attempt <= retries; attempt++) {
const res = await fetch(API_URL, {
method: "GET",
headers: {
"Authorization": `Bearer ${API_KEY}`
}
});
if (res.ok) {
const data = await res.json();
// Acesse os campos documentados
const {
status,
profile,
rest_id,
blue_verified,
affiliates,
business_account,
verified_since,
avatar,
name,
protected: isProtected,
about,
id
} = data;
console.log("Status:", status);
console.log("Perfil:", profile, "(id:", id, "rest_id:", rest_id + ")");
console.log("Verificado em azul:", blue_verified);
console.log("URL do Avatar:", avatar);
console.log("Protegido:", isProtected);
console.log("Conta de negócios:", business_account);
console.log("Verificado desde (raw):", verified_since);
if (affiliates?.label) {
console.log("Descrição do rótulo de afiliado:", affiliates.label.description);
console.log("URL do distintivo de afiliado:", affiliates.label.badge?.url);
console.log("URL do link de afiliado:", affiliates.label.url?.url);
}
if (about) {
console.log("Conta baseada em:", about.account_based_in);
console.log("Localização precisa:", about.location_accurate);
console.log("URL para saber mais:", about.learn_more_url);
console.log("Nome de usuário de afiliado:", about.affiliate_username);
console.log("Fonte:", about.source);
console.log("Contagem de mudanças de nome de usuário:", about.username_changes?.count);
}
return data;
}
// Simples tentativa de repetição com backoff em não-2xx
if (attempt < retries) {
const waitMs = 250 * attempt;
console.warn(`HTTP ${res.status} - tentando novamente em ${waitMs}ms...`);
await delay(waitMs);
continue;
} else {
const text = await res.text();
throw new Error(`Solicitação falhou após ${retries} tentativas: ${res.status} ${text}`);
}
}
}
fetchAboutProfile().catch(err => {
console.error("Erro:", err.message);
process.exit(1);
});
JSON esperado (Sobre o perfil)
Abaixo está um exemplo de resposta documentada para o endpoint Sobre o perfil. Os valores são os retornados no exemplo.
{"status":"active","profile":"elonmusk","rest_id":"44196397","blue_verified":true,"affiliates":{"label":{"badge":{"url":"https:\/\/pbs.twimg.com\/profile_images\/1955359038532653056\/OSHY3ewP_bigger.jpg"},"description":"X","url":{"url":"https:\/\/twitter.com\/X","urlType":"DeepLink"},"userLabelDisplayType":"Badge","userLabelType":"BusinessLabel"}},"business_account":null,"verified_since":"-156836000000000","avatar":"https:\/\/pbs.twimg.com\/profile_images\/2008546467615580160\/57KcqsTA_normal.jpg","name":"Elon Musk","protected":false,"about":{"account_based_in":"United States","location_accurate":false,"learn_more_url":"https:\/\/help.twitter.com\/managing-your-account\/about-twitter-verified-accounts","affiliate_username":"X","source":"United States App Store","username_changes":{"count":"0"}},"id":"44196397"}
Notas de campo que você provavelmente usará:
- status: indicador de status do perfil.
- profile e id/rest_id: identificadores para junções ou caches posteriores.
- blue_verified: booleano; bom para distintivos de elegibilidade na UI.
- affiliates.label: distintivo de negócios/afiliado estruturado, com link e URL do distintivo.
- avatar: URL da imagem do avatar atual.
- about.account_based_in e about.source: contexto sobre a origem da conta.
- verified_since: retornado como uma string; trate como um valor opaco, a menos que você tenha confirmado como planeja exibi-lo.
Exemplos adicionais de endpoints
Seguindo (curl + dicas de uso)
Use isso para construir um explorador de gráfico de seguidores, destacar interesses compartilhados ou enriquecer entradas de CRM com uma lista de contas seguidas.
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Exemplo de resposta documentada:
{"following":[{"user_id":"1671483632551186433","screen_name":"TechMine_Mw","description":"Malawi’s premier SAAS firm 🌐 | Leaders in digital transformation, website development, design, and marketing 🖥️🎨 | Shaping Malawi’s tech future 🇲🇼","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1847661011731431425\/FNhbpOqP_normal.jpg","statuses_count":5,"followers_count":6,"friends_count":10,"media_count":3,"name":"TechMine INC."},{"user_id":"44196397","screen_name":"elonmusk","description":"","profile_image":"https:\/\/pbs.twimg.com\/profile_images\/1874558173962481664\/8HSTqIlD_normal.jpg","statuses_count":65409,"followers_count":210941749,"friends_count":926,"media_count":3038,"name":"Elon Musk"}],"status":"ok","more_users":false}
Notas práticas:
- Use more_users para decidir se sua UI deve exibir uma opção de “Carregar mais”. Trate isso como um sinal booleano para disponibilidade de dados adicionais.
- Contagens como followers_count e friends_count são pontuais e podem mudar frequentemente; faça cache de acordo.
Respostas do usuário (curl + notas)
Use isso para destacar os padrões de interação de um usuário ou para acionar alertas quando eles se envolvem em tópicos relevantes para seu produto.
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Trecho de exemplo de resposta documentada (os campos variam por tweet; valores mostrados conforme fornecidos):
{"timeline":[{"tweet_id":"1867196702865674450","bookmarks":0,"created_at":"Thu Dec 12 13:15:59 +0000 2024","favorites":0,"text":"RT @cb_doge: Every citizen journalist who fought the legacy media narrative and spread the truth this election is the Person of the Year.…","lang":"en","in_reply_to_status_id_str":null,"views":null,"quotes":0,"replies":0,"retweets":10,"conversation_id":"1867196702865674450","media":[],"entities":{"user_mentions":[{"id_str":"1389913567671975937","name":"DogeDesigner","screen_name":"cb_doge"}],"urls":[],"hashtags":[],"symbols":[]},"author":{"rest_id":"44196397","name":"Elon Musk","screen_name":"elonmusk","followers_count":207267106,"favourites_count":99802,"avatar":"https:\/\/pbs.twimg.com\/profile_images\/1858316737780781056\/kPL61o0F_normal.jpg","blue_verified":true},"retweeted":{"id":"1867196122143563838"},"retweeted_tweet":{"tweet_id":"1867196122143563838","bookmarks":0,"created_at":"Thu Dec 12 13:13:41 +0000 2024","favorites":119,"text":"Every citizen journalist who fought the legacy media narrative and spread the truth this election is the Person of the Year. \n\n https:\/\/t.co\/B8boPofzKx","lang":"en","quotes":2,"replies":60,"retweets":10,"conv…
Notas práticas:
- Valores created_at são retornados como strings de data-hora; trate-os como estão para exibição ou normalize para o fuso horário do seu aplicativo.
- Entidades (menções, urls, hashtags) ajudam a linkar conteúdo ou filtrar por tópico.
- Contagens como replies, retweets, quotes são contagens instantâneas; não assuma estabilidade a longo prazo para análises sem atualização periódica.
Dicas de produção que economizam tempo
- Autenticação: Sempre defina Authorization: Bearer YOUR_API_KEY. Não adicione chaves de consulta extras.
- Tratamento de erros: Em não-2xx, tente novamente com backoff exponencial para problemas transitórios. Registre o corpo da resposta para depuração.
- Cache: Dados de perfil mudam com menos frequência do que timelines—faça cache das respostas de Sobre o perfil por mais tempo do que as timelines de resposta.
- Taxa e cota: O marketplace usa assinatura + cota. Sua primeira API no Zyla geralmente inclui um teste de 7 dias ou 50 solicitações. Para limites atuais, verifique a página da API.
- Nullabilidade: Campos como business_account podem ser nulos. Sempre verifique caminhos aninhados (por exemplo, affiliates.label.badge).
- Internacionalização: Campos de texto podem incluir emojis e caracteres não latinos; garanta o manuseio seguro em UTF-8 de ponta a ponta.
- Segurança: Mantenha YOUR_API_KEY em variáveis de ambiente ou em um gerenciador de segredos; nunca comite no controle de versão.
Casos de uso do mundo real
- Enriquecimento de leads: Puxe Sobre o perfil para sinalizar blue_verified e anexar avatar/nome para fluxos de trabalho de SDR.
- Mapeamento de parcerias: Use Seguindo para descobrir marcas e criadores que um prospecto segue antes do contato.
- Alertas de engajamento: Consulte Respostas do usuário e destaque tópicos onde sua marca ou concorrentes são mencionados.
- Ferramentas de agente: Dê aos seus assistentes de IA internos a capacidade de obter uma visão rápida do perfil e contexto para tomada de decisões.
Explore a página da API novamente aqui para detalhes e atualizações: API Tudo-em-Um de Dados do Twitter. Navegue por mais categorias no marketplace: Zyla API Hub.
Chamando a API de um agente de IA via MCP
A API Tudo-em-Um de Dados do Twitter pode ser chamada de clientes compatíveis com MCP (por exemplo, Claude Code, Cursor, Windsurf) através do endpoint MCP da Zyla. Aponte seu cliente MCP para:
Quando seu agente realizar uma chamada de ferramenta, direcione-o para invocar as URLs documentadas do Hub (por exemplo, a URL Sobre o perfil) e inclua o cabeçalho Authorization: Bearer YOUR_API_KEY. Use os mesmos padrões de solicitação que você vê nos exemplos de curl. Isso permite que seu agente de codificação recupere dados do Twitter sob demanda, mantendo a autenticação centralizada na configuração do seu MCP.
Solução de problemas e observabilidade
- Timeouts de rede: Defina timeouts razoáveis (5–15s). Implemente tentativas em timeouts e respostas 5xx.
- Dados parciais: Se um campo aninhado estiver ausente (por exemplo, affiliates.label), trate-o como opcional em seu esquema e continue renderizando os campos principais do perfil.
- Auditoria: Registre URLs de solicitações e códigos de status de resposta (não segredos) para correlacionar picos com implantações ou tráfego.
- Backfills: Para trabalhos em lote, escalone solicitações e respeite sua cota para evitar limitação; faça cache de entidades estáveis como rest_id.
Referência para copiar e colar
Sobre o perfil (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/22582/about-profile?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Seguindo (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3679/following?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
Respostas do usuário (curl)
curl -s -X GET "https://zylalabs.com/api/3399/twitter-data-all-in-one-api/3682/user-replies?screenname=elonmusk" \
-H "Authorization: Bearer YOUR_API_KEY"
FAQ
Como faço para autenticar?
Inclua o cabeçalho Authorization: Bearer YOUR_API_KEY em cada solicitação.
Há um plano gratuito?
Não há Plano Gratuito. Para sua primeira API na Zyla, você geralmente recebe um teste de 7 dias ou 50 solicitações. Verifique a página da API para opções de acesso e preços atuais.
Quais parâmetros são obrigatórios?
Para os endpoints documentados acima, passe screenname conforme mostrado (por exemplo, screenname=elonmusk). Não adicione parâmetros extras.
Qual é a forma da resposta?
Use os exemplos documentados neste artigo como referência. Confie apenas nos campos mostrados pela API: para Sobre o perfil (status, profile, rest_id, blue_verified, affiliates, business_account, verified_since, avatar, name, protected, about, id), para Seguindo (array following com campos de usuário, status, more_users), e para Respostas do usuário (entradas de timeline com campos de tweet e autor onde fornecidos).
Posso chamar a API de agentes de codificação de IA?
Sim. Use o endpoint MCP da Zyla e faça seu agente chamar as mesmas URLs do Hub com o cabeçalho Authorization. Veja o link do MCP acima.
Implemente sua integração hoje: crie sua conta, inscreva-se na API e obtenha sua chave aqui: Registrar. Explore mais APIs de mídia social e além no Zyla API Hub e a listagem da API Tudo-em-Um de Dados do Twitter em esta página.