Overview & Purpose
output is the cross-cutting control that shapes what comes back from any scrape-capable
endpoint — raw markup, a cleaned/converted version, a link list, an image, or extracted
structured data. It works the same way everywhere it appears, so understanding it once means you
understand it on /scrape, /batch/scrape, /crawl, and /serp.
Use this page to decide which format(s) to request and how JSON extraction works — for the
exact request/response field types, see each endpoint’s API reference page.
Prerequisites: none beyond a valid API key — output is a plain request field, not a
separate authenticated flow.
Supported formats
Request several formats at once — e.g.
output: ["markdown", "links"] — and each comes back
under its own key in data, computed from the same single fetch.
JSON extraction: prompt and schema
When output includes json, pline reads the rendered page and extracts structured data guided
by prompt (a plain-language instruction) and/or schema (the exact shape you want back). Use
one or both:
promptalone — fast, loosely-structured extraction when field names don’t need to be exact.schemaalone — a fixed, typed shape your code can rely on without guessing keys.- Both together —
schemapins the shape,promptdisambiguates content the schema can’t (e.g. which of several prices is the current one). This is usually the most reliable combination.
Best practices
only_main_content(defaulttrue) strips navigation/footers/ads fromclean_htmlandmarkdownonly — it has no effect onhtml,links,screenshot, orjson.screenshotandscreenshot_full_pageare mutually exclusive — requesting both is rejected.- Not every endpoint supports every format — Crawl’s per-page
outputhas nojsonorscreenshot_full_page;/serpenrichment only supportshtml/clean_html/links. Check the endpoint’s own reference page before assuming full parity with/scrape. - Combine formats instead of making two requests — asking for
markdownandjsontogether costs one fetch, not two.
