Storelift

Storelift › Guias › A API do Storelift

Camada de IA

A API do Storelift

Tudo o que o painel mostra também é um endpoint JSON. São 9, todos GET, todos sobre os seus próprios apps acompanhados — assim um script, uma rotina de planilha ou uma etapa de CI leem os mesmos números sem raspar uma página. A API está incluída no Pro e no Studio; um assistente que lê os mesmos dados costuma preferir o servidor MCP.

Começar grátis →Plano grátis: 1 app, 25 palavras-chave em cada um de 2 storefronts, 30 dias de histórico, sem cartão e sem prazo. O Pro custa US$ 20/mês.

Por Traduzido do original em inglês com auxílio de IAAtualizado: 5 seções

01Endereço base e autenticação

A base é https://storelift.net/v1. Crie uma chave em Configurações → API; ela é exibida uma única vez e guardada só como hash, então uma chave perdida é substituída, não recuperada.

Envie-a como x-api-key, ou como bearer token se o seu cliente só trabalha com cabeçalhos Authorization:

curl -s https://storelift.net/v1/apps \
  -H "x-api-key: sl_live_..."
O acesso à API está nos planos Pro e Studio — a partir de US$ 20 por mês, US$ 60 no Studio. Se o plano for rebaixado, a chave para de funcionar mas não é apagada, então voltar ao plano reativa a mesma integração.

02Os 9 endpoints

EndpointO que retorna
GET /v1/appsOs apps que esta conta acompanha. Toda outra chamada começa aqui — o id vem desta.
GET /v1/apps/{id}Um app e o retrato da execução mais recente.
GET /v1/apps/{id}/keywordsA posição atual de cada palavra-chave acompanhada em um storefront, com o estado da medição e a profundidade buscada.
GET /v1/apps/{id}/rivalsOs apps que estão acima de você, cada um com os termos em que ganha de você e as duas posições.
GET /v1/apps/{id}/aiSe um assistente cita o seu app para a sua categoria, com a série armazenada. Medido no Studio.
GET /v1/apps/{id}/historyA série de posições por palavra-chave, cortada na janela de histórico do plano.
GET /v1/apps/{id}/pageA sua própria página como a loja a serve, nas duas plataformas, mais as mudanças datadas detectadas nela.
GET /v1/apps/{id}/reviewsAvaliações recentes com o resumo de estrelas, quantas são novas nesta execução e o lado do Play quando medido.
GET /v1/apps/{id}/chartsA posição no top chart do gênero e do storefront do app, com a série.

Os endpoints abaixo de /apps/{id} aceitam country (um código de storefront como us; o padrão é o primeiro do app) e, quando as duas lojas são medidas, platform=ios|android.

03Os três estados de medição atravessam a fronteira

Esta é a parte que vale ler antes de escrever a integração. Um campo de posição pode ser um número, mas a ausência de número são duas coisas diferentes, e a API mantém as duas separadas:

  • measured: true, rank: 7 — o app foi encontrado na posição 7.
  • measured: true, rank: null — a busca rodou e o app não estava nos resultados até a profundidade que lemos.
  • measured: false — a busca não pôde ser feita naquele dia. Nada se sabe sobre a posição.
{
  "country": "de",
  "platform": "ios",
  "live": true,
  "measuredAt": "2026-09-19T02:14:08.921Z",
  "keywords": [
    { "term": "traumdeutung", "measured": true,  "rank": 7,    "demand": 6, "searchDepth": 200 },
    { "term": "traumsymbole", "measured": true,  "rank": null, "demand": 3, "searchDepth": 200 },
    { "term": "traumtagebuch", "measured": false, "rank": null, "demand": null, "searchDepth": null }
  ]
}

Juntar os dois últimos num zero descreveria uma queda que nunca aconteceu, e toda média construída em cima disso sairia errada. Se o seu código precisa de um único número, trate measured: false como uma lacuna na série, não como um valor.

04O que ela não faz

  • Não escreve. Todo endpoint é GET; qualquer outro método retorna method_not_allowed. Não há caminho da API até a sua página, as suas palavras-chave acompanhadas ou a sua cobrança.
  • Não mede sob demanda. Os endpoints leem o que a execução noturna coletou. Perguntar duas vezes não envia uma segunda consulta às lojas.
  • Não traz a camada de receita. As contas conectadas (App Store Connect, Apple Ads, RevenueCat, GA4) ficam no painel — uma linha traçada de propósito, não um esquecimento.
  • O histórico é cortado pelo plano. history e charts cortam os dois na janela do plano, então a mesma chave não vai mais longe por um endpoint do que pelo outro.

05Erros

StatuserrorQuando
401missing_api_keyNenhuma chave na requisição.
401invalid_api_keyA chave é desconhecida ou foi revogada.
401account_deletedA conta por trás da chave não existe mais.
403plan_requiredO plano não inclui acesso à API. A resposta traz o plano atual.
405method_not_allowedTodo endpoint é GET. Nada escreve.
404not_foundEsse id de app não está nesta conta.
404unknown_endpointNão existe esse caminho em /v1.

Todo erro é JSON com um campo error. plan_required também retorna plan, para que o cliente diga em qual plano a chave está em vez de adivinhar.

Perguntas frequentes

Existe limite de requisições?

Não há cota por chave. O gateway na frente da API tem um teto para a conta inteira, e cada chamada atualiza um contador de uso na chave, para você ver em Configurações se uma chave antiga ainda está em uso.

Posso usar no plano gratuito?

Não — o acesso à API começa no Pro. As ferramentas gratuitas deste site não exigem conta nenhuma, e o plano gratuito continua medindo um app por dia.

API ou servidor MCP?

Um script quer a API: formatos fixos, uma chamada, nenhum modelo no meio. Um assistente quer o servidor MCP, porque as ferramentas trazem as próprias descrições e ele escolhe a chamada certa sem você escrever a integração. Os dois leem as mesmas medições.

Veja isso para o seu próprio app

Cole o link da loja e adicione suas palavras-chave. Posição, apps acima de você e demanda são medidos todos os dias.

Plano grátis: 1 app, 25 palavras-chave em cada um de 2 storefronts, 30 dias de histórico, sem cartão e sem prazo. O Pro custa US$ 20/mês.

Começar grátis →

Leia também