curl --request GET \
--url https://openlens.com/api/prompts/results \
--header 'Authorization: Bearer <token>'import requests
url = "https://openlens.com/api/prompts/results"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://openlens.com/api/prompts/results', 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://openlens.com/api/prompts/results",
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://openlens.com/api/prompts/results"
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://openlens.com/api/prompts/results")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openlens.com/api/prompts/results")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"llmPlatform": "chatgpt",
"rawResponse": "<string>",
"executionRoute": {
"version": 1,
"source": "primary",
"provider": "<string>",
"transport": "web",
"model": "<string>",
"responseId": "<string>",
"reason": "<string>"
},
"executionSource": "primary",
"executionLabel": "<string>",
"executionModel": "<string>",
"legacyPrimary": true,
"executionWarning": "<string>",
"executionDocsUrl": "<string>",
"requestedCountryCode": "<string>",
"outcome": "<string>",
"promptUsed": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"promptId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parseState": "pending",
"mentions": [
{}
],
"citations": [
{}
],
"attributes": [
{}
]
}
]{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Raw platform responses from the latest usable or selected run
Returns enriched platform responses (one per prompt × platform) with parse state plus trusted brand mentions, citations, and attributes. Pass runId to read a specific completed run, or pair it with allowIncompleteRun=1 for live partial results. Empty array when no usable run exists. API results include analyzed answers with exact executionRoute and model provenance.
curl --request GET \
--url https://openlens.com/api/prompts/results \
--header 'Authorization: Bearer <token>'import requests
url = "https://openlens.com/api/prompts/results"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://openlens.com/api/prompts/results', 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://openlens.com/api/prompts/results",
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://openlens.com/api/prompts/results"
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://openlens.com/api/prompts/results")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openlens.com/api/prompts/results")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"llmPlatform": "chatgpt",
"rawResponse": "<string>",
"executionRoute": {
"version": 1,
"source": "primary",
"provider": "<string>",
"transport": "web",
"model": "<string>",
"responseId": "<string>",
"reason": "<string>"
},
"executionSource": "primary",
"executionLabel": "<string>",
"executionModel": "<string>",
"legacyPrimary": true,
"executionWarning": "<string>",
"executionDocsUrl": "<string>",
"requestedCountryCode": "<string>",
"outcome": "<string>",
"promptUsed": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"promptId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parseState": "pending",
"mentions": [
{}
],
"citations": [
{}
],
"attributes": [
{}
]
}
]{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
Clerk API key. Create one from your account settings under API Keys.
Query Parameters
Project id. Required on all data endpoints.
Prompt run ID. Omit to use the project's latest usable run. By default the run must be completed; pair with allowIncompleteRun=1 to read partial results from an owned in-progress, cancelled, or failed run. Use GET /prompts/runs to list run IDs.
LLM platform identifier. Newer scraper-backed ids end in _app; chatgpt, perplexity, and gemini are legacy and not returned by current runs.
chatgpt, chatgpt_app, claude, gemini, gemini_app, grok_app, grok_api, perplexity, perplexity_app, google_app, deepseek 1 <= x <= 500Set to 1 with runId to read partial results from an owned run in any status. Unknown and other-project run IDs return an empty array in this mode.
1 Comma-separated list of attribute filters. Accepts both built-in attributes (e.g. pricing, comparisons) and project-specific custom attributes.
Response
Successful response
LLM platform identifier. Newer scraper-backed ids end in _app; chatgpt, perplexity, and gemini are legacy and not returned by current runs.
chatgpt, chatgpt_app, claude, gemini, gemini_app, grok_app, grok_api, perplexity, perplexity_app, google_app, deepseek Actual execution route. Null means historical primary; never infer today's fallback for old rows.
Show child attributes
Show child attributes
primary, api_fallback pending, running, succeeded, failed, skipped Was this page helpful?