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) |