1040 Parser API
Extract structured data from 1040 returns with a single POST request. Built for tax preparers and mortgage lenders who want to automate, not click. Upload a file as multipart form data and receive JSON.
Quick start
cURL
curl -X POST https://1040parser.com/api/extract \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@1040.pdf"
Python
import requests
with open("1040.pdf", "rb") as source:
response = requests.post(
"https://1040parser.com/api/extract",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"file": source},
timeout=120,
)
response.raise_for_status()
result = response.json()
if not result.get("success"):
raise RuntimeError(result.get("error", "Extraction failed"))
if result.get("needsReview") or result.get("ocrWarning"):
print("Review required:", result.get("needsReview"), result.get("ocrWarning"))
print(result["data"]) # Validate required fields before using them.Node.js
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("file", new Blob([await readFile("1040.pdf")]), "1040.pdf");
const response = await fetch("https://1040parser.com/api/extract", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: form,
signal: AbortSignal.timeout(120000),
});
if (!response.ok) throw new Error(`Extraction HTTP ${response.status}`);
const result = await response.json();
if (!result.success) throw new Error(result.error || "Extraction failed");
if (result.needsReview?.length || result.ocrWarning) {
console.warn("Review required:", result.needsReview, result.ocrWarning);
}
console.log(result.data); // Validate required fields before using them.The snippets use Python with requests or Node.js 20+ in an ES module. They surface errors and review flags; they do not automatically approve data. Keep API keys on your server, and do not blindly retry a timed-out extraction. Use the document-specific example and review checklist.
Fields returned
- ✓Filing status
- ✓Taxpayer name
- ✓Total income (Line 9)
- ✓Adjusted gross income (Line 11)
- ✓Taxable income
- ✓Total tax
- ✓Refund or amount owed
Per-document pricing
No per-page billing. No enterprise minimums.
Confidence signals
Returned configured fields include confidence values to help prioritize review.
Batch & async
Submit many 1040 returns and poll for results.
FAQ
Is there a 1040 parsing API?
Yes. 1040 Parser exposes a REST endpoint — POST a 1040 file to /api/extract with your API key and receive structured JSON. No SDK required; it is a standard multipart upload.
How is the 1040 API priced?
By document, not per page. Free includes 3 1040 returns; paid plans run from $9/mo (20 docs) to $199/mo (1,000 docs) with full API access on every tier. No per-page surprises and no enterprise minimums.
What does the API return?
A JSON object with the extracted fields (Filing status, Taxpayer name, Total income (Line 9), and more) and available confidence signals, needsReview flags, and OCR warnings. Review the output before using the dashboard export workflow.
How do I get an API key?
Sign up (free, no credit card), open your dashboard, and copy your key. You can start calling the API within a minute.
Can I process 1040 returns in batch?
Yes. Use the batch and async endpoints to submit many 1040 returns at once and poll for results — ideal for high-volume automation.