---
title: "Structured Extraction"
method: POST
path: "/v1/structured-extraction"
tags: ["documents"]
---

# Structured Extraction

`POST /v1/structured-extraction`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/structured-extraction`
- Auth: none required

Rule-based extraction of named fields from text; not a language model, it returns only what the text states. POST /v1/extract with {text, schema}: schema is a JSON Schema, a list of field names, or {fields: {name: regex}}. Built-in fields include email, phone, date, url, money and company; other fields come from "Label: value" lines. Pay per request in USDC; no account, no API key.

## Request body

- object: The request body for POST /v1/extract.
  - `text` string, required: The text to extract from.
  - `schema` unknown, required

## Response `200`

The upstream response, served after payment settles.

- object: For POST /v1/extract, a JSON object with `fields` (null when not found), matched_by and schema_mode. The exact shape is the service's own and is not pinned here; errors return a JSON object with an `error` field.

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
