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, and /crawl. /serp doesn’t take output; it
always returns parsed JSON.
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.
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 —
clean_markdownis available on/scrapeonly, Crawl’soutputhas nojson, and/serpdoesn’t takeoutputat all (it always returns parsed JSON). 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.