Output formats
Two formats
An answer comes back in two forms. Each has its own use:
| Field | What it holds | Use it for |
|---|---|---|
text | The answer as plain text, always present on answer engines. | Search, brand matching, diffs between runs. |
markdown | The same answer with its headings, lists, tables, bold and links. | Showing the answer as the user saw it, reading tables row by row. |
Structured parts of an answer, such as sources, citationPills and shoppingCards, are
fields of their own in every format. You don't need to parse them out of the text.
Which engine returns which
| Engine | markdown | html |
|---|---|---|
| ChatGPT | With include.markdown | Not available (400) |
| Perplexity | With include.markdown | With include.html: a link to the page |
| Gemini | With include.markdown | Not available (400) |
| Microsoft Copilot | With include.markdown | Not available (400) |
| Grok | With include.markdown | With include.html: a link to the page |
| Google AI Mode | With include.markdown | Not available (400) |
| Google Search | No answer text: results are fields | Not available (400) |
| Google News | No answer text: results are fields | Not available (400) |
ChatGPT, Gemini, Microsoft Copilot, Google AI Mode, Google Search, and Google News have no HTML snapshot: a request that sets include.html on them is refused with a 400 before
anything runs, and nothing is billed. The paused engines' formats are on their
engine pages. The full list of flags per engine is in engine features.
Markdown
markdown keeps the answer's structure: headings, bullet and numbered lists, bold text, links and tables as
Markdown tables. text is derived from it with the markup removed, so the two always hold the same words.
Request it with "include": { "markdown": true }.
Answers, titles and source URLs are third-party content. Render markdown with a renderer that drops raw
HTML, open source links with rel="noopener nofollow", and when an answer goes into a prompt for your own
model, mark it as data to analyze, not instructions to follow.
HTML snapshots
include.html is part of the contract, but no engine served today offers an HTML snapshot: a request that
sets it is refused with a 400 and not billed. To keep a record of an answer, store its text or
markdown with its sources and the task id.
Cost
include.markdown is free on every engine: the request costs the same with or without it. See credits and billing.