curl --request GET \
--url https://astreus.ai/api/v1/transcripts/search/topics \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/transcripts/search/topics"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/transcripts/search/topics', 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://astreus.ai/api/v1/transcripts/search/topics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <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://astreus.ai/api/v1/transcripts/search/topics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://astreus.ai/api/v1/transcripts/search/topics")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/transcripts/search/topics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}Transcript topic analysis
Lexical company/topic matrix, calendar topic evolution, analyst Q&A turn counts and comparison with an immediately preceding equal-day window. Defaults to the latest twelve months when from is omitted. Topic caps are explicit; geographic and text filters match source turns.
curl --request GET \
--url https://astreus.ai/api/v1/transcripts/search/topics \
--header 'X-API-KEY: <api-key>'import requests
url = "https://astreus.ai/api/v1/transcripts/search/topics"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://astreus.ai/api/v1/transcripts/search/topics', 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://astreus.ai/api/v1/transcripts/search/topics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <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://astreus.ai/api/v1/transcripts/search/topics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<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://astreus.ai/api/v1/transcripts/search/topics")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://astreus.ai/api/v1/transcripts/search/topics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}{
"error": "<string>",
"code": "unauthenticated"
}Authorizations
Astreus API key (pk_live_...), created on the Developers page in the terminal. Also accepted as Authorization: Bearer pk_live_....
Query Parameters
JSON array of 1–12 ordered columns: id, label, terms, exclude, match (any/all). Each phrase is literal text; exclusions apply across all alternatives. Definitions must fit a 6,000-character URL-encoded budget.
Apply a column from topicColumns (or the default set) to source passages.
Second websearch expression; combined with q in the same speaker passage.
Combine q and q2 using all (AND) or any (OR).
all, any Inspectable lexical research topic.
demand, pricing, margins, investment, ai, credit, funding, regulation, returns, outlook 1 = browse source turns without a keyword predicate.
Issuer region from the country catalog.
Issuer subregion from the country catalog.
Exact city in the company's currently stored business address; missing addresses remain unknown.
Inside or outside the intersection of selected country/region/subregion/city.
inside, outside 1 = include unknown geography in outside searches; excluded by default.
Primary websearch expression.
Company being named.
Lexical theme.
Issuer ISO alpha-2 country or unknown.
Speaking company.
Company basket, up to 20 identifiers.
Speaker role.
Call section.
Speaker name contains.
Current comparison window start, YYYY-MM-DD.
Current comparison window end, YYYY-MM-DD.
1 includes subject's own calls.
Response
OK
The response is of type object.