Documentação para desenvolvedores › Referência da API

Endpoints dos seus apps

Os apps que este workspace acompanha: posições, concorrentes, avaliações, página na loja, linha do tempo da página, destaques, top charts e verificações da página.

Autenticação · Créditos · Parâmetros comuns · Códigos de erro · openapi.json

GET /apps

Lista os apps acompanhados nesta conta do Storelift (id, nome, países, palavras-chave). Chame primeiro: todas as outras ferramentas precisam de um appId daqui.

Escopo
apps:read
Créditos
1
Plano
Free
curl "https://storelift.net/v1/apps" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/keywords

Posições das palavras-chave de um app em um país da App Store / Google Play. SÃO TRÊS ESTADOS DIFERENTES: measured=false significa que a consulta não pôde ser medida, rank=null significa que foi medida, mas o app não está entre os primeiros resultados, e rank=<number> é a posição. Nunca os reduza a um só: contar um dia não medido como zero gera uma resposta falsa.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/keywords?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/rivals

Apps que aparecem ACIMA deste app na busca. Para cada concorrente, você recebe as palavras-chave em que ele supera você, a posição dele (theirRank) e a sua (ourRank); ourRank null significa que o app não aparece para essa palavra-chave.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/ai

Menções ao app em uma amostra datada de respostas de mecanismos de IA; isso não reproduz o que o ChatGPT, o Claude ou o Gemini mostram a cada usuário. Exige Studio ou Enterprise e o escopo ai:read. engines traz as respostas de cada mecanismo medido; providers informa os estados measured, failed ou not_measured. Um mecanismo indisponível não é uma pontuação zero. Leia a amostra datada e sua contagem de perguntas; não é um ranking universal nem uma medida de todas as respostas dadas aos consumidores.

Escopo
ai:read
Créditos
1
Plano
Studio

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/ai?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/ai-check

Inicia uma amostra de visibilidade em IA para um app em um país, com os mecanismos disponíveis para a execução. Exige Studio ou Enterprise e o escopo ai:read; a cota do painel do Pro não dá acesso a esta ferramenta MCP. Consome uma execução de visibilidade em IA do plano ou comprada; get_ai_visibility retorna o resultado. Só uma medição por app é executada por vez.

Escopo
ai:read
Créditos
1
Plano
Studio
ParâmetroLocalTipoDescrição
countryquerystringcódigo do país, ex.: tr, us (vazio = os três primeiros países do app)

Também aceita: appId (obrigatório)

Além dos créditos, esta chamada usa uma execução de visibilidade em IA, do plano ou comprada, então não há comando para copiar aqui.

GET /apps/{appId}/history

Histórico de posições das palavras-chave em um país. Os pontos da série são [dia, posição]; uma posição null significa que o app não estava entre os primeiros resultados naquele dia, o que não é o mesmo que uma posição ruim. Plano Pro.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/history?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/page

Os sinais da página da loja do próprio app em um país (sem nome e subtítulo): versão, eventos no app, destaques editoriais, seções de apps semelhantes e o conjunto de capturas de tela (iOS), além da página do Google Play (número exato de instalações, histograma de notas, indicadores de anúncios e de compras no app, selo de parada). ios.listingExtras traz os idiomas que o app suporta, a distribuição de estrelas (de 1★ a 5★), os eventos no app em andamento e futuros, o texto promocional e as compras no app em destaque; no Free vêm o número de idiomas, os 5 primeiros idiomas e a distribuição de estrelas, e locked mostra quantos itens há no resto. timeline lista as mudanças datadas que detectamos na página: a explicação mais simples para uma mudança de posição. measured=false significa que a página nunca foi lida; não é o mesmo que uma página vazia.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/page?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/reviews

Avaliações recentes de um país: list traz as avaliações da App Store e android, as do Google Play (uma janela mais curta), cada uma com texto, nota e data. newCount é quantas chegaram desde a medição anterior; em um registro antigo vem como null, então leia como desconhecido, e não como zero. android: null significa que essa página do Play aguarda a primeira medição, e uma lista vazia significa que a página não tem avaliações.

Escopo
reviews:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/reviews?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/charts

Posição nas paradas da App Store em um país: posições atuais por lista (gratuitos / pagos / faturamento, geral e na categoria) e seu histórico. O Google Play fica de fora de propósito: ele não tem uma parada pública, e um número aqui seria inventado.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/charts?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/reviews/search

Pesquisa as avaliações de um app em uma loja por texto, nota em estrelas, versão do app e intervalo de datas, da mais recente para a mais antiga: até 1.000 linhas do arquivo completo de avaliações dentro da janela de avaliações do seu plano. total é o número de correspondências; truncated informa quando mais linhas corresponderam do que você pediu.

Escopo
reviews:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
qquerystringtexto a encontrar no título ou no corpo da avaliação
ratingquerystringnotas em estrelas, separadas por vírgula, ex.: 1,2
versionquerystringversão do app em que a avaliação foi escrita, ex.: 2.4.0
fromquerystringprimeiro dia, YYYY-MM-DD
toquerystringúltimo dia, YYYY-MM-DD
limitquerynumberlinhas, até 1000 (padrão 100)

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/reviews/search?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/reviews/stats

Distribuição das notas em estrelas, média e parcela de avaliações de 1–2 estrelas de um app em uma loja, além de uma curva dia a dia (contagem e média por dia) e um detalhamento por versão, para que uma queda seja associada à versão que a causou. Padrão: os últimos 90 dias.

Escopo
reviews:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
daysquerynumberúltimos N dias, até 365 (padrão 90)
fromquerystringprimeiro dia, YYYY-MM-DD (tem prioridade sobre days)
toquerystringúltimo dia, YYYY-MM-DD

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/reviews/stats?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/reviews/summary

IA de avaliações para um app em uma loja: um resumo das avaliações recentes e dos temas nelas — reclamações, pedidos, elogios —, cada um com as avaliações citadas como evidência. O mesmo dia e o mesmo lote de avaliações retornam o resumo guardado sem consumir a cota; um novo resumo consome um crédito de IA de avaliações da cota mensal (todos os planos; o Free tem uma amostra). Responde state: "too_few" com a contagem enquanto houver poucas avaliações para resumir.

Escopo
reviews:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
storequeryios | androidpadrão: ios
langqueryen | tr | de | es | fr | pt | ru | ja | ko | zhidioma do resumo (padrão en)

Também aceita: appId (obrigatório) · country

Além dos créditos, esta chamada usa um crédito da IA de avaliações da cota mensal, então não há comando para copiar aqui.

GET /apps/{appId}/reviews/reply-draft

Um rascunho de resposta do desenvolvedor a uma avaliação, no idioma da loja. A nota e o texto vêm da avaliação guardada do nosso lado, então o rascunho responde ao que a pessoa realmente escreveu; note acrescenta o que você quer que a resposta diga (uma correção publicada, uma configuração a testar). Só o rascunho é retornado: reply_review publica a resposta depois da sua confirmação. Consome um crédito de IA de avaliações.

Escopo
reviews:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
storequeryios | androidpadrão: ios
reviewIdobrigatórioquerystringid da avaliação, de get_reviews ou search_reviews
notequerystringo que a resposta deve dizer, ex.: corrigido na 2.4.1

Também aceita: appId (obrigatório) · country

Além dos créditos, esta chamada usa um crédito da IA de avaliações, então não há comando para copiar aqui.

GET /apps/{appId}/timeline

Mudanças datadas na página da loja de um app — nova versão, capturas de tela, eventos no app, destaques da página da loja e edições do campo de palavras-chave no App Store Connect —, cada uma com o movimento de posições das palavras-chave ao redor: termos que subiram, caíram, entraram ou saíram entre a última medição antes da mudança e a última dentro de window dias depois, além dos cinco maiores movimentos.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
windowquerynumberdias após cada mudança para ler as posições, até 30 (padrão 7)

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/timeline?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/today

O dia de um app em uma única resposta — a tela Hoje: compras, testes gratuitos e renovações das fontes conectadas, novas avaliações, mudanças de posição e de categoria em relação a ontem, novos entrantes acima de você, novos eventos no app e os números de ontem da App Store, do Google Play, da receita líquida e de anúncios, cada um marcado com a fonte de origem. tz faz de "hoje" o dia do próprio usuário.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
tzquerystringfuso horário IANA, ex.: Europe/Istanbul (padrão UTC)
dayquerystringoutro dia para ler, YYYY-MM-DD

Também aceita: appId (obrigatório)

curl "https://storelift.net/v1/apps/sbx-lumen/today" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/competition

Quantos apps competem por cada palavra-chave em uma loja; retornado para termos vistos em dois ou mais apps. O padrão são as palavras-chave acompanhadas do app; envie terms para contar candidatas antes de acompanhá-las. corpus é o tamanho do conjunto por trás da contagem.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
termsquerystringaté 100 termos, separados por vírgula (padrão: as palavras-chave acompanhadas)

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/competition?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/rivals/{rivalId}

Um concorrente do seu app em uma loja: nome, nota e número de notas com um histórico de 90 dias (uma mudança de nome é o sinal de que a página foi reescrita), e as palavras-chave para as quais ele aparece, com a posição em cada uma. A lista de palavras-chave consome um uso do espião de palavras-chave da cota mensal e fica aberta por 30 dias; quando a cota acaba, a resposta traz os números do próprio concorrente com locked: true.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
rivalIdobrigatóriopathstringid do concorrente, de get_rivals

Também aceita: appId (obrigatório) · country · platform

Além dos créditos, esta chamada usa uma consulta de palavras-chave de um concorrente da cota mensal, então não há comando para copiar aqui.

GET /apps/{appId}/rivals/{rivalId}/adnetworks

Como um concorrente monetiza com anúncios: as redes de anúncios com que ele trabalha, cada uma marcada como DIRECT ou RESELLER. O estado separa os casos: as redes encontradas, um desenvolvedor que não declara redes de anúncios (no_file), uma verificação que não pôde ser concluída desta vez (unreachable) ou uma página da loja sem site do desenvolvedor (no_site). Guardado por 14 dias.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
rivalIdobrigatóriopathstringid do concorrente, de get_rivals

Também aceita: appId (obrigatório) · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals/1000000001/adnetworks" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/rivals/{rivalId}/market

O mercado de um concorrente em uma loja: no Google Play, o número exato de instalações e a faixa de preço das compras no app, e as instalações entre duas medições quando já há duas; na App Store, o preço, o número de notas, a data de lançamento e se vende compras no app. Medido sob demanda e guardado por 7 dias.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
rivalIdobrigatóriopathstringid do concorrente, de get_rivals

Também aceita: appId (obrigatório) · country · platform

curl "https://storelift.net/v1/apps/sbx-lumen/rivals/1000000001/market?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/storefront-audit

Sua página do iOS em todas as lojas da App Store: onde o app é vendido, quais lojas exibem o texto ou as capturas de tela de reserva em vez dos do próprio idioma, e a segunda localidade que cada loja também indexa. Retorna a última varredura; refresh: true inicia uma nova quando a última tem mais de 12 horas e responde 202 com eta segundos; chame de novo depois disso. A tabela completa está no Pro e acima; o Free recebe a prévia.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório)

curl "https://storelift.net/v1/apps/sbx-lumen/storefront-audit" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/suggest

Novas ideias de palavras-chave para um app em uma loja, escritas no idioma de busca dessa loja: termos de 1 a 3 palavras que as pessoas digitam na busca da loja, cada um com um motivo de uma linha dizendo quem busca e por que o app atende a essa necessidade. Ficam de fora as palavras-chave acompanhadas, as que você descartou e os nomes de marca. Consome um crédito de textos com IA da cota mensal (Pro e acima); meça as ideias com get_keyword_metrics antes de acompanhá-las.

Escopo
apps:read
Créditos
1
Plano
Pro
ParâmetroLocalTipoDescrição
ccquerystringcódigo da loja, ex.: tr, us (padrão: o primeiro país do app)
langqueryen | tr | de | es | fr | pt | ru | ja | ko | zhidioma dos motivos (padrão en)

Também aceita: appId (obrigatório)

Além dos créditos, esta chamada usa um crédito de escrita com IA da cota mensal, então não há comando para copiar aqui.

POST /apps/{appId}/validate-listing

Verifica um rascunho de página da App Store antes de ele ir para o App Store Connect. Informa os limites de caracteres por campo, o espaço do campo de palavras-chave perdido com espaços, repetições, palavras que já estão no nome ou no subtítulo, a marca e palavras de enchimento, repetições entre nome e subtítulo, nomes de produtos da Apple e palavras sobre preço, se o texto está no idioma e na escrita da localidade, e quais palavras-chave acompanhadas do app o rascunho deixa de fora. Não grava nada; envie só os campos que quiser verificar.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
localebodystringlocalidade da página da loja, ex.: en-US, de-DE, ja
countrybodystringpaís cujas palavras-chave acompanhadas servem para verificar a cobertura, ex.: us (padrão: o primeiro país do app)
namebodystringnome do app, até 30 caracteres
subtitlebodystringsubtítulo, até 30 caracteres
keywordsbodystringcampo de palavras-chave, separadas por vírgula, até 100 caracteres
promotionalTextbodystringtexto promocional, até 170 caracteres
descriptionbodystringdescrição, até 4000 caracteres

Também aceita: appId (obrigatório)

curl -X POST "https://storelift.net/v1/apps/sbx-lumen/validate-listing" \
  -H "Authorization: Bearer $STORELIFT_API_KEY" \
  -H "content-type: application/json" \
  -d '{"locale":"en-US","name":"Lumen: Sleep Sounds","subtitle":"White noise and rain for sleep","keywords":"calm,relax,nap,baby,fan,ocean,lullaby"}'

GET /apps/{appId}/draft

Um rascunho de página da loja — título, subtítulo, texto promocional e descrição — criado a partir das palavras-chave medidas para este app em uma loja, ordenadas por demanda. Cada campo vem com a contagem de caracteres em relação ao limite da loja, além de duas verificações de revisão: um nome de produto da Apple no título ou no subtítulo (só App Store) e linguagem sobre preço. termsUsed lista os termos medidos por trás do rascunho; excluded, os termos acompanhados que ainda faltam medir. Nada é gravado na loja: isso é com update_listing. Consome um crédito de textos com IA (Pro e acima).

Escopo
apps:read
Créditos
1
Plano
Pro
ParâmetroLocalTipoDescrição
ccquerystringcódigo da loja, ex.: tr, us (padrão: o primeiro país do app)

Também aceita: appId (obrigatório) · platform

Além dos créditos, esta chamada usa um crédito de escrita com IA, então não há comando para copiar aqui.

GET /apps/{appId}/localize

Escreve a página completa da App Store para uma nova localidade — nome, subtítulo, campo de palavras-chave e descrição — a partir da página de origem do app, medindo antes cada palavra-chave nessa loja. A primeira chamada inicia a escrita e responde pending (consome uma escrita de página da loja do plano: Free 1 no total, Pro 20 e Studio 75 por mês); chame de novo com poll=true até a página voltar. Com shots=true, as legendas das capturas de tela também voltam no mesmo idioma. Precisa que get_storefront_audit já tenha sido executado para o app. Não grava nada no App Store Connect: isso é com update_listing.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
localeobrigatórioquerystringlocalidade de destino, ex.: de_de, pt_br, ja_jp (de-DE também funciona)

Também aceita: appId (obrigatório)

Além dos créditos, esta chamada usa uma das escritas de página na loja do plano, então não há comando para copiar aqui.

GET /apps/{appId}/shot-text

O texto das legendas das quatro primeiras capturas de tela do seu app na App Store em uma loja. A Apple indexa o texto da página da loja, então este texto atua na conversão, e não na posição de busca; a resposta diz isso com indexed: false. Guardado até as capturas mudarem; uma nova leitura consome um crédito de textos com IA (Pro e acima).

Escopo
apps:read
Créditos
1
Plano
Pro
ParâmetroLocalTipoDescrição
ccquerystringcódigo da loja, ex.: tr, us (padrão: o primeiro país do app)

Também aceita: appId (obrigatório)

Além dos créditos, esta chamada usa um crédito de escrita com IA, então não há comando para copiar aqui.

GET /apps/{appId}/chart-movers

Quem se moveu na parada da categoria do app: quem subiu e quem caiu (3 ou mais posições), novos entrantes e saídas, com nomes, além de onde o próprio app e os concorrentes escolhidos estavam nos dois dias. A categoria vem do registro de paradas do app; envie genre para ver outra. Plano Pro.

Escopo
apps:read
Créditos
1
Plano
Pro
ParâmetroLocalTipoDescrição
kindqueryfree | paid | grossingparada (padrão free)
genrequerystringid de gênero da App Store, ex.: 6013 (padrão: a categoria do app)
daysquerynumbercomparar com esta quantidade de dias atrás, 1-90 (padrão 1)
limitquerynumberlinhas por grupo, até 100 (padrão 25)

Também aceita: appId (obrigatório) · country

curl "https://storelift.net/v1/apps/sbx-lumen/chart-movers?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}/featuring

Onde a Apple exibe o app hoje, por país: cartões editoriais (dedicated: true quando a história é sobre este app, false quando ele está em uma coleção), eventos no app ativos e agendados, a seção You Might Also Like da Apple e o histórico datado de destaques e novos eventos. Deixe country vazio para todos os países que o app acompanha.

Escopo
apps:read
Créditos
1
Plano
Free
ParâmetroLocalTipoDescrição
countryquerystringcódigo do país, ex.: tr, us (vazio = todos os países que o app acompanha)

Também aceita: appId (obrigatório)

curl "https://storelift.net/v1/apps/sbx-lumen/featuring?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

GET /apps/{appId}

Um app acompanhado com seus ids de plataforma, países, palavras-chave acompanhadas por país e a medição mais recente (tabelas de palavras-chave por país). Use list_apps antes para obter o appId.

Escopo
apps:read
Créditos
1
Plano
Free

Também aceita: appId (obrigatório)

curl "https://storelift.net/v1/apps/sbx-lumen" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"

Abrir no sandbox

Resposta de exemplo

GET /apps/{appId}/weekly-plan

As sugestões desta semana para a página da loja do app: a mesma lista do cartão "Esta semana" do painel, da melhor para a pior. Uma sugestão só aparece quando passa por verificações rigorosas: uma palavra-chave entra no título ou no subtítulo só se for um termo central e de alta demanda do nicho do app, se o app já estiver entre as posições 4 e 15 para ela, se os apps concorrentes acima a tiverem no nome e se ela couber sem tirar a marca nem nada que já ranqueie; palavras-chave de nicho ou de cauda longa vão, no máximo, para o campo de palavras-chave, e só quando há espaço; outras categorias, outros idiomas e palavras-chave que o usuário recusou nunca aparecem; nada é sugerido enquanto uma mudança recente na página ainda está se assentando (settling informa até quando). Cada tarefa traz a frase, o texto atual e o proposto, as palavras que adiciona e remove, os motivos (fatos medidos), a contrapartida e um nível de confiança. Sem country, todas as lojas são combinadas e a mesma mudança vira uma única tarefa com seus países. Costuma vir vazia, e isso é intencional. Plano Pro.

Escopo
apps:read
Créditos
1
Plano
Pro
ParâmetroLocalTipoDescrição
countryquerystringuma loja, ex.: tr, us (omita para combinar todas as lojas)
goalquerydownloads | rank | revenueaceito por compatibilidade; as sugestões são ordenadas por valor esperado
platformqueryios | androidloja de apps (padrão ios)
limitqueryintegertarefas a retornar, 1–10 (padrão 5)

Também aceita: appId (obrigatório)

curl "https://storelift.net/v1/apps/sbx-lumen/weekly-plan?country=us" \
  -H "Authorization: Bearer $STORELIFT_API_KEY"