SocialCrawl

Web page schema

The unified SocialCrawl web page schema. Every field, its type, per-platform availability, and a machine-readable JSON Schema, generated from the canonical Zod source.

Every SocialCrawl endpoint that returns a web page gives you this exact shape, whatever the source platform. Write your parser once and the same code reads web page data from every platform below. That is the unified schema: one contract instead of a dozen raw upstream formats.

Field reference

FieldTypeNullableDescription
urlstringYesRequested URL.
final_urlstringYesFinal resolved URL after redirects.
status_codenumberYesHTTP status code observed while fetching the page.
scrape_idstringYesOpaque scrape identifier for follow-up interactions.
fetched_atstringYesFetch timestamp when reported.
published_atstringYesWhen the page was published: an ISO 8601 instant, or a YYYY-MM-DD date when only the day is printed. From the page's own article:published_time meta tag on a scrape, and from the news date or that tag on a search row. Null when the page states none.
content.markdownstringYesMarkdown body.
content.htmlstringYesHTML body.
content.raw_htmlstringYesRaw HTML body.
content.summarystringYesGenerated summary.
media.screenshot_urlstringYesScreenshot URL when requested.
media.audio_urlstringYesAudio URL.
media.video_urlstringYesVideo URL.
extractionobjectYesStructured extraction result when requested. On web/extract every value is checked against the page text: a placeholder such as 'Not specified', or a value the page does not state, comes back as null and is listed in extraction_check.removed.
extraction_check.checkedintegerNoNon-null values examined.
extraction_check.found_in_textintegerNoValues kept because they appear word for word on the page.
extraction_check.confirmedintegerNoValues kept because a check found the page states them, for example in another language.
extraction_check.removedobject[]NoFields set to null, with the value the extractor gave.
extraction_check.unverifiedstring[]NoFields returned as extracted without a check.
fetch.cache_statestringYesUpstream cache state when reported.
fetch.cached_atstringYesUpstream cache timestamp when reported.
fetch.proxy_tierstringYesProxy tier used for the fetch.

Platform availability

1 platform returns the Web page shape. extraction_check.checked, extraction_check.found_in_text, extraction_check.confirmed, extraction_check.removed, extraction_check.unverified are never null on any platform. The fields below vary: yes means the platform populates it (the value may still be null); a blank means the platform never provides it, so it is always null.

Platformurlfinal_urlstatus_codescrape_idfetched_atpublished_atcontent.markdowncontent.htmlcontent.raw_htmlcontent.summarymedia.screenshot_urlmedia.audio_url
Web Scrapingyesyesyesyesyesyesyesyesyesyesyesyes

Machine-readable schema

Validate responses programmatically against the JSON Schema (2020-12):

/schemas/web-page.json

Point a validator (Ajv, jsonschema, or your framework's) at that URL, or hand it to an agent so it can check the shape without a live call.

Returned by

Endpoints with the WebPage / WebPageList archetype return this shape:

Web Scraping

See how the same fields map to each platform's raw upstream names in the cross-platform field equivalence table.

On this page