SE Home
Help
  • Documentation
  • Help centre
SEScrape Engine

Getting started

DocumentationQuickstartAuthenticationPlayground

Extracting data

Selecting valuesTransformsLists & tablesPage dataAI extractionMCP server

Fetching pages

Custom requestsTimeouts & redirectsCachingAutomatic retriesFallback strategies

Browsers & actions

BrowsersActionsRecipesScreenshots & PDFStored files

Getting past blocks

Anti-bot protectionCaptchasProxiesFingerprintsSessions

Workflows

Multi-step requestsVariablesPaginationBatchCrawlingTemplatesSchedules & monitoringAsync jobs & webhooksExport to S3, Sheets, databases & webhooks

Account & billing

CreditsSecretsPlansLimitsLogs & request idsNotificationsAccountAffiliate programmeHelp centre

Reference

POST /scrapeGET /sessions/:idGET /browsersGET /proxies/countriesGET /healthErrors
Documentation

Getting started

DocumentationQuickstartAuthenticationPlayground

Extracting data

Selecting valuesTransformsLists & tablesPage dataAI extractionMCP server

Fetching pages

Custom requestsTimeouts & redirectsCachingAutomatic retriesFallback strategies

Browsers & actions

BrowsersActionsRecipesScreenshots & PDFStored files

Getting past blocks

Anti-bot protectionCaptchasProxiesFingerprintsSessions

Workflows

Multi-step requestsVariablesPaginationBatchCrawlingTemplatesSchedules & monitoringAsync jobs & webhooksExport to S3, Sheets, databases & webhooks

Account & billing

CreditsSecretsPlansLimitsLogs & request idsNotificationsAccountAffiliate programmeHelp centre

Reference

POST /scrapeGET /sessions/:idGET /browsersGET /proxies/countriesGET /healthErrors

Page data

Some data describes the whole page rather than an element: structured data for search engines, metadata, or the content itself as Markdown for an LLM. Ask for it with extract instead of a selector:

Actions

Data

extractReturns
"json-ld"Every <script type="application/ld+json"> block, parsed, as an array. @graph contents are listed one by one; invalid blocks are skipped
"microdata"Every top-level itemscope item, as { "type", "id", "properties" }, nested items included
"open-graph"The og: tags, without the prefix: { "title": …, "image": … }. Repeated tags become arrays
"script-data"JSON the app ships for the browser: Next.js __NEXT_DATA__, <script type="application/json">, and window.__X__ = {…} states (Nuxt, Redux, Apollo…), also as JSON.parse("…"). An object keyed by script id or variable name
"meta"title, canonical (absolute), lang, and every <meta> tag by name or property
"markdown"The page's main content as Markdown
"text"The page's main content as plain text, one line per paragraph

Structured data is often the most reliable source: the price, stock or rating the site publishes for search engines, already typed:

"product": [{
  "@type": "Product", "name": "Desk lamp", "sku": "DL-42",
  "offers": {
    "@type": "Offer",
    "price": "1299.50",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}]

App data (Next.js, Nuxt…)

Sites built with Next.js, Nuxt or a Redux store often embed all of a page's data as JSON for the browser. It's usually more complete than what the page shows: ids, stock, every variant…

Actions

Data

"app": {
  "__NEXT_DATA__": {
    "props": {
      "pageProps": {
        "product": {
          "id": 42,
          "name": "Desk lamp",
          "stock": 12,
          "variants": [{ "color": "black", "price": 1299.5 }, …]
        }
      }
    },
    …
  },
  "__INITIAL_STATE__": { "cart": { "items": 0 }, "user": null }
}

To read one value, or a list, use a json field instead of a selector: a path in that data, with [*] for every item of an array. Inside items of a JSON list, paths are relative to each item. Transforms apply as usual:

Actions

Data

"data": {
  "stock": 12,
  "variants": [{ "color": "black", "price": 1299.5 }, { "color": "white", "price": 1349 }]
}

Only data is read: scripts are never run. Data that a page loads afterwards with its own requests is a different case: use browser.capture.

Markdown and text for LLMs

"markdown" gives a model the page without its markup: headings, lists, links and tables kept, menus and scripts gone:

Actions

Data

The main content is <main>, [role=main] or <article> when the page has one, else <body>. Navigation, headers, footers, sidebars, forms, scripts and hidden elements are left out, and links and images are made absolute.

"text" is the same content without any formatting.

For one section rather than the whole page, use a selector with "output": "markdown", see HTML and Markdown.

Both are capped at 200,000 characters.

On this page

  • App data (Next.js, Nuxt…)
  • Markdown and text for LLMs