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

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.

Ship 1040 parsing today

Free API key. 3 free 1040 returns. Full API access on every plan.