Get what a person said in public
curl --request GET \
--url https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentaryimport requests
url = "https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary', 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://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"author": "<string>",
"cluster_id": "<string>",
"lang": "<string>",
"own_channel_verified": "<string>",
"page_title": "<string>",
"person_id": "<string>",
"published_at": 123,
"published_at_source": "<string>",
"quote": "<string>",
"said_on": "<string>",
"source_kind": "<string>",
"url": "<string>",
"venue": "<string>"
}
],
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}Persons
Get what a person said in public
OpenAPI JSON Spec One row per source document: a page, one sentence the person said on it, and where. Every row is the place the remark was made, their own post, the venue’s own transcript, or the outlet that interviewed them; a site reporting what they said elsewhere is not stored. Rows carrying the same remark share a cluster_id.
GET
/
v1
/
persons
/
{person_id}
/
commentary
Get what a person said in public
curl --request GET \
--url https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentaryimport requests
url = "https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary', 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://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-tools.prd.arrays.org/api/v1/persons/{person_id}/commentary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"author": "<string>",
"cluster_id": "<string>",
"lang": "<string>",
"own_channel_verified": "<string>",
"page_title": "<string>",
"person_id": "<string>",
"published_at": 123,
"published_at_source": "<string>",
"quote": "<string>",
"said_on": "<string>",
"source_kind": "<string>",
"url": "<string>",
"venue": "<string>"
}
],
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}Path Parameters
Person registry id (uuid), as /api/v1/persons returns. Resolve a name with /api/v1/persons?name=...
Query Parameters
Range start, unix seconds
Range end, unix seconds
Page size, 1 to 500
Rows to skip

