This endpoint extracts invoice registration numbers (T + 13 digits, with check-d
This endpoint extracts invoice registration numbers (T + 13 digits, with check-digit validation), total, subtotal, consumption tax with 8%/10% breakdown, and issue/due dates (Reiwa era converted to ISO) from Japanese invoice or receipt text using deterministic rules. Input is plain text only (no images or PDF). Registration numbers are checked by check digit only, not against the National Tax Agency registry. Malformed amounts are skipped and listed in warnings.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://invoice-extract-jp.threads-cron.workers.dev/v1/invoice/extract
| Category | Image and media |
|---|---|
| Provider host | invoice-extract-jp.threads-cron.workers.dev |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 3 from 2 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-24 | valid payment request | 402 | $0.005 | 563 ms |
Example input (from the provider)
{
"body": {
"text": "\u8acb\u6c42\u66f8\n\u767a\u884c\u65e5 \u4ee4\u548c8\u5e7410\u670822\u65e5\n\u767b\u9332\u756a\u53f7 T7000012050002\n\u5c0f\u8a08 \u00a510,000\n\u6d88\u8cbb\u7a0e \u00a51,000\n\u3054\u8acb\u6c42\u91d1\u984d \u00a511,000\n\u304a\u652f\u6255\u671f\u9650 2026/11/30"
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"text": {
"description": "Plain text of a Japanese invoice or receipt (OCR output is fine). Full-width characters are normalized.",
"maxLength": 5000,
"minLength": 1,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"properties": {
"amounts": {
"properties": {
"subtotal": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "Amount in JPY (negative if marked with - or \u25b2)",
"type": "integer"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
},
"tax": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "Amount in JPY (negative if marked with - or \u25b2)",
"type": "integer"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
},
"taxBreakdown": {
"items": {
"properties": {
"rate": {
"enum": [
8,
10
],
"type": "integer"
},
"tax": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "Amount in JPY (negative if marked with - or \u25b2)",
"type": "integer"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
},
"taxableAmount": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "Amount in JPY (negative if marked with - or \u25b2)",
"type": "integer"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
}
},
"required": [
"rate"
],
"type": "object"
},
"type": "array"
},
"total": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "Amount in JPY (negative if marked with - or \u25b2)",
"type": "integer"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
}
},
"required": [
"total",
"subtotal",
"tax",
"taxBreakdown"
],
"type": "object"
},
"dates": {
"properties": {
"allDates": {
"items": {
"type": "string"
},
"type": "array"
},
"dueDate": {
"properties": {
"raw": {
"type": "string"
},
"value": {
"description": "ISO date YYYY-MM-DD",
"type": "string"
}
},
"required": [
"value",
"raw"
],
"type": [
"object",
"null"
]
},
"issueDate": {