Limits are validation ceilings, not performance targets. Full-page screenshots, script-heavy sites, large DOMs, and stylesheet-heavy design extraction can take longer than simple snapshots.
Pagination and truncation
Crawl pages use a cursor. Send the returned cursor unchanged on the next request rather than constructing offsets. Async job results must fit in D1. When a result exceeds about 1.5 MB, Scrinly removes large optional fields in a deterministic order and records their names inresult.truncated. Prefer object storage when you need complete large artifacts.