Install
openclaw skills install deepread-tax-formsExtract structured data from W-2s, 1099s, 1040s, and other tax forms — employer/payer, recipient, wages, withholdings, box-by-box amounts — as typed JSON. Works on PDFs and scans. Per-field confidence flags. PII redaction built in. Free 2,000 pages/month.
openclaw skills install deepread-tax-formsTurn W-2s, 1099-NEC/MISC/INT/DIV, 1040s, and other tax documents into clean, typed JSON — employer/payer details, recipient info, and the box-by-box amounts — with a needs_review flag on every field so nothing wrong slips into a filing or an income calculation.
This skill instructs the agent to POST documents to
https://api.deepread.techand poll for results. No system files are modified.
{
"schema_version": "dp02",
"status": "completed",
"extraction": {
"fields": [
{"key": "form_type", "value": "W-2", "needs_review": false, "location": {"page": 1}},
{"key": "tax_year", "value": 2025, "needs_review": false, "location": {"page": 1}},
{"key": "employer_name", "value": "Acme Corp", "needs_review": false, "location": {"page": 1}},
{"key": "employer_ein", "value": "12-3456789", "needs_review": false, "location": {"page": 1}},
{"key": "employee_name", "value": "Jordan Rivera", "needs_review": false, "location": {"page": 1}},
{"key": "wages_box1", "value": 84500.00, "needs_review": false, "location": {"page": 1}},
{"key": "federal_tax_withheld_box2", "value": 12180.00, "needs_review": false, "location": {"page": 1}},
{"key": "social_security_wages_box3", "value": 84500.00, "needs_review": false, "location": {"page": 1}}
]
}
}
open "https://www.deepread.tech/dashboard/?utm_source=clawhub"
export DEEPREAD_API_KEY="sk_live_your_key_here"
No key yet? clawhub install uday390/deepread-agent-setup — your agent fetches one via OAuth device flow.
{
"type": "object",
"properties": {
"form_type": {"type": "string", "description": "Tax form type, e.g. W-2, 1099-NEC, 1040"},
"tax_year": {"type": "number", "description": "Tax year on the form"},
"employer_name": {"type": "string", "description": "Employer / payer name"},
"employer_ein": {"type": "string", "description": "Employer EIN"},
"employee_name": {"type": "string", "description": "Employee / recipient name"},
"employee_ssn_last4": {"type": ["string","null"], "description": "Last 4 of SSN only"},
"wages_box1": {"type": "number", "description": "Box 1 — wages, tips, other compensation"},
"federal_tax_withheld_box2": {"type": "number", "description": "Box 2 — federal income tax withheld"},
"social_security_wages_box3": {"type": ["number","null"], "description": "Box 3 — Social Security wages"},
"medicare_wages_box5": {"type": ["number","null"], "description": "Box 5 — Medicare wages"},
"state_wages_box16": {"type": ["number","null"], "description": "Box 16 — state wages"}
}
}
For 1099-NEC swap to payer_name, payer_tin, recipient_name, nonemployee_compensation_box1. The pattern is the same — describe each box clearly and DeepRead maps it.
curl -s -X POST https://api.deepread.tech/v1/process \
-H "X-API-Key: $DEEPREAD_API_KEY" \
-F "file=@w2.pdf" \
-F 'schema={"type":"object","properties":{"form_type":{"type":"string"},"tax_year":{"type":"number"},"employer_name":{"type":"string"},"wages_box1":{"type":"number"},"federal_tax_withheld_box2":{"type":"number"}}}'
# → {"id":"...","status":"queued"} — then GET /v1/jobs/{id}
Tax forms are dense with SSNs, EINs, and addresses. Extract only what you need (employee_ssn_last4), and redact full documents before sharing with deepread-pii:
curl -X POST https://api.deepread.tech/v1/pii/redact -H "X-API-Key: $DEEPREAD_API_KEY" -F "file=@w2.pdf"
Install: clawhub install uday390/deepread-pii
https://www.deepread.tech/dashboard/optimizer for a 20–30% accuracy lift.needs_review — only flagged boxes need a human.clawhub install uday390/deepread-ocrclawhub install uday390/deepread-pay-stubsclawhub install uday390/deepread-piiGet started free: https://www.deepread.tech/dashboard/?utm_source=clawhub