Skip to content

Documentation

Get a saved version

GET/v1/links/{link}/snapshots/{snapshot}Snapshots

One saved version with its format URLs and fingerprints. Add ?markdown=true to include its Markdown.

Parameters

ParameterTypeRequiredDescription
linkstring, in the pathrequiredThe link's id, or its ending.
snapshotstring, in the pathrequiredThe version's id.
markdowntrue | falseoptionalInclude the page's Markdown.

Example request

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

Example response

{
  "snapshot": {
    "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
snapshotSnapshotThe saved copy, when capture was sent.
snapshot.idstringThe version's id; ?v=<id> on any format ending opens this version.
snapshot.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.
snapshot.reasonstring, null
snapshot.reusedbooleanTrue when a copy of the page saved moments earlier was used.
snapshot.saved_atstring
snapshot.captured_atstring, null
snapshot.sourcestringThe address that was saved: the link's destination at the time.
snapshot.final_urlstring, nullWhere the browser ended up, after redirects.
snapshot.titlestring, null
snapshot.descriptionstring, null
snapshot.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.
snapshot.fingerprintsobject, nullSHA-256 of each saved file, by file name, once saved: proof of what the page said and when.
snapshot.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