---
title: "StructuredExtractionRequest"
canonical_url: "https://www.nutrient.io/api/python/requests/structured-extraction-request/"
md_url: "https://www.nutrient.io/api/python/requests/structured-extraction-request.md"
last_updated: "2026-08-11T08:57:05.212Z"
description: "Describes a structured data extraction request for `ExtractStructured`. Carries a schema envelope — `{'schema': <JSON Schema>}` — describing the fields the ext…"
---

Describes a structured data extraction request for `ExtractStructured`. Carries a schema envelope — `{"schema": <JSON Schema>}` — describing the fields the extracted data must conform to, and optional free-form instructions that steer the extraction.

The envelope's `schema` member is a standard JSON Schema object — typically an object root whose properties carry a `description` telling the extractor what to put there. The envelope shape matches what schema generation produces, so a generated result can be passed straight through; an envelope `constraints` member is accepted and reserved for future post-extraction validation (it is not evaluated yet). Provider, model, endpoint, and confidence reporting are controlled separately via `AiProcessingSettings` on the document's settings.

```python

from nutrient_sdk import StructuredExtractionRequest

```

## Construction

```python

StructuredExtractionRequest()

```

Creates a new `StructuredExtractionRequest` instance with default settings.

## Properties

### instructions

```python

@property
def instructions(self) -> str

@instructions.setter
def instructions(self, value: str) -> None

```

Optional natural-language instructions that steer the extraction: disambiguation rules, formatting preferences, or domain context — anything you'd tell a colleague doing the extraction by hand.

**Type:** `str`

---

### schema

```python

@property
def schema(self) -> str

@schema.setter
def schema(self, value: str) -> None

```

The schema envelope as a JSON string: `{"schema": <JSON Schema>}`. Required. The inner schema describes the fields to extract; each property's `description` tells the extractor what belongs there. An envelope `constraints` member is accepted and reserved for future post-extraction validation.

**Type:** `str`

---

---

## Related pages

- [All public classes import directly from the top-level package:](/api/python/requests.md)
- [Classification Request](/api/python/requests/classification-request.md)
- [Schema Generation Request](/api/python/requests/schema-generation-request.md)

