curl --request POST \
--url https://api.radarkit.ai/v1/projects/{project}/exports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "responses"
}
'import requests
url = "https://api.radarkit.ai/v1/projects/{project}/exports"
payload = { "type": "responses" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: 'responses'})
};
fetch('https://api.radarkit.ai/v1/projects/{project}/exports', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "9b2f6a3e-1c4d-4e5f-8a9b-0c1d2e3f4a5b",
"project": "64f1a2b3c4d5e6f708192a3b",
"type": "responses",
"format": "csv",
"status": "queued",
"from": "2026-06-01",
"to": "2026-08-31",
"models": [
"chatgpt",
"gemini"
],
"prompt_ids": [
2048,
2049,
2050
],
"topic_ids": [
17
],
"include_answer": true,
"estimated_rows": 2340,
"rows": 0,
"bytes": null,
"rows_charged": 2340,
"file_name": "acme-crm-responses-2026-06-01-to-2026-08-31.csv.gz",
"download_url": null,
"error": null,
"requested_by": "Ada Lovelace",
"created_at": "2026-09-03T10:15:02+00:00",
"started_at": null,
"finished_at": null,
"expires_at": null
},
"meta": {
"rows_charged": 2340,
"export_rows_remaining": 27660
},
"credits": {
"charged": 0,
"remaining": 2945
},
"request_id": "req_01j9x4x1d2e3f4g5h6i7j8k9l0"
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key. Send it as: Authorization: Bearer rk_live_YOUR_KEY"
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r6"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "No project with that id."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5s0"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Slow down and retry.",
"details": {
"retry_after": 21
}
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a1"
}Create export
Queues an export. Charges the project owner’s Export rows for the exact row count, then writes the file in the background. Keep the id and poll Get export until status is ready.
Answers in a responses export come as Markdown, the same text the prompt page shows. CSV files have a header row and a UTF-8 byte order mark. NDJSON files have one JSON object per line.
Cost: Export rows, one per row. No API credits. Rows are refunded if the export fails.
Limits: Up to 365 days. Up to 250,000 rows per file. One export at a time per person, three per project owner. 10 calls per minute per key.
Needs: Write. Your seat must be allowed to manage content.
curl --request POST \
--url https://api.radarkit.ai/v1/projects/{project}/exports \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "responses"
}
'import requests
url = "https://api.radarkit.ai/v1/projects/{project}/exports"
payload = { "type": "responses" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: 'responses'})
};
fetch('https://api.radarkit.ai/v1/projects/{project}/exports', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "9b2f6a3e-1c4d-4e5f-8a9b-0c1d2e3f4a5b",
"project": "64f1a2b3c4d5e6f708192a3b",
"type": "responses",
"format": "csv",
"status": "queued",
"from": "2026-06-01",
"to": "2026-08-31",
"models": [
"chatgpt",
"gemini"
],
"prompt_ids": [
2048,
2049,
2050
],
"topic_ids": [
17
],
"include_answer": true,
"estimated_rows": 2340,
"rows": 0,
"bytes": null,
"rows_charged": 2340,
"file_name": "acme-crm-responses-2026-06-01-to-2026-08-31.csv.gz",
"download_url": null,
"error": null,
"requested_by": "Ada Lovelace",
"created_at": "2026-09-03T10:15:02+00:00",
"started_at": null,
"finished_at": null,
"expires_at": null
},
"meta": {
"rows_charged": 2340,
"export_rows_remaining": 27660
},
"credits": {
"charged": 0,
"remaining": 2945
},
"request_id": "req_01j9x4x1d2e3f4g5h6i7j8k9l0"
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key. Send it as: Authorization: Bearer rk_live_YOUR_KEY"
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r6"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "No project with that id."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5s0"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Slow down and retry.",
"details": {
"retry_after": 21
}
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a1"
}Authorizations
Your API key. Create one in Settings, API keys. Send it as Authorization: Bearer rk_live_YOUR_KEY.
Path Parameters
The project id. 24 characters. From List projects.
^[0-9a-f]{24}$Body
What to export. responses is one row per AI answer with brand mention, position, sentiment, competitors, sources cited and the answer as Markdown. sources is one row per page cited or consulted. competitors is one row per competitor named. rankings is one row per recommended domain with its position. query_fanout is one row per search query the model ran.
responses, sources, competitors, rankings, query_fanout csv with a header row, or ndjson with one JSON object per line.
csv, ndjson First day, YYYY-MM-DD. Default: 30 days ago.
Last day, YYYY-MM-DD, included. Default: today.
Models to include. Default: every model the project tracks.
10Every active prompt in these topics.
100Only these prompts. Leave both this and topic_ids out to export every prompt.
500responses only. Set false to leave the answer text out and get a much smaller file.
Response
The export is queued.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
What this call cost and what is left. Also in the X-RadarKit-Credits-Charged and X-RadarKit-Credits-Remaining headers.
Show child attributes
Show child attributes
A unique id for this call. Also in the X-Request-Id header. Quote it when you contact support.
"req_01j9x4m2p7q8r9s0t1u2v3w4x5"