Explorer
Syncing—

Structured ExtractionService

structured-extraction

Rule-based extraction of named fields from text (not a language model: it returns what the text states explicitly). POST JSON {"text": "...", "schema": ...} to /v1/extract. schema can be a JSON Schema ({"properties": {"total": {"type": "number"}}}), a list of field names (["email", "invoice_number"]) or {"fields": {"name": "<regex>"}}. Built-in fields: email, phone, date, url, money (also total, price, amount, tax), time, company, address, percent, zip, iban, ip, name; any other field name is filled from a "Label: value" line in the text. The response is a JSON object with fields (null when not found; typed per the JSON Schema), matched_by (how each field was found) and schema_mode. Identical input gives identical output on every supplier.

Active Suppliers
2
of 2 ever configured
Service Info
Service ID
structured-extraction
Compute Units / Relay
100,000
Active Applications
2
Relay Mining EMA
1 relays
Service Metadata Cardsource: on-chain metadata (LCD)
{10 items
"schema":"pocket-service-card/v1"
"description":"Rule-based extraction of named fields from text (not a language model: it returns what the text states explicitly). POST JSON {"text": "...", "schema": ...} to ..."
"rpc_types":[1 item
0:{4 items
"type":"REST"
"intent":"expected"
"backend_hint":"structured-extraction HTTP server on :8080; POST /v1/extract (also POST /v1/tool), GET /v1/health + /v1/version."
"notes":"Every response is a JSON object; errors are JSON 4xx with an error field."
}
]
"apis":[1 item
0:"structured-extraction-api"
]
"specs":[1 item
0:{4 items
"kind":"openapi"
"api":"structured-extraction-api"
"url":"https://main.aristeon.org/structured-extraction/openapi.json"
"notes":"Machine-readable OpenAPI 3.0.3 contract for this service, with example requests."
}
]
"access":"public"
"results":"deterministic"
"serving":{7 items
"backend":"Single-process Python 3 HTTP server, standard library only, behind a RelayMiner (rest backend). No auth toward the backend; callers cannot send headers. No upst..."
"implementations":[1 item
0:"structured-extraction >= 1.0"
]
"docs":"https://main.aristeon.org/structured-extraction/README.md"
"min_disk_gb":1
"min_ram_gb":1
"healthcheck":[3 items
0:{4 items
"rpc_type":"REST"
"request":{2 items
"path":"/v1/version"
"method":"GET"
}
"expect":{2 items
"json_path":"$.service"
"matches":"^structured-extraction$"
}
"notes":"Identity probe: pins the backend to this service so a wrong backend cannot be staked under this id."
}
1:{4 items
"rpc_type":"REST"
"request":{2 items
"path":"/v1/health"
"method":"GET"
}
"expect":{2 items
"json_path":"$.status"
"matches":"^ok$"
}
"notes":"Readiness probe."
}
2:{4 items
"rpc_type":"REST"
"request":{3 items
"path":"/v1/extract"
"method":"POST"
"body":{2 items
"text":"Invoice number: INV-2291 Total: USD 1,250.00"
"schema":{1 item
"properties":{2 items
"invoice_number":{1 item
"type":"string"
}
"total":{1 item
"type":"number"
}
}
}
}
}
"expect":{2 items
"json_path":"$.fields.invoice_number"
"matches":"^INV-2291$"
}
"notes":"Functional probe: small invoice with a JSON Schema; checks an extracted value. No upstream calls."
}
]
"notes":"Upstream: none. Gateway operators: configure as type passthrough with rpc_types ["rest"]."
}
"docs":"https://main.aristeon.org/structured-extraction/README.md"
"updated":"2026-09-29"
}