List Render Jobs
List your workspace's async render jobs, newest first, with optional status filter and cursor pagination.
Updated
GET
/v1/studio/render-jobscurl -X GET "https://api.orshot.com/v1/studio/render-jobs?status=<STATUS>&limit=<LIMIT>&cursor=<CURSOR>" \
-H "Authorization: Bearer <ORSHOT_API_KEY>"const res = await fetch("https://api.orshot.com/v1/studio/render-jobs?status=<STATUS>&limit=<LIMIT>&cursor=<CURSOR>", {
method: "GET",
headers: {
Authorization: "Bearer <ORSHOT_API_KEY>",
},
});
const data = await res.json();import requests
response = requests.get(
"https://api.orshot.com/v1/studio/render-jobs?status=<STATUS>&limit=<LIMIT>&cursor=<CURSOR>",
headers={"Authorization": "Bearer <ORSHOT_API_KEY>"},
)
data = response.json()$ch = curl_init("https://api.orshot.com/v1/studio/render-jobs?status=<STATUS>&limit=<LIMIT>&cursor=<CURSOR>");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <ORSHOT_API_KEY>",
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);require "net/http"
require "json"
uri = URI("https://api.orshot.com/v1/studio/render-jobs?status=<STATUS>&limit=<LIMIT>&cursor=<CURSOR>")
req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Bearer <ORSHOT_API_KEY>"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)List the async render jobs in your workspace, newest first.
GET https://api.orshot.com/v1/studio/render-jobs?status=processing&limit=20Query parameters#
| Parameter | Type | Description |
|---|---|---|
status | string | Optional filter: queued, processing, succeeded, failed, or canceled. An unknown value answers 400 (invalid-status-filter). |
limit | number | How many to return. Default 20, max 100. |
cursor | number | For the next page, pass the next_cursor from the previous response. |
Response#
data is an array of job objects, newest first. pagination.next_cursor is the id to pass as cursor for the next (older) page; it is null on the last page.
{
"data": [
{ "id": 1208, "status": "queued", "finished": false, "created_at": "…" },
{ "id": 1207, "status": "processing", "finished": false, "created_at": "…" },
{ "id": 1206, "status": "succeeded", "finished": true, "result": { … }, "created_at": "…" }
],
"pagination": { "has_more": true, "next_cursor": 1206 }
}Paging through every job#
let cursor;
do {
const url = new URL("https://api.orshot.com/v1/studio/render-jobs");
url.searchParams.set("limit", "100");
if (cursor) url.searchParams.set("cursor", cursor);
const res = await fetch(url, { headers: { Authorization: "Bearer <ORSHOT_API_KEY>" } });
const { data, pagination } = await res.json();
// …process data…
cursor = pagination.next_cursor;
} while (cursor);Was this page helpful?
Ready to automate?
Start rendering images, PDFs and videos from your templates in under 2 minutes. Free plan, no credit card.
Get your API key- Image, PDF and video generation via API
- Visual editor with AI and smart layouts
- Zapier, Make, MCP and 50+ integrations
- White-label embed for your own app
- 30 free credits — no credit card required