How often the AI answers show shopping cards, ads and maps
curl --request POST \
--url https://api.seomator.com/v1/projects/{id}/reports/features \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"filters": {
"branded": "non_branded"
},
"dimensions": []
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2023-12-25',
endDate: '2023-12-25',
filters: {branded: 'non_branded'},
dimensions: []
})
};
fetch('https://api.seomator.com/v1/projects/{id}/reports/features', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.seomator.com/v1/projects/{id}/reports/features"
payload = {
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"filters": { "branded": "non_branded" },
"dimensions": []
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"period": {
"start": "<string>",
"end": "<string>"
},
"rows": [
{
"answers": 123,
"shoppingAnswers": 123,
"adsAnswers": 123,
"shopping": 123,
"ads": 123,
"map": 123,
"promptId": "<string>",
"assistant": "<string>",
"date": "<string>"
}
]
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>"
}
}How often the AI answers show shopping cards, ads and maps
shopping counts answers with at least one product card; divide by shoppingAnswers (ChatGPT and Google AI Mode answers, the assistants that report them). ads and map count ChatGPT answers that showed ads or a map; divide by adsAnswers (only ChatGPT reports them).
Break rows down by prompt, assistant or date with dimensions.
POST
/
v1
/
projects
/
{id}
/
reports
/
features
How often the AI answers show shopping cards, ads and maps
curl --request POST \
--url https://api.seomator.com/v1/projects/{id}/reports/features \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"filters": {
"branded": "non_branded"
},
"dimensions": []
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
startDate: '2023-12-25',
endDate: '2023-12-25',
filters: {branded: 'non_branded'},
dimensions: []
})
};
fetch('https://api.seomator.com/v1/projects/{id}/reports/features', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.seomator.com/v1/projects/{id}/reports/features"
payload = {
"startDate": "2023-12-25",
"endDate": "2023-12-25",
"filters": { "branded": "non_branded" },
"dimensions": []
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"period": {
"start": "<string>",
"end": "<string>"
},
"rows": [
{
"answers": 123,
"shoppingAnswers": 123,
"adsAnswers": 123,
"shopping": 123,
"ads": 123,
"map": 123,
"promptId": "<string>",
"assistant": "<string>",
"date": "<string>"
}
]
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>"
}
}{
"error": {
"code": "bad_request",
"message": "<string>",
"requestId": "<string>"
}
}Authorizations
Path Parameters
Project id (proj_…) or slug (the domain with dots as dashes).
Body
application/json