Batch Export Status
/api/v1/batch-export/{batchId}Aggregated status of every job in a batch — counts of completed / errored / in-progress jobs, plus a per-export breakdown. Useful for showing batch progress in a dashboard without firing N separate /jobs/{guid} requests.
Path Parameters
batchIdrequiredstring (uuid)The batch_id returned by Create Batch Export
curl https://exportcomments.com/api/v1/batch-export/b1d49f3e-7a4c-4c2b-9d8e-1234567890ab \-H "X-AUTH-TOKEN: your-api-key"
{"batch_id": "b1d49f3e-7a4c-4c2b-9d8e-1234567890ab","total": 3,"done": 1,"error": 0,"in_progress": 2,"is_complete": false,"progress_pct": 33,"exports": [{"guid": "abc12345-6789-0abc-def0-123456789abc","url": "https://www.instagram.com/p/Cabc123/","status": "done","total": 247,"totalExported": 247,"error": null},{"guid": "def67890-1234-5678-9abc-def012345678","url": "https://www.tiktok.com/@user/video/7223456789012345678","status": "progress","total": 18450,"totalExported": 4221,"error": null},{"guid": "ghi34567-89ab-cdef-0123-456789abcdef","url": "https://www.facebook.com/page/posts/9876543210","status": "queueing","total": 0,"totalExported": 0,"error": null}]}
Response Fields
batch_idstringEchoed back from the request. totalintegerNumber of jobs in the batch. doneintegerJobs that finished successfully (status: "done"). errorintegerJobs that failed (status: "error"). The per-export error field carries the user-facing message. in_progressintegerJobs still queueing or actively running. is_completebooleantrue when done + error == total — i.e. nothing else will change without a retry. progress_pctintegerRounded percentage = (done + error) / total * 100. exportsarray<object>Per-URL breakdown — same guid you got back from create, plus current status, total, totalExported, and the most recent error message if any.
Error responses
| Status | Reason |
|---|---|
404 | Batch not found — wrong batchId or the batch belongs to a different user. |
401 | Missing or invalid X-AUTH-TOKEN. |
The status endpoint is cheap to call but isn't real-time — internally the worker updates total_exported every few seconds. Polling every 5–10 seconds is plenty. For lower-latency progress updates use the Realtime socket channel — every per-comment progress tick fires on comments:{guid} and your client can derive the batch rollup locally.
This endpoint returns aggregate counts and a slim per-job summary. To download a specific job's result file, use the Retrieve Job endpoint with that job's GUID. For ONE zip containing every job's file, see Bulk Download.
