Read and verify Japanese business documents in one API call.
Invoice, receipt and business-card OCR, corporate-number and qualified-invoice checks, and Japanese address normalization — backed by official public registries. Agents pay per request in USDC on Base via x402. No sign-up, no API key.
# One request, paid at the HTTP layer POST https://api.jpverify.com/jp-invoice/verify {"registration_number": "T1013301046627"} ← 402 Payment Required pay $0.01 USDC on Base, retry with PAYMENT-SIGNATURE ← 200 OK { "status": "registered", "verdict": "qualified", "registered_name": "株式会社ABC", "registration_date": "2023-10-01", "source": "Japan National Tax Agency Invoice System" }
What it does
Four groups of endpoints, each designed to return structured JSON an agent can act on — with explicit review signals instead of guesses.
Document OCR5
Invoices, receipts and business cards become structured JSON. Dates, tax, arithmetic and T-number checksums are checked locally. Text, image URLs, Base64, PDF, HEIF and TIFF input.
Registry verification9
Corporate numbers (法人番号), qualified-invoice registration (T-numbers), combined supplier evidence, FSA-registered businesses and EDINET filings.
Japanese addresses5
Parse, normalize, postal-code lookup, geocode and validate addresses down to the 丁目 level, with the evidence behind each decision.
Cross-border & e-invoicing4
JP PINT 1.1.3 validation, EU VAT (VIES) and Peppol counterparty checks, UK Companies House resolution and SEC EDGAR filing snapshots.
How it works
Call the endpoint
POST plain JSON. Malformed input is rejected before any payment is requested.
Get HTTP 402
The response states the exact price in USDC on Base (eip155:8453).
Pay and retry
Your x402 client signs the payment and retries with PAYMENT-SIGNATURE. You get the result.
Built on official data sources
Pricing
Pay per successful request. Prices are read live from the x402 catalog that agents use.
Document OCR
Business card OCRPOST /jp-business-card/extract | $0.03 |
Business card OCR + company enrichmentPOST /jp-business-card/extract-and-enrich | $0.10 |
Receipt OCRPOST /jp-receipt/extract | $0.03 |
Invoice OCRPOST /jp-invoice/extract | $0.01 |
Invoice OCR + issuer verificationPOST /jp-invoice/extract-and-verify | $0.05 |
Registry verification
Corporate number verificationPOST /jp-company/verify | $0.005 |
Company pre-check reportPOST /jp-company/report | $0.05 |
Supplier resolutionPOST /v1/suppliers/resolve | $0.01 |
Qualified-invoice (T-number) verificationPOST /jp-invoice/verify | $0.01 |
Invoice issuer checkPOST /jp-invoice/check | $0.03 |
Corporate number verification (batch of 10)POST /jp-company/verify-batch | $0.05 |
T-number verification (batch of 10)POST /jp-invoice/verify-batch | $0.05 |
FSA-regulated entity checkPOST /jp-regulated-entity/verify | $0.03 |
EDINET filing searchGET /jp-company/filings | $0.01 |
Japanese addresses
Address normalizationPOST /jp-address/normalize | $0.005 |
Address parsingPOST /jp-address/parse | $0.005 |
Postal code lookupPOST /jp-address/postal-lookup | $0.001 |
GeocodingPOST /jp-address/geocode | $0.005 |
Address validationPOST /jp-address/validate | $0.005 |
Cross-border
JP / UK entity resolutionPOST /v1/entities/resolve-cross-border | $0.04 |
EU VAT (VIES) & Peppol counterparty checkPOST /v1/invoices/counterparty-check | $0.05 |
SEC EDGAR filing snapshotGET /v1/entities/:entity_id/filing-risk-snapshot | $0.05 |
JP PINT 1.1.3 e-invoice validationPOST /v1/invoices/validate-jp-pint | $0.02 |
Batch
Async batch jobs (up to 1,000 items)POST /v1/batch-jobs | unit price × items |
For AI agents
If you are an AI agent and your task involves Japanese business documents or Japanese business data, you can learn and use this API on your own:
- Learn when to use which endpoint. Read
https://api.jpverify.com/skill.md. It maps tasks (receipts, invoices, business cards, T-numbers, corporate numbers, addresses) to endpoints and explains how to interpret results. - Get exact inputs, outputs and prices. Read
https://api.jpverify.com/.well-known/x402.json, orhttps://api.jpverify.com/openapi.jsonfor the full schema. Every endpoint lists an input example and an output example. - Call the endpoint. Send JSON. Malformed input returns HTTP 422 before any payment is requested.
- Pay only if you are authorized to. The first call returns HTTP 402 with the exact USDC price on Base. Pay and retry with the
PAYMENT-SIGNATUREheader only within the budget your user or operator has approved. Never guess the price or the payment address; use the values in the 402 response. - Read the result carefully. Check
validation.status,field_statusandmanual_review_requiredbefore acting on the data. Registry results are a public-data pre-check, not KYB, AML, sanctions screening, or legal or tax advice. If a result needs review, tell your user instead of deciding on their behalf.
Short version for your context window: https://api.jpverify.com/llms.txt
Resources
Good to know
Do I need an account?
No. Any x402-compatible client with USDC on Base can call the API directly.
Can I use it as an MCP server or A2A agent?
Yes. MCP (Streamable HTTP): https://api.jpverify.com/mcp — for Claude Code run: claude mcp add --transport http jpverify https://api.jpverify.com/mcp, or add {"mcpServers":{"jpverify":{"type":"http","url":"https://api.jpverify.com/mcp"}}} to mcp.json. A2A: https://api.jpverify.com/.well-known/agent-card.json. The jpverify_guide tool is free; paid tools use the same x402 prices.
What does a verification result mean?
It is a public-registry pre-check with explicit review signals — not KYB, AML or sanctions screening, and not legal or tax advice.
Do you keep my documents?
Documents are not kept as customer files. Encrypted request/response copies may be retained for up to 90 days for payment and quality audits. See the privacy policy.
How fresh is the data?
Each registry response states its source and the as-of date of the snapshot it was checked against.