Saltar para o conteúdo

REST API

Atualizado em 17 de outubro de 2026

A API do Statsdot disponibiliza os mesmos dados que o seu painel, em formato JSON, e permite-lhe gerir sites, objetivos, a sua equipa e tokens. Cada pedido requer um token de acesso pessoal.

Autenticação

Crie um token na página API e MCP da sua conta. Escolha read only (apenas leitura) para scripts e relatórios, ou read and write (leitura e escrita) se o token também precisar de efetuar alterações. Copie o token quando este for apresentado: não será exibido novamente.

Envie-o no cabeçalho Authorization de cada pedido:

curl https://statsdot.com/api/v1/sites \
  -H "Authorization: Bearer 12|your-token" \
  -H "Accept: application/json"

Um token tem acesso ao que o seu utilizador vê: os seus próprios sites e os sites das equipas a que pertence, com a sua função nessas equipas. Um leitor pode ler um site da equipa, um gestor também pode alterá-lo, e apenas o proprietário pode eliminá-lo.

URL base e formato

  • URL base: https://statsdot.com/api/v1
  • Os pedidos e respostas são em JSON. As respostas bem-sucedidas envolvem o resultado em data.
  • As horas seguem a norma ISO 8601 em UTC.

Intervalos e filtros

Cada endpoint de estatísticas aceita os mesmos parâmetros de consulta que o painel:

Parâmetro Valores
range today, 7d, 30d (predefinição), 12m, ou um intervalo personalizado 2026-09-01~2026-09-30 (dias UTC completos, no máximo dois anos)
filters[page] Apenas acessos neste caminho de página
filters[entry] Visitas que começaram nesta página
filters[source] Domínio de referência, por exemplo google.com; vazio significa direto
filters[utm_source], filters[utm_medium], filters[utm_campaign] Etiquetas de campanha da página de destino
filters[country] Código de país ISO, por exemplo ES
filters[device] Desktop, Mobile ou Tablet
filters[browser], filters[os] Conforme apresentado no painel
filters[event] Visitas que enviaram este evento
filters[goal] Visitas que atingiram este ID de objetivo

Os visitantes num intervalo são visitantes-dia: o Statsdot conta um visitante uma vez por dia, porque o código de visitante muda diariamente.

Estatísticas

Método e caminho O que devolve
GET /sites/{site}/stats/overview Visitantes, visualizações de página, taxa de rejeição e duração da visita (segundos), com o período anterior de igual duração e a variação percentual
GET /sites/{site}/stats/timeseries Visitantes e visualizações de página por dia, ou por mês para intervalos superiores a 90 dias
GET /sites/{site}/stats/breakdown/{breakdown} Valores principais de uma dimensão por visitantes. breakdown é um de pages, entry_pages, exit_pages, referrers, utm_source, utm_medium, utm_campaign, countries, devices, browsers, operating_systems, events, event_labels (com event=Name). limit de 1 a 100, predefinição 10
GET /sites/{site}/stats/goals Cada objetivo com os visitantes que o atingiram, conversões e taxa de conversão
GET /sites/{site}/stats/realtime Visitantes nos últimos cinco minutos
GET /sites/{site}/stats/bots Pedidos de crawlers de IA no período: total, por crawler e as páginas que mais leram (crawler=openai-gptbot filtra as páginas). Requer rastreamento de crawlers de IA; os filtros não se aplicam

Exemplo:

curl "https://statsdot.com/api/v1/sites/42/stats/breakdown/referrers?range=7d&limit=5" \
  -H "Authorization: Bearer 12|your-token"
{
  "data": {
    "from": "2026-10-11T00:00:00+00:00",
    "to": "2026-10-17T10:15:00+00:00",
    "filters": {},
    "breakdown": "referrers",
    "rows": [
      { "value": "google.com", "visitors": 312 },
      { "value": "", "visitors": 145 }
    ]
  }
}

Conta e sites

Método e caminho O que faz
GET /account O seu plano, eventos utilizados este mês e incluídos, limites e as capacidades do token
GET /sites Sites que pode ver, com a sua função, definições e snippet de rastreamento
GET /sites/{site} Um site
POST /sites Adicionar um site: {"domain": "example.com"}. Adicione account_id para o adicionar a uma conta de equipa que gere. Aplicam-se os limites do plano dessa conta
PATCH /sites/{site} Alterar weekly_report, public_live, shared (ligação pública de apenas leitura), alert_traffic, alert_silence ou main_goal_id (um objetivo do site, ou null)
DELETE /sites/{site} Eliminar um site que possui e todas as suas estatísticas

Objetivos

Método e caminho O que faz
GET /sites/{site}/goals Os objetivos de um site
POST /sites/{site}/goals {"type": "page", "value": "/thanks"} ou {"type": "event", "value": "Signup"}
DELETE /sites/{site}/goals/{goal} Eliminar um objetivo; as visitas permanecem

Funis

Método e caminho O que faz
GET /sites/{site}/funnels Os funis de um site
POST /sites/{site}/funnels {"name": "Sign-up", "steps": [{"type": "page", "value": "/"}, {"type": "page", "value": "/pricing"}, {"type": "event", "value": "Signup"}]}: 2 a 8 passos, no máximo 10 funis por site
DELETE /sites/{site}/funnels/{funnel} Eliminar um funil
GET /sites/{site}/stats/funnels/{funnel} Visitantes em cada passo por ordem dentro do mesmo dia, com a percentagem em relação ao anterior e ao primeiro passo; aplicam-se intervalos e filtros

Notas

Método e caminho O que faz
GET /sites/{site}/notes Notas no gráfico; from e to (YYYY-MM-DD) restringem a lista
POST /sites/{site}/notes {"date": "2026-10-17", "text": "Newsletter sent"}: um dia passado ou presente, até 200 caracteres
DELETE /sites/{site}/notes/{note} Eliminar uma nota

Equipa

Método e caminho O que faz
GET /team Pessoas convidadas para a sua conta, o limite do plano e as equipas a que pertence
POST /team Convidar: {"email": "[email protected]", "role": "viewer"} (viewer ou manager). O e-mail de convite é enviado; a resposta inclui a ligação de convite
PATCH /team/{member} Alterar a função
DELETE /team/{member} Remover uma pessoa ou um convite pendente

Tokens

Método e caminho O que faz
GET /tokens Os seus tokens, com as suas capacidades e última utilização
POST /tokens {"name": "Reports", "abilities": ["read"]}. O token simples está na resposta, uma única vez. Um token de apenas leitura não pode criar um token de escrita
DELETE /tokens/{token} Revogar um token

Erros

Os erros utilizam o estado HTTP e um corpo com um código estável:

{ "error": { "code": "account_blocked", "message": "The account that owns this site has no active plan." } }
Estado Quando
401 Token em falta ou inválido
402 A conta não tem um plano ativo, excedeu o seu plano ou atingiu um limite
403 O token é de apenas leitura e o pedido altera algo
404 O site, objetivo ou membro não existe ou não está disponível para este token
422 Parâmetros inválidos, por exemplo um intervalo ou breakdown desconhecido
429 Demasiados pedidos

Limites

  • 120 pedidos por minuto por token.
  • No máximo 25 tokens por conta.
  • A API está incluída em todos os planos e no período experimental.