Postman can import Scriptube's API directly from its OpenAPI schema, which turns every documented endpoint into a ready-to-run request with no manual typing. This takes about five minutes: import the schema, set one environment variable, send your first request.
Step 1: Import the schema
In Postman: Import â Link â paste https://scriptube.me/openapi-public.json. Postman reads the schema and creates a collection with every /api/v1/* endpoint grouped by tag â batches, transcripts, keys, usage, and so on, with the request bodies and query parameters already filled in from the schema.
If you'd rather browse the same information as a web page first, Scriptube's interactive docs are at /docs (Swagger UI) â useful for reading request/response shapes before you start sending real requests.
Step 2: Set up your API key as an environment variable
Create a key first if you don't have one: sign in, go to Settings > API Keys, and create one (full scope if you'll be submitting batches from Postman, not just reading results).
In Postman, create an environment with two variables:
| Variable | Value |
|---|---|
base_url | https://scriptube.me |
api_key | Your key, e.g. sk_live_... |
Then, on the imported collection, open its Authorization tab (or edit each folder/request) and set the header X-API-Key to {{api_key}}. Setting it once at the collection level means every imported request inherits it â you shouldn't need to touch individual requests.
Step 3: Send your first request
Find Transcripts > Create Batch (POST /api/v1/transcripts) in the imported collection and replace its example body with:
{
"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
"language": "en"
}
Send it. A 202 response means the batch was accepted â copy the batch_id from the response body (or from batches[0].batch_id if the request expanded into more than one batch). If the video was already cached, the response may already show status: "completed" with the result inline, no polling needed.
Step 4: Poll and export
Find Transcripts > Get Batch (GET /api/v1/transcripts/{batch_id}), paste the id from Step 3 into the path variable, and send. Once status is completed, switch to Transcripts > Export Batch and set the format query parameter to whichever output you need â json, csv, txt, jsonl, srt, or vtt.
Turning requests into a quick script with the Collection Runner
Postman's Collection Runner can replay a sequence of requests with variables chained between them â useful for a manual "submit, wait, export" loop without leaving Postman. Chain the batch_id from the Create Batch response into the Get Batch request using a small test script on the Create Batch request:
const body = pm.response.json();
pm.environment.set("batch_id", body.batch_id || body.batches[0].batch_id);
Then reference {{batch_id}} in the path of the following requests in the Runner sequence.
Troubleshooting first requests
| Response | Likely cause |
|---|---|
| 401 | X-API-Key header missing or not inherited â check the collection's Authorization tab |
| 402 | Not enough credits for the batch â check GET /api/v1/credits/balance |
| 403 | Your key's scope is too low for this endpoint (e.g. a read key calling Create Batch) â see api-keys-scopes-rotation-revocation |
| 429 | Rate limited â check the Retry-After response header before retrying |
Every error body follows the same shape â {"code": "...", "message": "...", "detail": "..."} â so you can read the code field directly instead of guessing from the HTTP status alone. Save one of each as an example response (see below) the first time you hit it, so the next person on your team debugging the same error doesn't have to reproduce it from scratch.
Separate environments for separate keys
Create more than one Postman environment if you're working with more than one key â a read-scope key for safely poking around exports, and a separate full-scope environment for testing batch creation and key management. Switching environments in Postman's top-right dropdown swaps {{api_key}} without touching the collection itself, which keeps you from accidentally running a destructive call (like DELETE /api/v1/transcripts/{batch_id}) with a key that shouldn't have been able to.
Saving example responses for the team
Once a request returns something useful, use Postman's Save Response > Save as Example on it. This turns a live request into documentation your team can read without needing valid credentials themselves â handy for sharing exactly what a 402 or a 429 response from Scriptube's API looks like with a teammate who's building error handling against it, without them needing to reproduce the error first.
From Postman to real code
Once a request works the way you want, Postman's Code button (the </> icon next to Send) generates the equivalent curl, Python, Node, or a dozen other languages â a fast way to turn a request you've already verified into a script. For a full worked automation beyond single requests, see youtube-transcript-api-complete-guide.
Re-importing after the schema changes
Scriptube's API evolves â new endpoints, new optional fields. Re-running the same Import > Link step against https://scriptube.me/openapi-public.json refreshes the collection with whatever's current, without losing your environment variables (those live separately from the collection itself). Do this periodically if you're relying on Postman as your working reference rather than re-reading /docs each time â a re-import is the fastest way to confirm a parameter you remember from months ago still behaves the way your notes say it does.
Create your API key to get started: /ui/signup, or browse the full reference at /docs.