Inspect what Fetch saw, verify citations, replay the captured page, and embed evidence links into your own product.
Playground and Replay let you inspect what Fetch saw, compare the captured page with the Markdown and State JSON it produced, and share citation links that open the exact evidence behind an answer.
Every Fetch response carries a snapshotId. Open it to replay the captured page, pair the output with the source side by side, and hand auditable evidence links to your users.
The Playground is two synchronized panes: generated Markdown on the left, the replayed page on the right. Selecting a source block in the Markdown highlights the region it came from in the replay. State JSON citations open the matched structured evidence instead.
Replay the captured page, then pair it with the Markdown side by side.
| Use case | URL |
|---|---|
| Whole replay | https://expand.land/s/<snapshotId> |
| Side-by-side Playground | https://expand.land/s/<snapshotId>/playground |
| Markdown / Appendix evidence | https://expand.land/s/<snapshotId>?id=<evidenceId> |
| State JSON evidence |
The snapshotId is the stable handle for replay, Highlights, citation links, and follow-up inspection.
All precise evidence links use the same snapshot-scoped ?id=<evidenceId> contract. Playground may use internal hash state while synchronizing its panes, but that state is not the public citation URL.
Replay opens the captured page from the snapshot archive. Use it to see the page state Fetch captured.
https://expand.land/s/<snapshotId>Browser replay is backed by the snapshot's WACZ archive. Adding ?id=<evidenceId> opens an evidence-specific view: depending on the evidence kind, that may render as a source-hunk in replay or open State JSON evidence as JSON instead of browser replay.
Playground pairs the generated Markdown with the replayed page so you can inspect how output maps back to the source.
https://expand.land/s/<snapshotId>/playgroundThe left pane shows Markdown (raw or rendered); the right pane shows the replay iframe. Hovering or clicking a source block links it to the matching region in the replay. Public citation links use /s/<snapshotId>?id=<evidenceId>.
Citations are not just footnotes. A citation link should let a human inspect the exact captured evidence behind an agent's claim.
Each Highlights snippet can expose a canonical public Evidence ID in location.evidenceId:
| Snippet source | Raw location | Citation target |
|---|---|---|
markdown | owning Source Block in location.evidenceId | /s/<snapshotId>?id=<evidenceId> |
appendix | owning Source Block in location.evidenceId | /s/<snapshotId>?id=<evidenceId> |
How each surface exposes the link:
location, so you build the URL yourself;citationUrl field;location;/s/<snapshotId>.A Markdown or Appendix citation:
https://expand.land/s/019...?id=858A State JSON citation:
https://expand.land/s/019...?id=3State JSON citation links use the same location.evidenceId contract as Markdown and Appendix. Internal source-object indexes are not public citation targets.
State JSON citations open the structured evidence object that matched the answer, not just the rendered page.
https://expand.land/s/<snapshotId>?id=<evidenceId>statejson remains the snippet source name. evidenceId is the only public target identity and is accepted by ?id=. Internal State JSON source indexes are not exposed.
Snapshot links are useful for humans and machines. Browsers get replay; non-HTML clients can request Markdown or JSON evidence.
GET /s/<snapshotId> can return full Markdown for non-HTML clients via content negotiation.GET /s/<snapshotId>/content?id=<id> can return source-hunk Markdown or State JSON evidence, depending on the evidence and the Accept header.For the exact content-negotiation contract, see the API Reference.
Replay is backed by a WACZ archive: the captured page, assets, metadata, Markdown, evidence, and State JSON needed to replay and inspect the snapshot.
https://expand.land/s/<snapshotId>/archive.waczThe WACZ is public for the snapshot and powers replay loading. It is not the primary integration surface for most users, and its internal format is not owned by this page. Snapshot-land does not publicly serve screenshot or bundle artifacts; screenshots are returned by the Fetch API when you request them through Include Options.
If you build a deep research agent, return citation links with the answer. Your users should be able to click a claim and inspect the captured source behind it.
A useful citation payload pairs the claim with everything needed to render and open it:
Agent answer
claim
citationUrl
source label
snippet text
optional structured JSON valueRendered as a citation card in your product:
Enterprise includes 50 seats. [View evidence]
Source: pricing page
Evidence: State JSON
Link: https://expand.land/s/019...?id=3Implementation guidance:
snapshotId with the research result;source, text, location, and citationUrl when available;location or use SDK helpers;citationUrl verbatim;This is an example product UI for teams building on Expand, not a promise that Playground renders citation cards or copy/share controls. Recommend linking to Playground first; product teams can then open or embed those links according to their own UX constraints.
Snapshot links are designed to be shareable evidence links. Treat them like public links to captured source material.
/content or archive.wacz;If auth, TTL, retention, or access controls are added later, this page must be updated.
https://expand.land/s/<snapshotId>?id=<evidenceId>| WACZ archive | https://expand.land/s/<snapshotId>/archive.wacz |
statejson | State JSON evidence object in location.evidenceId | /s/<snapshotId>?id=<evidenceId> |