List Pitch Audits
curl --request GET \
--url https://api.example.com/api/v1/pitch-audits \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/api/v1/pitch-audits"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/api/v1/pitch-audits', 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.example.com/api/v1/pitch-audits",
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: <authorization>"
],
]);
$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.example.com/api/v1/pitch-audits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.example.com/api/v1/pitch-audits")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/pitch-audits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"pagination": {},
"audits": [
{
"id": "<string>",
"brandName": "<string>",
"domain": "<string>",
"status": "<string>",
"scores": {},
"competitors": [
{}
],
"reportReady": true,
"team": {}
}
]
}Pitch Audits
List Pitch Audits
List the read-only Pitch Audit snapshots available to your agency workspace
GET
/
api
/
v1
/
pitch-audits
List Pitch Audits
curl --request GET \
--url https://api.example.com/api/v1/pitch-audits \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/api/v1/pitch-audits"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/api/v1/pitch-audits', 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.example.com/api/v1/pitch-audits",
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: <authorization>"
],
]);
$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.example.com/api/v1/pitch-audits"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.example.com/api/v1/pitch-audits")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/pitch-audits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"pagination": {},
"audits": [
{
"id": "<string>",
"brandName": "<string>",
"domain": "<string>",
"status": "<string>",
"scores": {},
"competitors": [
{}
],
"reportReady": true,
"team": {}
}
]
}Returns Pitch Audits created by the agency workspace attached to the API token. This endpoint is read-only and never starts, retries, or modifies an audit.
Pitch Audits require an agency workspace. REST API access is available on API-enabled agency plans.
string
required
Bearer API token. Example:
Bearer qw-api-xxxQuery Parameters
string
Filter by
PENDING, RUNNING, RECOVERING, AWAITING_PROMPTS, COMPLETED, or FAILED.number
default:"50"
Number of audits to return. Maximum: 100.
number
default:"0"
Number of audits to skip.
Response
object
Total, count, limit, and offset for the current page.
array
Show Pitch Audit summary
Show Pitch Audit summary
string
Pitch Audit ID.
string
Prospect name.
string
Prospect domain.
string
Current audit status.
object
GEO score, mention rate, position, sentiment, share of voice, citations, and totals when available.
array
Detected competitors. Each row includes a
subjectId accepted by the detail endpoint.boolean
Whether the completed report is ready to read.
object
Agency workspace ID and name.
Example Request
curl "https://www.qwairy.co/api/v1/pitch-audits?status=COMPLETED&limit=20" \
-H "Authorization: Bearer qw-api-your-token-here"
Example Response
{
"success": true,
"pagination": { "total": 8, "count": 1, "limit": 20, "offset": 0 },
"audits": [
{
"id": "8a218180-6dd7-43c7-a481-f6a1cc72dfd8",
"brandName": "Acme",
"domain": "acme.com",
"status": "COMPLETED",
"promptCount": 20,
"competitorCount": 4,
"scores": { "geoScore": 71, "mentionRate": 60 },
"competitors": [
{
"subjectId": "rival.com",
"name": "Rival",
"domain": "rival.com",
"score": 64
}
],
"reportReady": true,
"team": { "id": "team-123", "name": "Agency workspace" }
}
]
}
Next Step
Use the returned audit ID with Get Pitch Audit. Use a competitorsubjectId with Get Pitch Audit Subject Report.⌘I

