Forms / IRS
Fill Form 4506-T programmatically
Form 4506-T — Request for Transcript of Tax Return. Official IRS PDF, 2 pages, 28 fields read automatically.
Outside the IVES pipeline — benefits verification, audit support, legal discovery — transcript requests still run on the 4506-T, and they fail for clerical reasons: a name that doesn't match the return, a stale signature, the wrong transcript box ticked. Systems that need transcripts at any volume need the form produced consistently, not improvised per request.
What you send
Real field names, straight from the PDF — the excerpt shows the first 5 of 28. The full list is in the table below, and the template hands you the complete JSON schema to copy.
{
"data": {
"topmostSubform[0].Page1[0].f1_1[0]": "string",
"topmostSubform[0].Page1[0].f1_2[0]": "string",
"topmostSubform[0].Page1[0].f1_3[0]": "string",
"topmostSubform[0].Page1[0].f1_4[0]": "string",
"topmostSubform[0].Page1[0].f1_5[0]": "string"
}
}
// …plus 23 more fields, all listed belowWhat you get back
The completed Form 4506-T, streamed back as the response — or delivered to your webhook, HMAC-signed.
curl -X POST https://www.doc2api.co/api/v1/templates/<ID>/fill \ -H "X-Api-Key: d2a_live_…" \ -H "Content-Type: application/json" \ -d @payload.json -o filled.pdf # → the completed Form 4506-T as a PDF. # With a webhook configured, the reply is JSON and the # document arrives at your endpoint as a signed URL.
Or skip the mapping entirely: embed the actual form on your site and let the person it belongs to fill and sign it — you receive the values as JSON and the finished PDF.
Every field on Form 4506-T
Extracted automatically from the official PDF — this table is generated by the same code that reads your uploads. In the editor, each of these is highlighted on the page itself, so you never map a name blind.
| Field name | Type | Notes |
|---|---|---|
| topmostSubform[0].Page1[0].f1_1[0] | text | |
| topmostSubform[0].Page1[0].f1_2[0] | text | max 11 chars |
| topmostSubform[0].Page1[0].f1_3[0] | text | |
| topmostSubform[0].Page1[0].f1_4[0] | text | max 11 chars |
| topmostSubform[0].Page1[0].f1_5[0] | text | |
| topmostSubform[0].Page1[0].f1_6[0] | text | |
| topmostSubform[0].Page1[0].customer_file_number[0] | text | max 10 chars |
| topmostSubform[0].Page1[0].f1_8[0] | text | |
| topmostSubform[0].Page1[0].c1_1[0] | checkbox | |
| topmostSubform[0].Page1[0].c1_1[1] | checkbox | |
| topmostSubform[0].Page1[0].c1_1[2] | checkbox | |
| topmostSubform[0].Page1[0].c1_1[3] | checkbox | |
| topmostSubform[0].Page1[0].c1_1[4] | checkbox | |
| topmostSubform[0].Page1[0].c1_6[0] | checkbox | |
| topmostSubform[0].Page1[0].f1_13[0] | text | |
| topmostSubform[0].Page1[0].f1_14[0] | text | |
| topmostSubform[0].Page1[0].f1_15[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_16[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_17[0] | text | max 4 chars |
| topmostSubform[0].Page1[0].f1_18[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_19[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_20[0] | text | max 4 chars |
| topmostSubform[0].Page1[0].f1_21[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_22[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_23[0] | text | max 4 chars |
| topmostSubform[0].Page1[0].f1_24[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_25[0] | text | max 2 chars |
| topmostSubform[0].Page1[0].f1_26[0] | text | max 4 chars |
A signature with an expiry date
The IRS rejects a 4506-T signed more than 120 days before it's processed, which makes the signature date a business rule, not just a field. Collecting the signature through the embed at the moment of request — rather than holding pre-signed stock — means the date is always fresh, and a validation on it catches the stale ones that slip through anyway.
Questions people ask
- 4506-T or 4506-C?
- Same job, different doors: IVES participants must use the 4506-C (we have a page for it); the 4506-T is the direct-to-IRS request used outside IVES. If you're not an IVES participant, this is your form.
- Which transcript types can it request?
- The form's own checkboxes cover return transcripts, account transcripts, records of account and information-return series — they're ordinary fields in the schema, so your system picks per request.
See your Form 4506-T pipeline working in the next five minutes
The button uploads the official PDF into the editor as a live template with an API key — no account, nothing to cancel. Trial documents are watermarked and kept for 24 hours; sign up to keep your work.
Doc2api is not affiliated with the Internal Revenue Service. Form 4506-T is a public government work; the copy here is the official revision, refreshed from irs.gov. Nothing on this page is tax or legal advice — how a completed form may be signed, filed or retained is defined by the issuing agency.