Snapshots

Snapshots

A snapshot is a point-in-time capture of a page's crawled content — its title, meta description, H1, body, and status at the moment it was fetched. A page accumulates many snapshots over its lifetime; the most recent one is embedded on the page detail as latest_snapshot.

All snapshot endpoints require the sites:read scope.


GET /pages/{pageId}/snapshots

List a page's snapshots, newest first. Paginated. Returns the lean snapshot shape (no body content — use the snapshot detail endpoint for that).

Scope: sites:read

Path parameters

Parameter Type Description
pageId integer The page's ID

Query parameters

Parameter Type Default Notes
page integer 1 1-indexed. Minimum 1.
limit integer 20 Minimum 1, maximum 100.

Request

curl "https://new.metamonster.ai/api/v1/pages/5001/snapshots?limit=20" \
  -H "Authorization: Bearer mm_YOUR_API_KEY"

Response 200

{
  "data": [
    {
      "id": 8100,
      "title": "Pricing — Example",
      "meta_description": "See Example's pricing plans.",
      "h1": "Pricing",
      "word_count": 640,
      "status_code": 200,
      "created_at": "2026-07-20T09:20:00Z"
    }
  ],
  "meta": { "total": 12, "page": 1, "per_page": 20 }
}

Each item (lean snapshot shape):

Field Type Description
id integer Snapshot ID
title string | null <title> at capture time
meta_description string | null Meta description
h1 string | null First H1
word_count integer | null Body word count
status_code integer | null HTTP status when fetched
created_at string | null When the snapshot was captured

Errors

Status When
404 not_found No such page in your organization (Page not found)

GET /snapshots/{snapshotId}

Fetch a single snapshot with full detail, including the body content rendered to markdown.

Scope: sites:read

Path parameters

Parameter Type Description
snapshotId integer The snapshot's ID

Request

curl https://new.metamonster.ai/api/v1/snapshots/8100 \
  -H "Authorization: Bearer mm_YOUR_API_KEY"

Response 200

{
  "data": {
    "id": 8100,
    "page_id": 5001,
    "url": "https://example.com/pricing",
    "path": "/pricing",
    "title": "Pricing — Example",
    "meta_description": "See Example's pricing plans.",
    "h1": "Pricing",
    "word_count": 640,
    "status_code": 200,
    "status": "processed",
    "schema": { "…": "…" },
    "content": "# Pricing\n\nSee our plans below…",
    "created_at": "2026-07-20T09:20:00Z",
    "updated_at": "2026-07-20T09:22:00Z"
  }
}

Full snapshot shape:

Field Type Description
id integer Snapshot ID
page_id integer | null Owning page
url string | null URL captured
path string | null URL path
title string | null <title>
meta_description string | null Meta description
h1 string | null First H1
word_count integer | null Body word count
status_code integer | null HTTP status when fetched
status string | null Processing status of the snapshot
schema object | null Structured-data (schema.org) captured from the page
content string Body content rendered to markdown. Empty string "" if unavailable or malformed.
created_at string | null When captured
updated_at string | null Last update

Errors

Status When
404 not_found No such snapshot, or its page isn't in your organization (Snapshot not found)