---
title: "Get safe job metadata without loading rich result content"
method: GET
path: "/job/{jobId}/metadata"
tags: ["Jobs"]
---

# Get safe job metadata without loading rich result content

`GET /job/{jobId}/metadata`

## Request

- Base URL: `https://api.domscout.io`
- URL: `https://api.domscout.io/job/{jobId}/metadata`
- Auth: API key in header `x-api-key`

## Response `200`

Job timing, state, a safe result summary, and aggregate counts. It does not promise saved-capture retention or artifact descriptors; retrieve an owned saved capture through GET /capture/{captureId} instead.

- JobMetadata
  - `jobId` string, uuid, required
  - `kind` 'capture' | 'batch' | 'crawl' | 'webhook_replay'
  - `status` 'pending' | 'processing' | 'retrying' | 'done' | 'error' | 'cancel_requested' | 'cancelled', required
  - `parentJobId` string, uuid, nullable
  - `createdAt` string, date-time
  - `startedAt` string, date-time, nullable
  - `doneAt` string, date-time, nullable
  - `timing` TimingBreakdown
    - `queuedMs` integer
    - `browserMs` integer
    - `uploadMs` integer
    - `webhookMs` integer
    - `totalMs` integer
  - `result` unknown
  - `resultSummary` object
  - `counts` ChildCounts
    - `total` integer
    - `pending` integer
    - `processing` integer
    - `done` integer
    - `completed` integer
    - `succeeded` integer
    - `error` integer
    - `failed` integer
    - `cancelled` integer
  - `metadata` object

## Other responses

- `403`: The request was refused. Returned when the x-api-key header is missing, revoked, or invalid, and when a valid key is blocked by a plan entitlement, the trusted-JavaScript account entitlement, a global product pause, or a security policy. A plan-only restriction returns code PLAN_FEATURE_UNAVAILABLE and can include upgrade_url. FEATURE_NOT_ENABLED identifies either the global product emergency pause or an eligible Business account without trusted-JavaScript permission; it carries no upgrade_url, so upgrading or retrying cannot clear it. Browser capture can return BROWSER_ISOLATION_REQUIRED or BROWSER_EXECUTION_DENIED with reason public_capture_not_enabled when browser work is unavailable for your account. These platform restrictions carry no upgrade_url and are not resolved by changing plan or key. Check GET /credits for current account capabilities. The API does not use 401: it authenticates with an API key header rather than an HTTP authentication scheme, so there is no WWW-Authenticate challenge to issue.
- `404`: The resource does not exist, has expired, or is not owned by this API key.
- `503`: A dependency this request needs is unavailable or not configured for this deployment. Codes: SUPABASE_TIMEOUT and SUPABASE_INVALID_RESPONSE (a storage operation did not answer, or answered unreadably — the write may have committed, so any retry must be idempotent), CAPTURE_ARTIFACT_UNAVAILABLE and CAPTURE_ARTIFACT_CORRUPT (a stored artifact could not be read or parsed), ASYNC_JOBS_NOT_CONFIGURED and CAPTURE_RETRIEVAL_NOT_CONFIGURED (the capability is not configured here, on any plan). Retryable unless the code names a deployment configuration.

---

[API](https://skmtc.dev/domscout/apis/domscout-api.md) · [All operations](https://skmtc.dev/domscout/apis/domscout-api/llms.txt) · [OpenAPI document](https://skmtc.dev/domscout/apis/domscout-api/revisions/20562d5b5d94?raw)
