Pesquisa de palavras-chave para aplicativo
Responde a três perguntas sobre uma ideia de aplicativo usando dados públicos da App Store da Apple, sem necessidade de conta ou chave de API:
- Tráfego: as pessoas estão pesquisando por isso e com quais palavras?
- Dificuldade: quão difícil é ranquear para essas palavras?
- Mercado: quais aplicativos dominam este espaço, qual o tamanho deles e como ganham dinheiro?
Termina com um veredito, as palavras-chave a serem segmentadas e um título, subtítulo e campo de palavras-chave para a App Store.
Fluxo de trabalho
1. Transforme a ideia em 10 a 20 frases-semente
Sementes são as pesquisas iniciais; o script expande cada uma por meio do autocomplete. Cubra:
- A tarefa principal, nas palavras do usuário: "cálculo mental", "hábito tracker" (não "aprimoramento de numeracia").
- Sinônimos e nomes alternativos: "jogo de matemática", "aritmética", "tabuada".
- O público: "jogos de matemática para adultos", "... para crianças". Públicos separados são mercados separados.
- Categorias adjacentes com as quais compete: "treinamento cerebral" para um aplicativo de matemática.
- Frases de resultado: "matemática rápida", "treino de matemática".
Não use nomes de marcas concorrentes como sementes. Eles aparecerão nos resultados de qualquer forma, o que é útil para o mapa de mercado.
Outros países recebem sementes em seu próprio idioma. Alemães pesquisam o que alemães digitam ("kalorienzähler", não "kalorien tracker"), então escreva as sementes de cada mercado a partir do que os locais digitariam e verifique-as pelo autocomplete. Nunca traduza os vencedores do inglês e presuma que eles se mantêm.
Segunda passagem a partir dos títulos dos concorrentes. Após a primeira execução, leia as palavras não relacionadas a marcas nos principais aplicativos do mapa de mercado (por exemplo, "cartas", "dicas" em "Mental Math Cards Games & Tips"). Desenvolvedores convergem para palavras que funcionam, então aquelas que você não cobriu se tornam um segundo lote de sementes, executadas no mesmo --out.
2. Execute a pesquisa
python3 -I scripts/keyword_research.py \
--seeds "cálculo mental, jogo de matemática, jogos de matemática para adultos, treinamento cerebral, tabuada" \
--country br --max-terms 120 --out pesquisa/<ideia>-br-<aaaa-mm-dd>
- Tempo de execução: cerca de 6 segundos por frase no início de uma execução, caindo à medida que os mesmos aplicativos continuam ranqueando (seus detalhes são armazenados em cache). 120 frases levam cerca de 8 a 10 minutos, então execute lotes grandes em segundo plano.
- Progresso: os resultados são salvos durante a execução.
report.mdpode ser lido durante a execução, e reexecutar no mesmo--outretoma. - Outras opções:
--seeds-file sementes.txt: uma frase por linha.--no-expand: pontue apenas as sementes fornecidas.--country gb|de|jp|…: as 52 principais lojas. Autocomplete e rankings diferem por país, portanto pesquise cada mercado de lançamento.--app-id <trackId>: para um aplicativo já publicado, preenche a coluna "Nossa posição" (1–200 ou 200+) para cada frase, sem custo extra. Reexecute em pastas datadas para acompanhar rankings após uma alteração de metadados.
- Saídas:
report.md: as duas tabelas abaixo.keywords.jsoneapps.json: dados brutos para perguntas de acompanhamento.
- Testes:
python3 -I scripts/test_keyword_research.pyepython3 -I scripts/test_check_metadata.pysão executados offline.
3. Leia a tabela de palavras-chave
Cada frase recebe três pontuações heurísticas de 0 a 100:
| Pontuação | Como é medida | Leia como |
|---|---|---|
| Demanda | Quanto menos letras digitadas antes da App Store sugerir a frase, e quanto maior sua posição, mais ela é pesquisada. A Apple ordena as sugestões por volume de pesquisa. | Letras ≤ 4: alta. 5–7: média. ≥ 8: baixa. Nunca sugerido (pontuação 0): desconhecido, abaixo do que o autocomplete mede. |
| Concorrência | A mediana da contagem de avaliações dos 10 principais atuais em escala logarítmica, mais 2 pontos por aplicativo entre os 10 primeiros que tenha a frase inteira em seu nome ou subtítulo (plurais, acentos e compostos como "kalorienzähler" = "Kalorien Zähler" contam; subtítulos são conhecidos apenas para cerca dos 8 primeiros). | Mediana < 1k: fraca. 1k–20k: moderada. 20k–100k: forte. > 100k: dominada por grandes marcas. 5 ou mais títulos exatos significa que muitos aplicativos segmentam diretamente a frase. |
| Oportunidade | demanda × (1 − concorrência / 100) | A ordem de classificação. O ponto ideal é demanda ≥ 60 com concorrência ≤ 55. |
A coluna Veredito transforma esses valores em uma palavra: segmentar (demanda ≥ 40, concorrência ≤ 55: viável para um novo aplicativo), difícil (concorrência > 55), baixa (demanda < 40), piso (demanda 0), marca (veja abaixo) e, com --app-id, próprio (seu aplicativo está entre os 3 primeiros) ou impulsionar (entre os 10 primeiros: próximo, vale reforçar na listagem). É uma primeira triagem, não a decisão final: o corte de intenção abaixo ainda se aplica.
Padrões a destacar:
- Alta demanda, concorrência fraca: a oportunidade. Exemplo: "cálculo mental" (sugerido após 4 letras, mediana dos 10 primeiros de 609 avaliações).
- Alta demanda onde nenhum aplicativo entre os 10 primeiros tem a frase inteira em seu nome ou subtítulo: uma oportunidade de título, mesmo quando a concorrência é forte. Exemplo: "jogos de matemática para adultos", mediana de 112k avaliações, mas 0/10 títulos exatos.
- Frases de autocomplete que são nomes de marcas ("times tables rock stars", "impulse brain training") pertencem a um concorrente. Liste-as no mapa de mercado, nunca em suas palavras-chave; a Apple rejeita metadados que usem marcas registradas de outros aplicativos. O script marca uma frase (marca) e a lista por último quando é o título completo de um aplicativo entre os 10 primeiros, porque o nome de um aplicativo pequeno, por si só, pontuaria concorrência quase zero e ficaria no topo da tabela. Ele não consegue capturar frases de marca que correspondam apenas parcialmente a um título ("impulse brain training") e pode marcar uma frase genérica que algum aplicativo adotou como título exato ("calculadora de porcentagem"), portanto ainda leia a lista.
- Frases com divisão de público ("... para 3º ano", "... para adultos") são produtos diferentes. Diga qual segmento a ideia atende.
- Alta demanda mas 0/10 títulos exatos também é um sinal de alerta. Ou é uma lacuna real (raro) ou a frase é muito vaga para que alguém construa algo em cima (comum). Aplique o teste de intenção abaixo antes de chamá-la de oportunidade.
Corte por intenção antes de ranquear. O script não consegue julgar isso; você deve fazê-lo. Uma palavra-chave conta apenas quando a pessoa que a digita espera um aplicativo como este. Pergunte para cada uma: quantas pessoas digitando isso querem ESTE aplicativo? Corte duas classes que pontuam enganosamente bem:
- Muito genérico: "tracker" para um contador de calorias. Demanda enorme, mas o pesquisador pode querer trackers de sono, orçamento ou voo.
- Adjacente, intenção errada: "crescimento muscular" para um contador de calorias. Relacionado à ideia, mas o pesquisador quer aplicativos de treino. Você pode até ranquear; as instalações não virão, e as que vierem não ficarão.
Demanda 0 significa desconhecido, não zero. Nunca sugerido está abaixo do que o autocomplete pode medir (o mesmo que popularidade 5, o piso, no Apple Search Ads). Uma dessas frases no campo de palavras-chave é um bilhete de loteria. As palavras-chave do título e subtítulo devem ter demanda claramente mensurável; frases de piso são apenas preenchimento depois que as comprovadas são colocadas.
Julgue a concorrência em relação ao estágio do aplicativo.
- Aplicativo novo: segmente concorrência ≤ 55 para rankings atuais. Uma frase mais forte no título é uma aposta no futuro, então o campo de palavras-chave deve conter frases viáveis para agora.
- Aplicativo estabelecido (milhares de avaliações): concorrência até cerca de 70 se torna contestável, porque a autoridade de ranking é construída com instalações e avaliações.
- Um aplicativo já publicado ranqueando ~100+ para uma frase em seu próprio título ou subtítulo (veja
--app-id) tem um problema de autoridade, não de palavra-chave. Mais palavras-chave não vão resolver; instalações e avaliações, sim.
4. Leia o mapa de mercado
A segunda tabela lista os aplicativos que aparecem entre os 10 primeiros para mais frases: os concorrentes estabelecidos. Para os 5 a 10 principais:
- Tamanho: uma contagem de avaliações na casa das centenas de milhares significa um líder financiado, enquanto milhares significa tamanho indie e superável.
- Atualização: uma última atualização há mais de um ano significa um líder desatualizado, o que é uma oportunidade.
- Qualidade: uma avaliação média abaixo de cerca de 4.3 significa que os usuários estão insatisfeitos. As avaliações deles são uma lista de funcionalidades para você.
- Modelo de negócio: o preço está na tabela. Compras dentro do aplicativo e preços de assinatura não estão na API, mas a página da loja os incorpora. Busque
https://apps.apple.com/br/app/id<trackId>com curl, remova o escape HTML e leia o JSON após"title":"In-App Purchases": cadatextPairé um produto e seu preço, por exemplo, "Full Game" / "$3.99" do King of Math. Uma categoria onde todos os líderes cobram assinatura prova que as pessoas pagam. Um rival forte com desbloqueio único define a âncora de preço com a qual você será comparado. - Dominância de busca versus fama: conte quantas vezes cada aplicativo está entre os 3 primeiros em todas as frases (
keywords.json→top). Um rival famoso pode estar ausente na busca. Por exemplo, King of Math (3k avaliações, 15 anos) estava entre os 3 primeiros em 0 de 178 frases de matemática, enquanto Mental Math Cards Games & Tips estava entre os 3 primeiros em 41.
5. Entregue o veredito
Use esta estrutura:
- Veredito: vá / vá para um nicho / evite, em uma frase, com o motivo.
- Palavras-chave ideais: as 5 a 10 melhores por oportunidade, cada uma com sua demanda, concorrência e por que foi escolhida.
- Segmentos: uma tabela de clusters de palavras-chave com demanda, concorrência e o que cada um significa (como no exemplo abaixo).
- Quem domina o mercado: os principais concorrentes, seu tamanho, atualização e modelo de negócio.
- Metadados da App Store:
- Título: até 30 caracteres. Palavra-chave primeiro, marca depois: "Calorie Tracker — Glow Up" é melhor que "Glow Up — Calorie Tracker", porque as pessoas pesquisam a palavra-chave, não uma marca desconhecida, e palavras anteriores têm mais peso. Marca primeiro é uma escolha que o usuário faz conscientemente, nunca o padrão.
- Subtítulo: até 30 caracteres. A segunda palavra-chave mais forte, escrita de forma descritiva: "Track macros & lose weight" é um subtítulo; "Feel amazing every day" desperdiça 30 caracteres.
- Campo de palavras-chave: até 100 caracteres, separados por vírgula sem espaços. Não repita palavras já no título ou subtítulo (a Apple os combina), use formas no singular e deixe de fora nomes de marcas e o nome da categoria do aplicativo.
- Nomes de produtos Apple (iPhone, iPad, Apple Watch) no título ou subtítulo são motivo de rejeição (diretriz 5.2.5). No campo de palavras-chave, são aceitáveis e valem a pena se o aplicativo realmente tiver, por exemplo, um app para o Watch.
- Verifique:
python3 -I scripts/check_metadata.py --title "…" --subtitle "…" --keywords "…"falha em limites e nomes Apple e alerta sobre caracteres desperdiçados. - Apresente como uma tabela: palavra-chave, a superfície à qual está atribuída (título, subtítulo ou campo de palavras-chave), demanda, concorrência e um argumento de intenção de uma linha. Obtenha a aprovação explícita do usuário para as palavras-chave do título e subtítulo antes de escrever listagens ou localizar algo a partir delas.
- Título, subtítulo e campo de palavras-chave só mudam com uma nova versão do aplicativo (o texto promocional é o único campo editável em tempo real), então planeje alterações de palavras-chave para coincidir com o próximo lançamento.
- Limitações: os limites abaixo que se aplicam.
Limites (sempre mencione os relevantes)
- A demanda é relativa, não absoluta. A posição no autocomplete classifica as frases umas em relação às outras; não fornece contagens de download. A métrica real é a popularidade do Apple Search Ads (5–100), disponível por meio de uma conta do Apple Search Ads ou de ferramentas pagas como Astro.
- A concorrência usa contagens de avaliações como proxy para downloads. Há correlação, mas não é a mesma coisa.
- Os resultados são um instantâneo. Reexecute em uma pasta datada para ver tendências.
- A App Store dos EUA é o padrão. Outros países precisam de sua própria execução.
Astro (ferramenta paga de palavras-chave), se estiver instalado
O Astro (/Applications/Astro.app, pacote matteospada.it.ASO) fornece a popularidade real dos Search Ads e sua própria pontuação de dificuldade. O que foi descoberto sobre ele (Outubro de 2026):
- Limite de demonstração: a versão de demonstração permite 10 palavras-chave por aplicativo, e popularidade, dificuldade e sugestões exigem uma licença.
- Servidor MCP: o Astro tem seu próprio, documentado em tryastro.app/docs/mcp, ativado a partir de sua tela inicial. Precisa de uma licença. Quando estiver licenciado e em execução, prefira suas ferramentas para popularidade e dificuldade em vez das heurísticas aqui. O fluxo de trabalho se adapta a ele:
- Coloque a pesquisa de um aplicativo ainda não lançado em uma pasta ou tag temporária, para que fique separada do rastreamento ao vivo.
- Sementes:
get_keyword_suggestions, maisextract_competitors_keywordsnos 3 a 5 rivais mais próximos (encontre-os comsearch_app_store). - Por mercado:
search_rankingsna loja local mostra quem está vencendo lá. - Ele também informa quantos aplicativos usam uma palavra-chave em seu nome ou subtítulo. Muitos é evidência de que a frase é pesquisada; zero em uma frase popular é o sinal de alerta descrito acima.
- Dados locais: armazenados em
~/Library/Containers/matteospada.it.ASO/Data/Library/Application Support/Astro/Model.sqlite(Core Data). Sempre copie o arquivo e seus arquivos-wale-shmantes de lê-lo.- Palavras-chave estão em
ZKEYWORD:ZTEXT,ZSTORE,ZPOPULARITY,ZDIFFICULTY,ZAPPSCOUNT,ZCURRENTRANKING. - Timestamps são segundos desde 2001, então adicione 978307200 para obter o tempo Unix.
- Palavras-chave estão em
- Não chame o servidor do Astro (
api.tryastro.app) diretamente. Seus dados de popularidade são o produto licenciado. Use o aplicativo, seu servidor MCP, ou peça ao usuário para adicionar as palavras-chave no Astro e depois leia o banco de dados local. - Controlar sua janela a partir de scripts não é confiável. É um aplicativo SwiftUI cuja barra lateral ignora cliques de script, e a captura de tela precisa de uma permissão que o terminal geralmente não tem.
RankPilot (nosso próprio rastreador), assim que o aplicativo for lançado
O RankPilot é nosso rastreador local de palavras-chave da App Store (Node 22.5+, sem dependências, dados em ~/.rankpilot/rankpilot.db). Este skill decide o que segmentar antes e no lançamento; o RankPilot então rastreia: histórico de posição por palavra-chave e país, o que mudou desde a última verificação e quais aplicativos estão à sua frente. Passe o bastão assim que a listagem estiver ativa.
- Suas ferramentas MCP (
node bin/rp.js mcp installas registra):status,app_add(seu ou de um concorrente),keywords_add,keywords_localize(IA escreve a frase local de cada mercado),check_run,board_get(palavras-chave × países com posição, posição anterior, volume, dificuldade, veredito e até 5 aplicativos à sua frente por país),term_get(uma frase explicada, com os 10 primeiros e sua relevância),keywords_brainstorm. - Passagem de bastão: adicione o aplicativo com
app_add, adicione as palavras-chave aprovadas (título, subtítulo e campo de palavras-chave) comkeywords_add, configure o país e executecheck_runmanualmente ou agende comcron.