handel.halowerk.com
Also supports unencrypted text-layer PDFs <=187500 bytes/10 pages/120000 extracted characters. Conservative English/German labels for invoice number, dates and totals; returns page/line evidence and complete bounded text lines. Unrecognized fields and item tables remain null/empty, partial=true; dollar signs do not imply USD. Unsupported or ambiguous core fields fail422 without settlement. Local Poppler only, no model, OCR or external API. 20 second timeout.
Offering
- Provider
- handel.halowerk.com
- Method
- POST
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Data
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://handel.halowerk.com/v1/invoice-extract- MIME type
- Not provided
- First seen
- 2026-10-16T01:58:26.121Z
- Last seen
- Tags
- None supplied
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.004 USDC
Atomic price: 4000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "4000",
"payTo": "0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E"
}
]Observed health
- Status
- Healthy
- Latest latency
- 317 ms
- Average latency
- 519 ms
- HTTP status
- 204
- Last checked
- Reachability
- 100% over 8 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"body": {
"document_base64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48dWJsOkludm9pY2UgeG1sbnM6dWJsPSJ1cm46b2FzaXM6bmFtZXM6c3BlY2lmaWNhdGlvbjp1Ymw6c2NoZW1hOnhzZDpJbnZvaWNlLTIiIHhtbG5zOmNhYz0idXJuOm9hc2lzOm5hbWVzOnNwZWNpZmljYXRpb246dWJsOnNjaGVtYTp4c2Q6Q29tbW9uQWdncmVnYXRlQ29tcG9uZW50cy0yIiB4bWxuczpjYmM9InVybjpvYXNpczpuYW1lczpzcGVjaWZpY2F0aW9uOnVibDpzY2hlbWE6eHNkOkNvbW1vbkJhc2ljQ29tcG9uZW50cy0yIj48Y2JjOkN1c3RvbWl6YXRpb25JRD51cm46Y2VuLmV1OmVuMTY5MzE6MjAxNyNjb21wbGlhbnQjdXJuOnhvZXYtZGU6a29zaXQ6c3RhbmRhcmQ6eHJlY2hudW5nXzMuMDwvY2JjOkN1c3RvbWl6YXRpb25JRD48Y2JjOklEPlJFLTIwMjYtMDA0MjwvY2JjOklEPjxjYmM6SXNzdWVEYXRlPjIwMjYtMDgtMDM8L2NiYzpJc3N1ZURhdGU+PGNiYzpEdWVEYXRlPjIwMjYtMDktMDI8L2NiYzpEdWVEYXRlPjxjYmM6SW52b2ljZVR5cGVDb2RlPjM4MDwvY2JjOkludm9pY2VUeXBlQ29kZT48Y2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPkVVUjwvY2JjOkRvY3VtZW50Q3VycmVuY3lDb2RlPjxjYmM6QnV5ZXJSZWZlcmVuY2U+MDQwMTEwMDAtMTIzNDUtMzQ8L2NiYzpCdXllclJlZmVyZW5jZT48Y2FjOkFjY291bnRpbmdTdXBwbGllclBhcnR5PjxjYWM6UGFydHk+PGNhYzpQb3N0YWxBZGRyZXNzPjxjYmM6Q2l0eU5hbWU+QnJlbWVuPC9jYmM6Q2l0eU5hbWU+PGNiYzpQb3N0YWxab25lPjI4MTk1PC9jYmM6UG9zdGFsWm9uZT48Y2FjOkNvdW50cnk+PGNiYzpJZGVudGlmaWNhdGlvbkNvZGU+REU8L2NiYzpJZGVudGlmaWNhdGlvbkNvZGU+PC9jYWM6Q291bnRyeT48L2NhYzpQb3N0YWxBZGRyZXNzPjxjYWM6UGFydHlUYXhTY2hlbWU+PGNiYzpDb21wYW55SUQ+REUxMjM0NTY3ODk8L2NiYzpDb21wYW55SUQ+PGNhYzpUYXhTY2hlbWU+PGNiYzpJRD5WQVQ8L2NiYzpJRD48L2NhYzpUYXhTY2hlbWU+PC9jYWM6UGFydHlUYXhTY2hlbWU+PGNhYzpQYXJ0eUxlZ2FsRW50aXR5PjxjYmM6UmVnaXN0cmF0aW9uTmFtZT5Ob3Jkd2VyayBIYW5kZWwgR21iSDwvY2JjOlJlZ2lzdHJhdGlvbk5hbWU+PC9jYWM6UGFydHlMZWdhbEVudGl0eT48L2NhYzpQYXJ0eT48L2NhYzpBY2NvdW50aW5nU3VwcGxpZXJQYXJ0eT48Y2FjOkFjY291bnRpbmdDdXN0b21lclBhcnR5PjxjYWM6UGFydHk+PGNhYzpQYXJ0eUxlZ2FsRW50aXR5PjxjYmM6UmVnaXN0cmF0aW9uTmFtZT5TdGFkdHdlcmtlIEJlaXNwaWVsIEHDtlI8L2NiYzpSZWdpc3RyYXRpb25OYW1lPjwvY2FjOlBhcnR5TGVnYWxFbnRpdHk+PC9jYWM6UGFydHk+PC9jYWM6QWNjb3VudGluZ0N1c3RvbWVyUGFydHk+PGNhYzpQYXltZW50TWVhbnM+PGNiYzpQYXltZW50TWVhbnNDb2RlPjU4PC9jYmM6UGF5bWVudE1lYW5zQ29kZT48Y2FjOlBheWVlRmluYW5jaWFsQWNjb3VudD48Y2JjOklEPkRFMDIxMjAzMDAwMDAwMDAyMDIwNTE8L2NiYzpJRD48L2NhYzpQYXllZUZpbmFuY2lhbEFjY291bnQ+PC9jYWM6UGF5bWVudE1lYW5zPjxjYWM6VGF4VG90YWw+PGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iRVVSIj43Ni4wMDwvY2JjOlRheEFtb3VudD48Y2FjOlRheFN1YnRvdGFsPjxjYmM6VGF4YWJsZUFtb3VudCBjdXJyZW5jeUlEPSJFVVIiPjQwMC4wMDwvY2JjOlRheGFibGVBbW91bnQ+PGNiYzpUYXhBbW91bnQgY3VycmVuY3lJRD0iRVVSIj43Ni4wMDwvY2JjOlRheEFtb3VudD48Y2FjOlRheENhdGVnb3J5PjxjYmM6SUQ+UzwvY2JjOklEPjxjYmM6UGVyY2VudD4xOTwvY2JjOlBlcmNlbnQ+PGNhYzpUYXhTY2hlbWU+PGNiYzpJRD5WQVQ8L2NiYzpJRD48L2NhYzpUYXhTY2hlbWU+PC9jYWM6VGF4Q2F0ZWdvcnk+PC9jYWM6VGF4U3VidG90YWw+PC9jYWM6VGF4VG90YWw+PGNhYzpMZWdhbE1vbmV0YXJ5VG90YWw+PGNiYzpMaW5lRXh0ZW5zaW9uQW1vdW50IGN1cnJlbmN5SUQ9IkVVUiI+NDAwLjAwPC9jYmM6TGluZUV4dGVuc2lvbkFtb3VudD48Y2JjOlRheEV4Y2x1c2l2ZUFtb3VudCBjdXJyZW5jeUlEPSJFVVIiPjQwMC4wMDwvY2JjOlRheEV4Y2x1c2l2ZUFtb3VudD48Y2JjOlRheEluY2x1c2l2ZUFtb3VudCBjdXJyZW5jeUlEPSJFVVIiPjQ3Ni4wMDwvY2JjOlRheEluY2x1c2l2ZUFtb3VudD48Y2JjOlByZXBhaWRBbW91bnQgY3VycmVuY3lJRD0iRVVSIj4wLjAwPC9jYmM6UHJlcGFpZEFtb3VudD48Y2JjOlBheWFibGVBbW91bnQgY3VycmVuY3lJRD0iRVVSIj40NzYuMDA8L2NiYzpQYXlhYmxlQW1vdW50PjwvY2FjOkxlZ2FsTW9uZXRhcnlUb3RhbD48Y2FjOkludm9pY2VMaW5lPjxjYmM6SUQ+MTwvY2JjOklEPjxjYmM6SW52b2ljZWRRdWFudGl0eSB1bml0Q29kZT0iSDg3Ij44PC9jYmM6SW52b2ljZWRRdWFudGl0eT48Y2JjOkxpbmVFeHRlbnNpb25BbW91bnQgY3VycmVuY3lJRD0iRVVSIj40MDAuMDA8L2NiYzpMaW5lRXh0ZW5zaW9uQW1vdW50PjxjYWM6SXRlbT48Y2JjOk5hbWU+V2FydHVuZyBSZWdhbGFubGFnZTwvY2JjOk5hbWU+PGNhYzpDbGFzc2lmaWVkVGF4Q2F0ZWdvcnk+PGNiYzpJRD5TPC9jYmM6SUQ+PGNiYzpQZXJjZW50PjE5PC9jYmM6UGVyY2VudD48L2NhYzpDbGFzc2lmaWVkVGF4Q2F0ZWdvcnk+PC9jYWM6SXRlbT48Y2FjOlByaWNlPjxjYmM6UHJpY2VBbW91bnQgY3VycmVuY3lJRD0iRVVSIj41MC4wMDwvY2JjOlByaWNlQW1vdW50PjwvY2FjOlByaWNlPjwvY2FjOkludm9pY2VMaW5lPjwvdWJsOkludm9pY2U+",
"include_lines": true,
"verify_totals": true
},
"bodyType": "json",
"method": "POST",
"type": "http"
}Output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"document_base64": {
"description": "The document as base64. Either a PDF with an embedded ZUGFeRD or Factur-X XML, or the EN 16931 XML itself (CII or UBL). The JSON body of this hub is capped at 256 kB, so the base64 text must stay below 250000 characters, which is roughly 187 kB of file.",
"maxLength": 250000,
"minLength": 16,
"type": "string"
},
"include_lines": {
"default": true,
"description": "Whether to return the individual invoice lines. False returns only header, tax breakdown and totals.",
"type": "boolean"
},
"verify_totals": {
"default": true,
"description": "Whether to recompute the stated totals from the lines and the tax breakdown and report every deviation.",
"type": "boolean"
}
},
"required": [
"document_base64"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}