PageLens Analytics

Pergunte ao seu assistente de IA sobre as análises do seu site: visitantes, principais páginas, fontes, funis, receita por fonte e quais crawlers de IA e assistentes leem seu site. Somente leitura, funciona com uma chave de API da PageLens Analytics (pagelens.io).

Servidor MCP hospedado

npx add-mcp 'https://app.pagelens.io/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

Tudo o que você vê no dashboard do PageLens está disponível como JSON. Use a API REST a partir de scripts e backends, ou conecte o servidor MCP para que Claude, Cursor e outros assistentes de IA possam responder perguntas sobre o seu tráfego.

Chaves de API

Crie chaves no dashboard em API & MCP. Uma chave age como você, com o mesmo acesso que você tem a cada site. Ao criar uma, você escolhe:

  • Somente leitura ou Leitura e escrita. Chaves de escrita também podem criar metas, funis e anotações, atualizar configurações do site, adicionar sites e enviar eventos do lado do servidor.
  • Todos os sites ou um site.

As chaves começam com pl_ e são exibidas apenas uma vez. Armazenamos apenas um hash. Envie-as no cabeçalho Authorization:

Authorization: Bearer pl_your_key

As chaves não podem gerenciar outras chaves, cobrança ou membros, e não podem excluir sites. Essas ações exigem uma sessão de navegador com login.

Servidor MCP

Endpoint: https://app.pagelens.io/mcp (HTTP transmissível). Autentique com uma chave de API.

Claude Code

claude mcp add --transport http pagelens https://app.pagelens.io/mcp \
  --header "Authorization: Bearer pl_your_key"

Cursor, Windsurf e outros clientes com suporte a servidor remoto

{
  "mcpServers": {
    "pagelens": {
      "url": "https://app.pagelens.io/mcp",
      "headers": { "Authorization": "Bearer pl_your_key" }
    }
  }
}

Claude Desktop

Adicione isso a claude_desktop_config.json (Configurações → Desenvolvedor → Editar configuração) e reinicie. Requer Node.js.

{
  "mcpServers": {
    "pagelens": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.pagelens.io/mcp",
               "--header", "Authorization: Bearer pl_your_key"]
    }
  }
}

Ferramentas

FerramentaO que faz
list_sitesSites que a chave pode acessar, com visitantes nas últimas 24 horas
get_overviewVisitantes, sessões, visualizações de página, taxa de rejeição e duração, comparados com o período anterior, além de uma série temporal
get_breakdownPrincipais páginas, páginas de entrada/saída, referenciadores, canais, tags UTM, países, cidades, navegadores, SO, dispositivos, idiomas, eventos
get_pagesVisitantes por página, entradas, taxa de rejeição e tempo na página
get_realtimeVisitantes online agora e o que estão visualizando
list_sessions, get_sessionSessões e a linha do tempo completa de uma sessão
get_eventsEventos personalizados e cliques externos com propriedades
get_errors, get_web_vitalsErros de JavaScript; percentis de LCP, INP, CLS, FCP e TTFB
get_journeys, run_funnelCaminhos comuns; conversão passo a passo
list_goals, list_segmentsMetas com taxas de conversão; segmentos salvos (qualquer ferramenta aceita segment_id)
list_users, get_user, get_retentionUsuários identificados, perfis e retenção de coorte
get_bots_and_aiCrawlers de IA, assistentes de IA, bots de busca e visitas referidas por ChatGPT, Perplexity, Claude e outros
create_goal, add_annotationSomente chaves de escrita: criar uma meta, marcar uma data nos gráficos

API REST

URL base: https://app.pagelens.io. As respostas são JSON. Os timestamps estão em ISO 8601 no UTC.

curl "https://app.pagelens.io/api/sites/SITE_ID/overview?from=2026-09-01T00:00:00Z&to=2026-10-01T00:00:00Z" \
  -H "Authorization: Bearer pl_your_key"

Parâmetros de consulta comuns

ParâmetroDescrição
from, toDatas ISO ou timestamps. to é exclusivo. Padrão: os últimos 7 dias.
tzFuso horário IANA usado para agrupar dias e horas, ex.: Europe/Berlin. Padrão: UTC.
buckethour, day, week ou month para séries temporais. Escolhido automaticamente se omitido.
filterdimension:value repetível, ex.: filter=country:DE&filter=channel:Organic%20Search. Mantém sessões inteiras que correspondem. Operadores vão após a dimensão: page!:/x é não, page~:blog contém, page!~:blog não contém, page^:/docs começa com (codifique na URL ^ e ~).
segmentID de um segmento salvo (GET /api/sites/:id/segments). Seus filtros são combinados com qualquer filter.
limitLinhas para listas (padrão 10, máximo 500).

Dimensões de filtro e detalhamento: page, title, hostname, referrer, channel, utm_source, utm_medium, utm_campaign, browser, os, device, screen, country, city, language, event. Detalhamentos também aceitam entry, exit e outbound.

Endpoints

Método e caminhoRetorna
GET /api/sitesSeus sites
GET /api/sites/:idUm site com suas configurações
GET /api/sites/:id/overviewTotais de current e previous, series, previousSeries
GET /api/sites/:id/breakdown/:dimensionrows de valor, visitantes, sessões, contagem. Suporta search.
GET /api/sites/:id/pagesMétricas por página
GET /api/sites/:id/realtimeVisitantes nos últimos 5 minutos
GET /api/sites/:id/sessionsSessões. tab = engajadas, rejeitadas, erros ou replay. user = um ID de usuário identificado.
GET /api/sites/:id/sessions/:sidEventos de uma sessão
GET /api/sites/:id/eventsEventos personalizados e propriedades
GET /api/sites/:id/errorsErros de JavaScript
GET /api/sites/:id/performanceWeb Vitals
GET /api/sites/:id/journeysCaminhos comuns
GET /api/sites/:id/goalsMetas com conversões
POST /api/sites/:id/funnelCorpo {"steps":[{"type":"page","value":"/"},{"type":"event","value":"signup"}]}
GET /api/sites/:id/usersUsuários. tab = identificado ou anônimo. Suporta search.
GET /api/sites/:id/users/:uidPerfil e sessões de um usuário
GET /api/sites/:id/retentionCoortes; unit = dia ou semana
GET /api/sites/:id/botsTráfego de bots e IA
GET /api/sites/:id/export/:typeDownload em CSV
GET /api/sites/:id/segmentsSegmentos salvos
POST /api/sites/:id/goals, /funnels, /annotations, /segmentsChaves de escrita: criar. DELETE …/:itemId remove.

Eventos do lado do servidor

Rastreie eventos do seu backend (pagamentos, inscrições, webhooks) com uma chave de escrita. Envie o IP e o user agent do visitante se você os tiver; eles são usados para localização e dispositivo e não são armazenados.

curl https://app.pagelens.io/api/track \
  -H "Authorization: Bearer pl_your_write_key" \
  -H "Content-Type: application/json" \
  -d '{
    "site_id": "SITE_ID",
    "type": "custom_event",
    "name": "purchase",
    "url": "https://example.com/checkout",
    "props": { "plan": "pro", "amount": 49 },
    "ip": "203.0.113.7",
    "user_agent": "Mozilla/5.0 ..."
  }'

Limites e erros

PlanoRequisições por dia
Teste gratuito5.000
Starter2.000
Pro10.000
Business50.000

Cada chave também está limitada a 120 requisições por minuto. As respostas incluem X-RateLimit-Limit e X-RateLimit-Remaining. Quando você atinge um limite, recebe 429 com Retry-After.

Os erros têm a aparência de {"error": "message"}:

  • 401: chave ausente, inválida ou revogada.
  • 402: o teste terminou.
  • 403: a chave não pode chamar esta rota.
  • 404: o site não está acessível com esta chave.

Perguntas ou endpoints ausentes: hello@pagelens.io