API glossary

Structured output

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Structured output is output from a language model that follows a specific, predefined format (most often JSON matching a defined schema) instead of free-form prose. By constraining response shape, structured output makes model output easier for software to parse and act on without brittle cleanup logic.

In short: structured output shapes an LLM response to a fixed format (usually JSON), so applications can consume it more reliably than raw text.

How structured output works

The goal is to make the model’s response match a structure the receiving program already expects:

  1. Define a schema: The developer specifies the response shape (often a JSON schema, including field names, types, and required fields.
  2. Pass it with the request: The schema is included alongside the prompt.
  3. Constrain generation: In systems that support schema-aware decoding, invalid token paths are reduced during generation so outputs are guided toward the schema.
  4. Return structured data: The response is returned in a machine-readable form the application can parse directly, reducing reliance on fragile text parsing (for example, regex extraction).

Compared with a basic “JSON mode” that only ensures syntactically valid JSON, schema-enforced structured output is designed to increase conformance to a requested structure. In production, applications should still validate responses and handle edge cases such as refusals, truncation, or transport/runtime failures.

Structured output vs. function calling and JSON mode

  • JSON mode ensures the output is valid JSON, but not necessarily aligned to a specific schema; structured output targets a specific field/type structure.
  • Function calling has the model emit a structured tool/function call; structured output shapes the model’s direct answer. The two are closely related because both function calling and structured output commonly use schema-constrained JSON.
  • Free-form generation returns prose intended for humans; structured output returns data intended for programs.

Where structured output is used

  • Data extraction: Turning unstructured text into typed fields, such as names, dates, and amounts. This is closely related to entity extraction.
  • Reliable integrations: Passing an LLM’s response into a database write, API call, or downstream step with less parsing ambiguity.
  • Agentic workflows: Producing structured decisions and parameters an agent needs at each step.
  • Search and retrieval pipelines: Generating structured retrieval inputs or reshaping retrieved data into a downstream API contract.

Many leading model providers now offer structured-output features, though capabilities and guarantees vary by provider and endpoint.

Structured output is most useful when model output is consumed by software rather than read directly by a person.

Function calling, JSON schema, JSON mode, large language model (LLM), entity extraction, tool use, retrieval-augmented generation (RAG), API, agentic search.