curl --request GET \
--url https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"fact_check": "confirmed",
"id": 123,
"sentiment": "positive",
"statements": 123,
"text": "The battery lasts 20 hours.",
"in_knowledge_base": true
}
],
"info": {
"page": 123,
"page_size": 123,
"query": {},
"summary": {
"confirmed": 123,
"confirmed_share": 123,
"contradicted": 123,
"contradicted_share": 123,
"unconfirmed": 123,
"unconfirmed_share": 123
},
"total_rows": 123
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}Perceptions
What the answer engines say about the brand, one perception a row.
Each perception gives its sentiment, its statements, and the result of
the check of its facts. info.summary gives the statements of the range
by that result: confirmed, contradicted, or unconfirmed.
curl --request GET \
--url https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions \
--header 'X-API-Key: <api-key>'import requests
url = "https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://app.backend.genezio.ai/customer/v1/brands/{brand_id}/perceptions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"fact_check": "confirmed",
"id": 123,
"sentiment": "positive",
"statements": 123,
"text": "The battery lasts 20 hours.",
"in_knowledge_base": true
}
],
"info": {
"page": 123,
"page_size": 123,
"query": {},
"summary": {
"confirmed": 123,
"confirmed_share": 123,
"contradicted": 123,
"contradicted_share": 123,
"unconfirmed": 123,
"unconfirmed_share": 123
},
"total_rows": 123
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}{
"error": {
"code": "brand_access_denied",
"message": "This API key has no access to this brand",
"details": [
{
"field": "page_size",
"message": "Input should be less than or equal to 100"
}
],
"request_id": "4f3c2e1a-9b7d-4c1e-8f2a-1d3e5b7c9a0f"
}
}Authorizations
An API key of your account, from Settings > API Keys. It starts with gnz-.
Path Parameters
Query Parameters
YYYY-MM-DD (a day in UTC) or an ISO 8601 datetime. Both ends of the range are inclusive: an end date covers its whole day.
"2026-09-01"
YYYY-MM-DD (a day in UTC) or an ISO 8601 datetime. Both ends of the range are inclusive: an end date covers its whole day.
"2026-09-30"
The answer engines. With no list, each engine.
1The answer engines that the public API names.
The platform also runs models of the API of OpenAI for its own work, such
as gpt-4o. A customer does not choose them, thus the public API does not
name them. Each value is a value of dtos.simulation.LlmModel.
chatgpt.com, google-ai-overview, perplexity, claude, google-ai-mode, google-gemini, copilot, deepseek, grok, gpt-5.4 The topics of the brand. With no list, each topic.
1The page, from 1.
x >= 1The rows of a page.
1 <= x <= 100positive, neutral, negative confirmed: the facts of the brand support it. contradicted: they go against it. unconfirmed: not checked yet.
confirmed, contradicted, unconfirmed Whether the knowledge base of the brand holds it.
A part of the text.
200