Retrieve DAC7 and MRDP recipient copies

Get each reportable seller's annual recipient copy, to show in your app or to review in the Taxbit Dashboard.

Step 3 of MRDP & DAC7 Reporting. Taxbit generates an annual recipient copy for each reportable seller. There are two ways to reach them: the API, to show them in your app, and the Taxbit Dashboard, to review them yourself.

Tax documentation is what an account owner gives you, such as Form W-9, Form W-8, or a self-certification. Tax forms and recipient copies are what Taxbit generates for an account, such as a 1099 or a DAC7 copy.

Before you begin

List the seller's copies

Request the account's documents by your identifier for the account, with GET /v1/accounts/{id}/tax-documents.

curl $BASE_URL/v1/accounts/acct_6b8d2f14/tax-documents \
  -H "Authorization: Bearer $TOKEN"
[
  {
    "id": "5c0e8f3a-71d2-4b9e-a6c4-2f9d8e1b7a05",
    "type": "DAC7",
    "year": 2025,
    "revision": 1,
    "revision_type": "ORIGINAL",
    "is_filed": true,
    "created_date": "2026-01-28T09:15:32.000Z",
    "url": "https://…"
  }
]

The response is an array with the latest revision of each document type and year. The endpoint has no type filter, so pick out the entries whose type is DAC7; the account can also carry other document types, which the reference lists. For a DAC7 copy, is_filed says whether the final deliverable, the DAC7 XML, has been created.

Give the seller a download link

Each entry's url downloads that copy. The URL expires 10 minutes after the request by default. To give it longer, pass url_expiration_time in seconds, up to one hour.

curl "$BASE_URL/v1/accounts/acct_6b8d2f14/tax-documents?url_expiration_time=3600" \
  -H "Authorization: Bearer $TOKEN"

Because every URL expires, request the list when the seller opens their copies in your app instead of storing the URLs. The URL points into Taxbit's document storage and its host isn't part of the API contract, so don't hard-code or allowlist it.

Find corrections and earlier revisions

A corrected or voided copy is a new revision, with its own revision number and a revision_type of CORRECTION or VOID; the first version is ORIGINAL. The default response carries only the latest revision. To list every revision, pass include_historical=true.

curl "$BASE_URL/v1/accounts/acct_6b8d2f14/tax-documents?include_historical=true" \
  -H "Authorization: Bearer $TOKEN"

Find copies in the Dashboard

In the Taxbit Dashboard, open the account. Its Tax Forms tab lists every generated form by tax year. The Forms page lists all generated forms for a tax year and downloads the whole set.

If the request fails

  • 400. The request is invalid, for example a malformed query parameter. Fix it and resend.
  • 401. The bearer token is missing, invalid, or expired. Request a new one and retry.
  • 429. Too many requests. Slow down and retry.

The Errors and rate limits page has every error shape, the rate limits, and which calls are safe to retry.

Parameters

The full reference has the complete response schema.

ParameterInTypeRequiredDescription
idpathstringRequiredYour system's identifier for the seller's account.
url_expiration_timequerystringOptionalHow long each download URL stays valid, in seconds. Default: 600. Maximum: 3600.
include_historicalquerybooleanOptionalReturn every revision of each document, not only the latest.

Where to go next

To hear when a copy is generated, filed, or deleted instead of polling, subscribe to the FORM_STATUS_UPDATE webhook, whose form_type includes DAC7. For US forms, see Retrieve US tax forms.