---
title: "List stored captures"
method: GET
path: "/api/captures"
tags: ["Captures"]
---

# List stored captures

`GET /api/captures`

## Request

- Base URL: `https://snaplab.dev`
- URL: `https://snaplab.dev/api/captures`
- Auth: HTTP bearer

## Query parameters

- `limit` integer
- `cursor` string
- `status` 'pending' | 'processing' | 'completed' | 'failed'
- `q` string

## Response `200`

A page of captures, newest first.

- object
  - `items` Capture[]
    - `id` string
    - `userId` string
    - `apiKeyId` string, nullable
    - `url` string
    - `title` string, nullable
    - `status` 'pending' | 'processing' | 'completed' | 'failed'
    - `format` string
    - `selector` string, nullable
    - `fullPage` boolean
    - `width` integer
    - `height` integer
    - `deviceScaleFactor` integer
    - `darkMode` boolean
    - `fileKey` string, nullable
    - `fileSize` integer, nullable
    - `fingerprint` string, nullable
    - `error` string, nullable
    - `durationMs` integer, nullable
    - `cacheHit` boolean
    - `createdAt` string, date-time
    - `completedAt` string, date-time, nullable
    - `webhook` CaptureWebhook: Present on `GET /api/captures/{id}` only when a callback was set.
      - `url` string, uri
      - `deliveries` WebhookDelivery[]
        - `id` string
        - `attempt` integer: Attempts made so far, 1-4.
        - `status` 'pending' | 'ok' | 'failed' | 'gave_up'
        - `lastStatusCode` integer, nullable: HTTP status of the last attempt; null if the request never completed.
        - `updatedAt` string, date-time
  - `nextCursor` string, nullable

## Other responses

- `401`: Not authenticated.

---

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