List impact results
curl --request GET \
--url https://perquery.ai/api/v1/sites/{site_uuid}/impact \
--header 'Authorization: <api-key>'import requests
url = "https://perquery.ai/api/v1/sites/{site_uuid}/impact"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://perquery.ai/api/v1/sites/{site_uuid}/impact', 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://perquery.ai/api/v1/sites/{site_uuid}/impact",
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: <api-key>"
],
]);
$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://perquery.ai/api/v1/sites/{site_uuid}/impact"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://perquery.ai/api/v1/sites/{site_uuid}/impact")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://perquery.ai/api/v1/sites/{site_uuid}/impact")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"summary": {
"tracked": 123,
"positive_rate": 123,
"avg_visibility_change": 123,
"awaiting": 123
},
"rows": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject_kind": "site",
"subject_ref": "<string>",
"subject_label": "<string>",
"prompt_deleted": true,
"population": "prompt",
"measured_over": 123,
"assistant": "chatgpt",
"deployed_at": "2023-12-25",
"actions": [
{
"label": "<string>",
"action_type": "technical",
"tool": "content"
}
],
"source_opportunity_ref": "<string>",
"status": "positive",
"before_visibility": 123,
"after_visibility": 123,
"visibility_delta": 123,
"before_rank": 123,
"after_rank": 123,
"rank_delta": 123,
"before_sentiment": 123,
"after_sentiment": 123,
"sentiment_delta": 123,
"scans_before": 123,
"scans_after": 123,
"sample_size": 123,
"series": [
{
"captured_at": "2023-11-07T05:31:56Z",
"visibility": 123,
"rank": 123,
"sentiment": 123
}
]
}
],
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123
}Impact
List impact results
Returns the fixes that were recorded for the site, with the measured outcome of each and a summary. Use status and type to filter the list. Use date_range to select the period (7g, 1a, 3a, 6a, 1y or custom with since and until). Use persona and llm to limit the data to one persona and to some AI assistants. The list is paged with page and page_size.
GET
/
v1
/
sites
/
{site_uuid}
/
impact
List impact results
curl --request GET \
--url https://perquery.ai/api/v1/sites/{site_uuid}/impact \
--header 'Authorization: <api-key>'import requests
url = "https://perquery.ai/api/v1/sites/{site_uuid}/impact"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://perquery.ai/api/v1/sites/{site_uuid}/impact', 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://perquery.ai/api/v1/sites/{site_uuid}/impact",
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: <api-key>"
],
]);
$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://perquery.ai/api/v1/sites/{site_uuid}/impact"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://perquery.ai/api/v1/sites/{site_uuid}/impact")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://perquery.ai/api/v1/sites/{site_uuid}/impact")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"summary": {
"tracked": 123,
"positive_rate": 123,
"avg_visibility_change": 123,
"awaiting": 123
},
"rows": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"subject_kind": "site",
"subject_ref": "<string>",
"subject_label": "<string>",
"prompt_deleted": true,
"population": "prompt",
"measured_over": 123,
"assistant": "chatgpt",
"deployed_at": "2023-12-25",
"actions": [
{
"label": "<string>",
"action_type": "technical",
"tool": "content"
}
],
"source_opportunity_ref": "<string>",
"status": "positive",
"before_visibility": 123,
"after_visibility": 123,
"visibility_delta": 123,
"before_rank": 123,
"after_rank": 123,
"rank_delta": 123,
"before_sentiment": 123,
"after_sentiment": 123,
"sentiment_delta": 123,
"scans_before": 123,
"scans_after": 123,
"sample_size": 123,
"series": [
{
"captured_at": "2023-11-07T05:31:56Z",
"visibility": 123,
"rank": 123,
"sentiment": 123
}
]
}
],
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123
}Authorizations
ApiKey pq_<prefix>_<secret>. An API key gives read-only access.
Path Parameters
Query Parameters
7g- 7g1a- 1a3a- 3a6a- 6a1y- 1ycustom- custom
Available options:
7g, 1a, 3a, 6a, 1y, custom, null Minimum string length:
1chatgpt- chatgptgemini- geminiclaude- claudeperplexity- perplexitygoogleai- googleaigrok- grokdeepseek- deepseek
Available options:
chatgpt, gemini, claude, perplexity, googleai, grok, deepseek Required range:
x >= 1Required range:
1 <= x <= 100The first day of a custom range.
positive- positiveneutral- neutralnegative- negativewaiting- waitinginsufficient_history- insufficient_history
Available options:
positive, neutral, negative, waiting, insufficient_history, null Minimum string length:
1technical- technicalcontent- contentoffpage- offpage
Available options:
technical, content, offpage, null Minimum string length:
1The last day of a custom range.

