Get Source
curl --request GET \
--url https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}', 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.heralded.ai/v1/brands/{brand_id}/sources/{domain}",
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.heralded.ai/v1/brands/{brand_id}/sources/{domain}"
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.heralded.ai/v1/brands/{brand_id}/sources/{domain}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}")
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{
"meta": {
"data_as_of": {
"completed_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"query": {}
},
"period": {
"excluded_reports": 123,
"first_answer_at": "2023-11-07T05:31:56Z",
"last_answer_at": "2023-11-07T05:31:56Z",
"preset": "1w",
"reports": 123
},
"source": {
"actions": [
{
"assignee": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initials": "<string>",
"name": "<string>"
},
"blocked_owner": "<string>",
"check_again_on": "2023-12-25",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"credit_cost": 123,
"delivered_at": "2023-11-07T05:31:56Z",
"demand": "<string>",
"detail": "<string>",
"dispatchable": true,
"draft_in_flight": "drafting",
"expected_impact_pts": 123,
"gate": "approval",
"group": "new",
"holder": "you",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"impact_scale": "<string>",
"intent_bucket": "<string>",
"job": {
"act_label": "<string>",
"control": "dispatch",
"current": "<string>",
"kind": "<string>",
"next_step": "<string>",
"primary_label": "<string>",
"runs_steps": true,
"stages": [
{
"doer": "heralded",
"done_at": "2023-11-07T05:31:56Z",
"key": "<string>",
"label": "<string>",
"line": "<string>"
}
],
"step": {
"hold_at_gate": true,
"label": "<string>"
},
"stopped_at": "<string>"
},
"kind": "<string>",
"looks_resolved_evidence": {},
"member": "writer",
"not_seen_since_run": 123,
"note": {
"how_well_know": "<string>",
"short_form": "<string>",
"what_i_need_from_you": "<string>",
"what_ill_do": "<string>",
"whats_happening": "<string>",
"why_it_matters": "<string>"
},
"outcome": "verified_up",
"paid_off_at": "2023-11-07T05:31:56Z",
"placed_position": 123,
"platform": false,
"preview": "<string>",
"primary_verb": "dispatch",
"progress": {
"done": 123,
"total": 123,
"unit": "<string>"
},
"prompt_movement": "<string>",
"prompt_slot_cost": 123,
"repeat": "daily",
"return_group": "new",
"route": "home",
"run_state": "scheduled",
"scheduled_at": "2023-11-07T05:31:56Z",
"scheduled_for": "2023-12-25",
"secondary_verbs": [
"dispatch"
],
"segment": "<string>",
"settled_at": "2023-11-07T05:31:56Z",
"setup_link": {
"href": "<string>",
"label": "<string>"
},
"stage": "observe",
"started_at": "2023-11-07T05:31:56Z",
"state": "new",
"target_entity": "<string>",
"target_type": "<string>",
"title": "<string>",
"tracked_domain_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"verified_impact_pts": 123
}
],
"actions_limit": 0,
"actions_offset": 0,
"actions_total": 0,
"answers": 123,
"answers_link": {
"href": "<string>"
},
"answers_share_pct": 123,
"authority": 123,
"change": {
"current": 123,
"delta": 123,
"direction": "up",
"label": "<string>",
"previous": 123
},
"citation_evidence": "complete",
"citation_share_pct": 123,
"citations": 123,
"domain": "<string>",
"engines": [
{
"answers": 123,
"answers_share_pct": 123,
"citations": 123,
"engine": "perplexity"
}
],
"introduced_at_run": 123,
"muted": true,
"names_most": [
{
"brand_key": "<string>",
"domain": "<string>",
"is_you": true,
"name": "<string>",
"pages": 123,
"share_pct": 123
}
],
"names_you": true,
"opportunity_score": 123,
"owner": "third_party",
"owner_label": "<string>",
"pages": [
{
"citations": 123,
"content_type": "<string>",
"content_type_label": "<string>",
"document_id": "<string>",
"document_key": "<string>",
"domain": "<string>",
"owner": "third_party",
"prompt_count": 123,
"title": "<string>",
"topic": {
"key": "<string>",
"status": "missing",
"status_label": "<string>",
"topic": "<string>"
},
"url": "<string>"
}
],
"pages_total": 123,
"partner": true,
"pitched": true,
"possible_partner": true,
"prompts": [
{
"answers": 123,
"citations": 123,
"prompt_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>"
}
],
"prompts_limit": 123,
"prompts_offset": 123,
"prompts_total": 123,
"read_pages": 123,
"read_pages_naming_you": 123,
"reports": [
{
"break_label": "<string>",
"breaks": [
{
"added": [],
"part": "engines",
"removed": [],
"value": "<string>"
}
],
"citations": 123,
"completed_at": "2023-11-07T05:31:56Z",
"degraded": true,
"key": {
"answer_pack_version": 123,
"engines": [
"<string>"
],
"markets": {},
"passes": 123,
"score_version": "<string>"
},
"measured_domain": "<string>",
"prompts_changed": false,
"run_number": 123
}
],
"source_type": "industry_authority",
"source_type_label": "<string>",
"unavailable_scans": 0
}
}{
"code": "invalid_cursor",
"detail": "The cursor is invalid or belongs to a different query.",
"instance": "example-request-id",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}{
"code": "invalid_token",
"detail": "The Authorization header carries no API key Heralded knows: it is missing, mistyped, revoked or expired.",
"instance": "example-request-id",
"status": 401,
"title": "Unauthorized",
"type": "about:blank"
}{
"code": "not_found",
"detail": "Nothing here that this API key can read.",
"instance": "example-request-id",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}{
"code": "workspace_archived",
"detail": "The API key's organization is archived.",
"instance": "example-request-id",
"status": 409,
"title": "Conflict",
"type": "about:blank"
}{
"code": "invalid_request",
"detail": "The request's parameters are invalid; `errors` names each one.",
"errors": [
{
"loc": [
"query",
"limit"
],
"msg": "Input should be less than or equal to 100",
"type": "less_than_equal"
}
],
"instance": "example-request-id",
"status": 422,
"title": "Unprocessable Content",
"type": "about:blank"
}{
"code": "rate_limited",
"detail": "This caller is past its requests for the minute. Retry after the seconds in Retry-After.",
"instance": "example-request-id",
"rate_limit": {
"limit": 120,
"remaining": 0,
"reset": 60,
"window": 60
},
"status": 429,
"title": "Too Many Requests",
"type": "about:blank"
}Visibility
Get Source
One cited site’s facts, pages, prompts, engines and citation history under shared filters.
GET
/
v1
/
brands
/
{brand_id}
/
sources
/
{domain}
Get Source
curl --request GET \
--url https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}', 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.heralded.ai/v1/brands/{brand_id}/sources/{domain}",
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.heralded.ai/v1/brands/{brand_id}/sources/{domain}"
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.heralded.ai/v1/brands/{brand_id}/sources/{domain}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heralded.ai/v1/brands/{brand_id}/sources/{domain}")
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{
"meta": {
"data_as_of": {
"completed_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"query": {}
},
"period": {
"excluded_reports": 123,
"first_answer_at": "2023-11-07T05:31:56Z",
"last_answer_at": "2023-11-07T05:31:56Z",
"preset": "1w",
"reports": 123
},
"source": {
"actions": [
{
"assignee": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"initials": "<string>",
"name": "<string>"
},
"blocked_owner": "<string>",
"check_again_on": "2023-12-25",
"completed_at": "2023-11-07T05:31:56Z",
"created_at": "2023-11-07T05:31:56Z",
"credit_cost": 123,
"delivered_at": "2023-11-07T05:31:56Z",
"demand": "<string>",
"detail": "<string>",
"dispatchable": true,
"draft_in_flight": "drafting",
"expected_impact_pts": 123,
"gate": "approval",
"group": "new",
"holder": "you",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"impact_scale": "<string>",
"intent_bucket": "<string>",
"job": {
"act_label": "<string>",
"control": "dispatch",
"current": "<string>",
"kind": "<string>",
"next_step": "<string>",
"primary_label": "<string>",
"runs_steps": true,
"stages": [
{
"doer": "heralded",
"done_at": "2023-11-07T05:31:56Z",
"key": "<string>",
"label": "<string>",
"line": "<string>"
}
],
"step": {
"hold_at_gate": true,
"label": "<string>"
},
"stopped_at": "<string>"
},
"kind": "<string>",
"looks_resolved_evidence": {},
"member": "writer",
"not_seen_since_run": 123,
"note": {
"how_well_know": "<string>",
"short_form": "<string>",
"what_i_need_from_you": "<string>",
"what_ill_do": "<string>",
"whats_happening": "<string>",
"why_it_matters": "<string>"
},
"outcome": "verified_up",
"paid_off_at": "2023-11-07T05:31:56Z",
"placed_position": 123,
"platform": false,
"preview": "<string>",
"primary_verb": "dispatch",
"progress": {
"done": 123,
"total": 123,
"unit": "<string>"
},
"prompt_movement": "<string>",
"prompt_slot_cost": 123,
"repeat": "daily",
"return_group": "new",
"route": "home",
"run_state": "scheduled",
"scheduled_at": "2023-11-07T05:31:56Z",
"scheduled_for": "2023-12-25",
"secondary_verbs": [
"dispatch"
],
"segment": "<string>",
"settled_at": "2023-11-07T05:31:56Z",
"setup_link": {
"href": "<string>",
"label": "<string>"
},
"stage": "observe",
"started_at": "2023-11-07T05:31:56Z",
"state": "new",
"target_entity": "<string>",
"target_type": "<string>",
"title": "<string>",
"tracked_domain_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_at": "2023-11-07T05:31:56Z",
"verified_impact_pts": 123
}
],
"actions_limit": 0,
"actions_offset": 0,
"actions_total": 0,
"answers": 123,
"answers_link": {
"href": "<string>"
},
"answers_share_pct": 123,
"authority": 123,
"change": {
"current": 123,
"delta": 123,
"direction": "up",
"label": "<string>",
"previous": 123
},
"citation_evidence": "complete",
"citation_share_pct": 123,
"citations": 123,
"domain": "<string>",
"engines": [
{
"answers": 123,
"answers_share_pct": 123,
"citations": 123,
"engine": "perplexity"
}
],
"introduced_at_run": 123,
"muted": true,
"names_most": [
{
"brand_key": "<string>",
"domain": "<string>",
"is_you": true,
"name": "<string>",
"pages": 123,
"share_pct": 123
}
],
"names_you": true,
"opportunity_score": 123,
"owner": "third_party",
"owner_label": "<string>",
"pages": [
{
"citations": 123,
"content_type": "<string>",
"content_type_label": "<string>",
"document_id": "<string>",
"document_key": "<string>",
"domain": "<string>",
"owner": "third_party",
"prompt_count": 123,
"title": "<string>",
"topic": {
"key": "<string>",
"status": "missing",
"status_label": "<string>",
"topic": "<string>"
},
"url": "<string>"
}
],
"pages_total": 123,
"partner": true,
"pitched": true,
"possible_partner": true,
"prompts": [
{
"answers": 123,
"citations": 123,
"prompt_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"text": "<string>"
}
],
"prompts_limit": 123,
"prompts_offset": 123,
"prompts_total": 123,
"read_pages": 123,
"read_pages_naming_you": 123,
"reports": [
{
"break_label": "<string>",
"breaks": [
{
"added": [],
"part": "engines",
"removed": [],
"value": "<string>"
}
],
"citations": 123,
"completed_at": "2023-11-07T05:31:56Z",
"degraded": true,
"key": {
"answer_pack_version": 123,
"engines": [
"<string>"
],
"markets": {},
"passes": 123,
"score_version": "<string>"
},
"measured_domain": "<string>",
"prompts_changed": false,
"run_number": 123
}
],
"source_type": "industry_authority",
"source_type_label": "<string>",
"unavailable_scans": 0
}
}{
"code": "invalid_cursor",
"detail": "The cursor is invalid or belongs to a different query.",
"instance": "example-request-id",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}{
"code": "invalid_token",
"detail": "The Authorization header carries no API key Heralded knows: it is missing, mistyped, revoked or expired.",
"instance": "example-request-id",
"status": 401,
"title": "Unauthorized",
"type": "about:blank"
}{
"code": "not_found",
"detail": "Nothing here that this API key can read.",
"instance": "example-request-id",
"status": 404,
"title": "Not Found",
"type": "about:blank"
}{
"code": "workspace_archived",
"detail": "The API key's organization is archived.",
"instance": "example-request-id",
"status": 409,
"title": "Conflict",
"type": "about:blank"
}{
"code": "invalid_request",
"detail": "The request's parameters are invalid; `errors` names each one.",
"errors": [
{
"loc": [
"query",
"limit"
],
"msg": "Input should be less than or equal to 100",
"type": "less_than_equal"
}
],
"instance": "example-request-id",
"status": 422,
"title": "Unprocessable Content",
"type": "about:blank"
}{
"code": "rate_limited",
"detail": "This caller is past its requests for the minute. Retry after the seconds in Retry-After.",
"instance": "example-request-id",
"rate_limit": {
"limit": 120,
"remaining": 0,
"reset": 60,
"window": 60
},
"status": 429,
"title": "Too Many Requests",
"type": "about:blank"
}Authorizations
An API key, sent as Authorization: Bearer hrld_....
Query Parameters
Available options:
perplexity, gemini, openai, google_aio, ai_mode, copilot, claude Available options:
organic, brand_specific, competitor_comparison Available options:
educational, problem, comparison, transactional Include only scans up to this completed scan id.
Available options:
1w, 4w, 12w, all Maximum string length:
300Required range:
0 <= x <= 100Required range:
x >= 0Required range:
1 <= x <= 100Required range:
x >= 0