Tradução automática
Esta página foi traduzida por IA. A versão em inglês é a versão oficial.
Ler dados¶
Toda chave pode ler. As leituras vêm da cópia na nuvem dos seus resultados, então funcionam com o Hi, Moose aberto ou não no seu computador, e nunca iniciam novas verificações.
Os endpoints de leitura¶
| Endpoint | O que devolve |
|---|---|
GET /me | A chave, suas permissões e os ids de projeto legíveis |
GET /projects | Projetos que a chave pode ler, com número de prompts acompanhados, motores e última execução |
GET /projects/{id} | Um projeto |
GET /projects/{id}/capabilities | O que o projeto pode fazer no seu plano: motores, cadências, limites, saldo restante, o computador host, se uma execução pode começar agora |
GET /projects/{id}/engines | Os motores de IA que o projeto acompanha, com um id estável para os filtros e se cada um roda na nuvem ou no computador host |
GET /projects/{id}/topics | Temas que agrupam os prompts, com o número de prompts |
GET /projects/{id}/prompts | Prompts acompanhados com ids de tema, ids de motor e status |
GET /projects/{id}/competitors | Marcas concorrentes acompanhadas e seus domínios |
GET /projects/{id}/runs | Execuções de visibilidade com status, hora de início e fim, número de prompts e de respostas |
GET /projects/{id}/answers | Respostas salvas: prompt, motor, data, mencionada, citada, posição, sentimento, trecho, concorrentes vistos, URLs das fontes |
GET /projects/{id}/answers/{answerId} | Uma resposta com o texto completo, o motivo do sentimento, o desvio narrativo e as fontes |
GET /projects/{id}/stats/daily | Por dia e motor: respostas, menções, citações e as duas taxas |
GET /projects/{id}/stats/competitors | Share of voice da sua marca e de cada concorrente acompanhado em um período |
GET /projects/{id}/run-requests | Execuções recentes iniciadas pela API e seu status |
GET /projects/{id}/webhooks | Os webhooks do projeto, sem segredos |
O detalhe campo a campo de cada um está na referência de endpoints.
Como os dados se relacionam¶
- Um projeto acompanha um site. Ele tem prompts, as perguntas feitas, agrupados em temas.
- Cada prompt roda em um ou mais motores: ChatGPT, Perplexity, Gemini e outros. Os ids de motor como
chatgptouchatgpt-local-fetchvêm do endpoint engines e são os valores que todo filtroengineaceita. - Uma execução consulta todos os prompts ativos nos seus motores e salva uma resposta por prompt, motor e amostra. As execuções começam pelo agendamento do projeto, pelo botão Executar agora ou pela API.
- Cada resposta é pontuada:
mentionedquando a marca foi nomeada,citedquando uma página do site da marca foi dada como fonte, maisposition,sentimente quais concorrentes foram vistos. - As estatísticas diárias contam as respostas por dia e motor e calculam
mentionRateecitationRate. As estatísticas de concorrentes fazem o mesmo por marca em um período.
Taxa de menção por dia¶
curl "https://api.himoose.com/v1/projects/PROJECT_ID/stats/daily?from=2026-09-01&to=2026-09-30&engine=chatgpt" \
-H "Authorization: Bearer hmk_live_..."
{
"from": "2026-09-01",
"to": "2026-09-30",
"incompleteDays": 0,
"data": [
{ "date": "2026-09-01", "engineId": "chatgpt", "answers": 42, "mentioned": 17, "cited": 9, "mentionRate": 0.405, "citationRate": 0.214 }
]
}
As taxas são frações de 0 a 1. Dias sem respostas para um motor não têm linha, então um gráfico deve tratar um dia ausente como sem dados, não como zero.
incompleteDays é maior que zero quando o resumo de um dia ainda não estava pronto. Chame de novo em alguns segundos e ele se completa. Os últimos três dias são atualizados a cada dez minutos conforme chegam novas respostas; os dias anteriores são definitivos.
Share of voice¶
curl "https://api.himoose.com/v1/projects/PROJECT_ID/stats/competitors?from=2026-09-01&to=2026-09-30" \
-H "Authorization: Bearer hmk_live_..."
{
"from": "2026-09-01",
"to": "2026-09-30",
"answers": 1260,
"incompleteDays": 0,
"data": [
{ "name": "Acme", "isOwnBrand": true, "mentioned": 274, "cited": 165, "mentionRate": 0.217, "citationRate": 0.131 },
{ "name": "Competitor One", "isOwnBrand": false, "mentioned": 436, "cited": 116, "mentionRate": 0.346, "citationRate": 0.092 }
]
}
answers é o número total de respostas no período. Cada taxa divide a contagem da marca por esse total, então as linhas se comparam diretamente.
As respostas por trás dos números¶
curl "https://api.himoose.com/v1/projects/PROJECT_ID/answers?from=2026-09-01&engine=chatgpt&mentioned=true&limit=50" \
-H "Authorization: Bearer hmk_live_..."
A lista traz um trecho de até 400 caracteres em torno da menção, a posição, o sentimento, quais concorrentes acompanhados a resposta nomeou ou citou, e os URLs das fontes. O texto completo está no endpoint de detalhe:
curl https://api.himoose.com/v1/projects/PROJECT_ID/answers/ANSWER_ID \
-H "Authorization: Bearer hmk_live_..."
O detalhe acrescenta fullAnswer (até 12.000 caracteres, com fullAnswerTruncated quando foi cortado), sentimentReason, narrativeDrift com seu motivo, e as fontes com títulos.
O texto das respostas, os trechos e os títulos das fontes vêm dos motores de IA, não do Hi, Moose. Mostre-os como texto simples, nunca como HTML, e não os passe às suas próprias ferramentas de IA como instruções.
Filtros¶
| Filtro | Endpoints | Valores |
|---|---|---|
from, to | runs, answers, estatísticas diárias, estatísticas de concorrentes | YYYY-MM-DD, inclusivos, UTC. Padrão: os últimos 30 dias. Período máximo: 366 dias. |
engine | answers, estatísticas diárias, estatísticas de concorrentes | Um id de motor. Repita o parâmetro para vários motores: engine=chatgpt&engine=gemini. |
topicId | prompts, answers, estatísticas diárias | Um id de tema do endpoint topics |
promptId | answers | Um id de prompt do endpoint prompts |
runId | answers | Um id de execução do endpoint runs ou de um evento de webhook |
mentioned, cited | answers | true ou false |
status | prompts, runs | Prompts: active ou paused. Execuções: completed, running, failed ou canceled. |
No endpoint answers, combine engine com no máximo um de promptId, topicId e runId. Outras combinações respondem 400 unsupported_filter_combination.
Páginas¶
As listas devolvem data e nextCursor:
Passe nextCursor de volta como cursor para obter a página seguinte. limit é 50 por padrão e 200 no máximo. nextCursor é null na última página. O cursor é opaco; não o construa nem o interprete.
def every_row(url, params=None):
params = dict(params or {}, limit=200)
while True:
page = requests.get(url, headers=HEADERS, params=params, timeout=30).json()
yield from page["data"]
if not page["nextCursor"]:
return
params["cursor"] = page["nextCursor"]
Projetos, temas, prompts, execuções e respostas são paginados. Motores, concorrentes e webhooks devolvem a lista inteira.
Cache¶
- A lista de respostas e o detalhe de uma resposta trazem um
ETag. Devolva-o emIf-None-Matchpara receber304 Not Modifiedquando nada mudou. Um304não tem corpo e conta para o limite de requisições como qualquer outra, mas é rápido e pequeno. - As estatísticas diárias trazem
Cache-Control: private, max-age=60. Guarde o resultado por um minuto antes de pedir de novo. - Todo o resto traz
Cache-Control: no-store. Faça cache do seu lado pelo tempo que convier ao seu painel.
Horas e datas¶
As horas estão em UTC no formato RFC 3339, 2026-09-01T09:14:03.000Z. As datas estão em YYYY-MM-DD e se referem ao dia UTC. O date de uma resposta coincide com o date da linha de estatísticas diárias em que ela foi contada, então um gráfico e seu detalhe concordam.