Skip to content

Documentation

List saved versions

GET/v1/links/{link}/snapshotsSnapshots

The link's saved copies, newest first. Free saves 50 pages a day and keeps 10 versions per link; Pro saves 1,000 and keeps 100. A page anyone saved in the last max_age seconds is reused and costs nothing.

Parameters

ParameterTypeRequiredDescription
linkstring, in the pathrequiredThe link's id, or its ending.

Example request

curl -s "https://snip.link/v1/links/spring-menu/snapshots" \
  -H "Authorization: Bearer $SNIP_KEY"

Example response

{
  "snapshots": [
    {
      "id": "5f0f3a2e-8c1b-4b0e-9d6a-1f2e3d4c5b6a",
      "status": "ok",
      "reason": null,
      "reused": false,
      "saved_at": "2026-10-23T09:12:40.000Z",
      "captured_at": "2026-10-23T09:12:46.000Z",
      "source": "https://example.com/menus/spring-2026",
      "final_url": "https://example.com/menus/spring-2026",
      "title": "Spring menu",
      "description": "Seasonal dishes, served from March to May.",
      "formats": {
        "md": "https://snip.link/spring-menu.md?v=5f0f3a2e-8c1b-4b0e-9d6a-1f2e3d4c5b6a",
        "pdf": "https://snip.link/spring-menu.pdf?v=5f0f3a2e-8c1b-4b0e-9d6a-1f2e3d4c5b6a",
        "jpg": "https://snip.link/spring-menu.jpg?v=5f0f3a2e-8c1b-4b0e-9d6a-1f2e3d4c5b6a"
      },
      "fingerprints": {
        "markdown": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
      }
    }
  ]
}

Response fields

FieldTypeDescription
snapshotsSnapshot[]
snapshots[].idstringThe version's id; ?v=<id> on any format ending opens this version.
snapshots[].statuspending | running | ok | skipped | failedpending or running: being saved. ok: saved. skipped: the page asks not to be archived (noarchive), so nothing was kept. failed: the page could not be loaded; reason says why.
snapshots[].reasonstring, null
snapshots[].reusedbooleanTrue when a copy of the page saved moments earlier was used.
snapshots[].saved_atstring
snapshots[].captured_atstring, null
snapshots[].sourcestringThe address that was saved: the link's destination at the time.
snapshots[].final_urlstring, nullWhere the browser ended up, after redirects.
snapshots[].titlestring, null
snapshots[].descriptionstring, null
snapshots[].formatsobjectEach format this version can be had in, by extension, as the short link with that ending: md, txt, html (a reading view), pdf, jpg, png, webp, avif, json (the page's facts and words), csv (its tables) and mhtml. Private links' URLs carry a signature that works for a day.
snapshots[].fingerprintsobject, nullSHA-256 of each saved file, by file name, once saved: proof of what the page said and when.
snapshots[].markdownstringThe page as Markdown, with wait.

Errors

StatusMeaning
401The API key is missing, malformed or revoked.
404No link by that id or ending in this account.
429Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason).

Back to getting started