Obtener la analítica de un monitor
Consulta el informe del monitor para un periodo: métricas, marcas, prompts y calidad de los datos.
curl --request GET \
--url https://api.querying.ai/v1/monitors/{id}/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/monitors/{id}/analytics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.querying.ai/v1/monitors/{id}/analytics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.querying.ai/v1/monitors/{id}/analytics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.querying.ai/v1/monitors/{id}/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.querying.ai/v1/monitors/{id}/analytics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/monitors/{id}/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"monitor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"mode": "BRAND",
"category": "<string>",
"promptTopics": {},
"engines": [
"CHATGPT"
],
"prompts": [
"<string>"
],
"aliases": [
"<string>"
],
"domains": [
"<string>"
],
"country": "<string>",
"intervalHours": 84,
"enabled": true,
"alertBelowPct": 50,
"competitors": [
{
"name": "<string>",
"aliases": [
"<string>"
],
"source": "user",
"domain": "<string>"
}
],
"competitorsReadAt": "2023-11-07T05:31:56Z",
"nextRunAt": "2023-11-07T05:31:56Z",
"lastRunAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"location": {
"latitude": 37.4979,
"longitude": 127.0276
},
"grid": {
"center": {
"latitude": 37.4979,
"longitude": 127.0276
},
"size": 3,
"radiusMeters": 25050
},
"engineSettings": {
"CHATGPT": {
"samples": 5
},
"GOOGLE": {
"intervalHours": 168
}
},
"webhookUrl": "<string>",
"analysis": true
},
"window": {
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z",
"previousSince": "2023-11-07T05:31:56Z",
"previousUntil": "2023-11-07T05:31:56Z",
"timezone": "UTC",
"bounds": "[since, until)"
},
"filters": {
"engine": "<string>",
"prompt": "<string>"
},
"stats": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"changes": {
"mentionRatePp": 123,
"citationRatePp": 123
},
"engineRates": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"engine": "CHATGPT"
}
],
"series": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"day": "<string>",
"engine": "CHATGPT",
"partial": true
}
],
"brands": [
{
"name": "<string>",
"mentions": 123,
"sampleSize": 123,
"mentionRate": 123,
"shareOfVoice": 123,
"previousMentionRate": 123,
"previousShareOfVoice": 123,
"configured": true
}
],
"voiceSeries": [
{
"day": "<string>",
"name": "<string>",
"mentions": 123,
"runs": 123,
"mentionRate": 123,
"shareOfVoice": 123
}
],
"prompts": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"prompt": "<string>",
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"engines": [
{
"prompt": "<string>",
"engine": "CHATGPT",
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"mentionRateChangePp": 123,
"topCompetitor": "<string>",
"topCompetitorRate": 123,
"evidenceTaskId": "<string>",
"mentionTaskId": "<string>",
"latestTaskId": "<string>"
}
]
}
],
"opportunities": [
{
"prompt": "<string>",
"engine": "CHATGPT",
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"mentionRateChangePp": 123,
"topCompetitor": "<string>",
"topCompetitorRate": 123,
"evidenceTaskId": "<string>",
"mentionTaskId": "<string>",
"latestTaskId": "<string>"
}
],
"pauses": [
{
"pausedAt": "2023-11-07T05:31:56Z",
"resumedAt": "2023-11-07T05:31:56Z"
}
],
"quality": {
"comparable": true,
"comparisonReason": "insufficient_periods",
"scoringVersions": [
"<string>"
],
"noAnswerObservations": 123,
"unknownObservations": 123,
"noAnswerIncluded": true,
"historicalFailures": null,
"sampleSize": 123,
"previousSampleSize": 123,
"configuredCells": 123,
"observedCells": 123,
"missingCells": 123,
"lowSample": true,
"partialDays": [
"<string>"
],
"denominator": "scored_answers",
"shareOfVoiceDenominator": "tracked_brand_mentions",
"trackedBrandMentions": 123,
"answerTextLimit": 8000,
"scoring": "collection_time_definitions",
"failedTasksIncluded": false
},
"health": {
"completed": 123,
"failed": 123,
"pending": 123,
"topError": "<string>"
},
"healthScope": "recent_visible_tasks"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The window must be positive and at most 90 days",
"timestamp": "2026-09-22T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2026-07-09T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "No monitor with that id",
"timestamp": "2026-09-22T04:12:00.000Z"
}
}Autorizaciones
Your API key, sent as Authorization: Bearer <key>.
Parámetros de ruta
Parámetros de consulta
Window length ending now. Cannot be combined with since/until.
7, 30, 90 Inclusive ISO instant with a timezone offset, for example 2026-09-15T00:00:00Z. Requires until. A date without a timezone is rejected: it cannot define a portable window.
Exclusive ISO instant with a timezone offset. Requires since. The span must be positive, at most 90 days, and not in the future.
Restrict every section to one engine. Accepts a canonical id or a public alias (GOOGLE_AIO and GOOGLE_AIMODE). Must be an engine a monitor can schedule.
Restrict every section to one exact prompt. Rows are keyed by the prompt text, so a prompt removed by a later edit stays queryable.
2000curl --request GET \
--url https://api.querying.ai/v1/monitors/{id}/analytics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/monitors/{id}/analytics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.querying.ai/v1/monitors/{id}/analytics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.querying.ai/v1/monitors/{id}/analytics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.querying.ai/v1/monitors/{id}/analytics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.querying.ai/v1/monitors/{id}/analytics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/monitors/{id}/analytics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"monitor": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"mode": "BRAND",
"category": "<string>",
"promptTopics": {},
"engines": [
"CHATGPT"
],
"prompts": [
"<string>"
],
"aliases": [
"<string>"
],
"domains": [
"<string>"
],
"country": "<string>",
"intervalHours": 84,
"enabled": true,
"alertBelowPct": 50,
"competitors": [
{
"name": "<string>",
"aliases": [
"<string>"
],
"source": "user",
"domain": "<string>"
}
],
"competitorsReadAt": "2023-11-07T05:31:56Z",
"nextRunAt": "2023-11-07T05:31:56Z",
"lastRunAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"location": {
"latitude": 37.4979,
"longitude": 127.0276
},
"grid": {
"center": {
"latitude": 37.4979,
"longitude": 127.0276
},
"size": 3,
"radiusMeters": 25050
},
"engineSettings": {
"CHATGPT": {
"samples": 5
},
"GOOGLE": {
"intervalHours": 168
}
},
"webhookUrl": "<string>",
"analysis": true
},
"window": {
"since": "2023-11-07T05:31:56Z",
"until": "2023-11-07T05:31:56Z",
"previousSince": "2023-11-07T05:31:56Z",
"previousUntil": "2023-11-07T05:31:56Z",
"timezone": "UTC",
"bounds": "[since, until)"
},
"filters": {
"engine": "<string>",
"prompt": "<string>"
},
"stats": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"changes": {
"mentionRatePp": 123,
"citationRatePp": 123
},
"engineRates": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"engine": "CHATGPT"
}
],
"series": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"day": "<string>",
"engine": "CHATGPT",
"partial": true
}
],
"brands": [
{
"name": "<string>",
"mentions": 123,
"sampleSize": 123,
"mentionRate": 123,
"shareOfVoice": 123,
"previousMentionRate": 123,
"previousShareOfVoice": 123,
"configured": true
}
],
"voiceSeries": [
{
"day": "<string>",
"name": "<string>",
"mentions": 123,
"runs": 123,
"mentionRate": 123,
"shareOfVoice": 123
}
],
"prompts": [
{
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"prompt": "<string>",
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"engines": [
{
"prompt": "<string>",
"engine": "CHATGPT",
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"mentionRateChangePp": 123,
"topCompetitor": "<string>",
"topCompetitorRate": 123,
"evidenceTaskId": "<string>",
"mentionTaskId": "<string>",
"latestTaskId": "<string>"
}
]
}
],
"opportunities": [
{
"prompt": "<string>",
"engine": "CHATGPT",
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123,
"previous": {
"runs": 123,
"mentioned": 123,
"cited": 123,
"competitorOnly": 123,
"mentionRate": 123,
"citationRate": 123,
"competitorOnlyRate": 123
},
"mentionRateChangePp": 123,
"topCompetitor": "<string>",
"topCompetitorRate": 123,
"evidenceTaskId": "<string>",
"mentionTaskId": "<string>",
"latestTaskId": "<string>"
}
],
"pauses": [
{
"pausedAt": "2023-11-07T05:31:56Z",
"resumedAt": "2023-11-07T05:31:56Z"
}
],
"quality": {
"comparable": true,
"comparisonReason": "insufficient_periods",
"scoringVersions": [
"<string>"
],
"noAnswerObservations": 123,
"unknownObservations": 123,
"noAnswerIncluded": true,
"historicalFailures": null,
"sampleSize": 123,
"previousSampleSize": 123,
"configuredCells": 123,
"observedCells": 123,
"missingCells": 123,
"lowSample": true,
"partialDays": [
"<string>"
],
"denominator": "scored_answers",
"shareOfVoiceDenominator": "tracked_brand_mentions",
"trackedBrandMentions": 123,
"answerTextLimit": 8000,
"scoring": "collection_time_definitions",
"failedTasksIncluded": false
},
"health": {
"completed": 123,
"failed": 123,
"pending": 123,
"topError": "<string>"
},
"healthScope": "recent_visible_tasks"
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "The window must be positive and at most 90 days",
"timestamp": "2026-09-22T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2026-07-09T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "No monitor with that id",
"timestamp": "2026-09-22T04:12:00.000Z"
}
}