Skip to main content
A POST /web/crawl response carries metadata at two levels. Each item in results has a metadata object describing that page, and the response itself has a run-level metadata object with counters for the whole crawl, plus cache_metadata.

Read a crawl response

Send this body to POST /web/crawl. See the Quickstart for authentication and SDK setup.
Abridged response:

Per-page metadata

results[].metadata always has these crawl-specific fields: The same object also carries the fields Scrape extracts from page HTML: description, language, keywords, canonicalUrl, author, siteName, image, favicon, publishedTime, modifiedTime, robots, openGraph, twitter, alternates, headings, jsonLd, and additionalMeta. They are omitted when not found. See Scrape page metadata for each field. A failed page keeps its metadata entry with success: false and an empty markdown string, so check success before using the content.

Run metadata

The top-level metadata object summarises the run. Every counter is always present. Read partial alongside these counters. It is true when timeoutOpts.behavior is return-partial and the crawl returned the usable results collected before the deadline; partial collections are not cached as complete results.

Cache metadata

Set maxAgeMs to control how old cached page content may be; see page content.