Skip to main content

Reporting API: Drive Reports

Request DoorDash Drive delivery, invoice, and sales reports through the Reporting API​

Overview​

DoorDash has added a set of Drive reports to the DoorDash Reporting API. They cover Drive delivery operations, invoiced transactions, and sales. This guide shows you how to request each report and describes the schema of each one, including column names, data types, definitions, and examples.

Before You Begin​

To have the Drive reports added to your integration, do one of the following:

  • Submit a ticket in the DoorDash Developer Portal.
  • Reach out to your DoorDash Account Manager, who can work with our team to get the reports added.

Include the report types you want to receive (for example, DRIVE_INVOICE_TRANSACTIONS) and the Business IDs they should cover in your request.

Note: Access is provisioned at the Business ID level. If your franchisees are invoiced under their own Business IDs, their data is only available to you if those Business IDs are provisioned to your account. DoorDash does not provision access to franchisees directly.

Request a Report​

The Reporting API has two endpoints and one optional webhook. The steps are the same for every Drive report. Only the report_type changes.

Step 1: Create the report​

POST https://openapi.doordash.com/dataexchange/v1/reports

Authenticate with your DoorDash Developer Portal JWT token. Set the report type in the request body. A successful request returns a 202 response with a report_id.

If both business_ids and store_ids are empty, the report covers all stores provisioned to your account. Every ID you pass must be provisioned to your account, otherwise the request returns a 403.

Sample request:

{
"business_ids": [185],
"store_ids": [],
"start_date": "2026-10-01",
"end_date": "2026-10-31",
"report_type": "DRIVE_INVOICE_TRANSACTIONS",
"report_version": 1
}

Sample response:

{
"report_id": "f2a99881-5505-448a-a341-5bfc53b7c754"
}

Valid report_type values for Drive:

Report typeDescription
DRIVE_OPS_DELIVERIESOne row per delivery with timestamps, distance, and order value
DRIVE_INVOICE_TRANSACTIONSEvery invoiced transaction, including refunds and adjustments
DRIVE_SALESOne row per delivery with order value, fees, tip, and key timestamps

Step 2: Wait for the Report Ready webhook (optional)​

DoorDash calls your webhook when report generation finishes. The status is SUCCEEDED or FAILED. For setup details and the webhook payload, see Step 2: Wait for the Report Ready webhook in the Reporting API guide. If you don't use the webhook, poll the endpoint in Step 3 about once every 2 minutes.

GET https://openapi.doordash.com/dataexchange/v1/reports/{report_id}/reportlink

This returns the status of the report and, once the status is SUCCEEDED, a download link. A PENDING status means the report is not ready, so call the endpoint again later.

  • A report can take up to 5 minutes to generate.
  • The download link is only valid for 20 seconds once it has been accessed.
  • The download is a .ZIP file containing a .CSV file.

For authentication, webhook setup, and the full API reference, see the Reporting API documentation.

When to Pull Invoice Data​

Invoice data for a month is final once DoorDash generates the invoice. This happens on business day 1 of the following month, which is not necessarily the 1st.

  • To reconcile DRIVE_INVOICE_TRANSACTIONS to your PDF invoice: wait until business day 1 of the following month, then pull the full prior month.
  • For a preliminary view: you can pull the current month at any time, but transactions in an open month can change.
  • For transaction-level detail: pull as often as you like.

Invoice Transactions​

Report type: DRIVE_INVOICE_TRANSACTIONS

This report outputs every invoiced Drive transaction, including refunds and adjustments, so that transaction detail reconciles to the monthly Drive invoice. Each row is one transaction. Charge types are shown in separate columns, and TOTAL_CHARGE is the total for the transaction.

Column NameData TypeDefinitionExample
INVOICE_PERIOD_START_DATEdateFirst day of the invoice period the transaction belongs to2026-10-01
INVOICE_PERIOD_END_DATEdateLast day of the invoice period the transaction belongs to2026-10-31
NETSUITE_ENTITY_IDnumberIdentifier of the paying entity (customer) on the invoice1234567
DELIVERY_DATEdateDate the delivery arrived2026-10-01
DOORDASH_IDnumberDoorDash delivery identifier2972037504
DELIVERY_UUIDvarcharDoorDash delivery UUID1b2c3d4e-5f60-3001-9944-aabbccddeeff
DRIVE_ORDER_IDnumberDoorDash Drive order identifier2972037504
EXTERNAL_ORDER_IDvarcharDelivery ID created by the merchant when the delivery was submitted. May contain more than one value separated by |a1b2c3d4-0000-4000-8000-000000000001|e5f6a7b8-0000-4000-8000-000000000002
BUSINESS_IDnumberDoorDash Business ID185
BUSINESS_NAMEvarcharBusiness nameMetro Pizza
EXTERNAL_STORE_IDvarcharThe merchant's store identifier123-0
STORE_NAMEvarcharStore nameMetro Pizza Main Street
STORE_ADDRESSvarcharStore pickup address123 Main St, Springfield, IL 62701, USA
IS_RETURN_DELIVERY_FLAGbooleanWhether the delivery is a return deliveryfalse
SUBTOTALnumberOrder value. On refunds, the refunded amount18.67
DRIVE_FEEnumberDelivery charge. Negative on refunds; the return fee on return deliveries5.23
DRIVE_FEE_TAXnumberTax on the Drive fee (international only; 0.00 in the US)0.00
PROMO_ADJUSTMENTnumberPromotion adjustment applied to the transaction0.00
CUSTOM_ADJUSTMENTnumberCustom adjustment applied to the transaction0.00
TRANSACTION_REQUEST_ADJUSTMENTnumberAdjustment from a transaction request0.00
DASHER_TIPnumberDasher tip2.31
AGGREGATOR_FEEnumberFee charged on behalf of an aggregator (MWP). 0 if the business is not MWP-onboarded0.00
ACCEPTANCE_RATE_FEEnumberAcceptance rate fee0.00
DASHER_REGULATORY_FEEnumberCompulsory regulatory charge (California and New York City)0.00
TOTAL_CHARGEnumberTotal charge for the transaction9.37
NOTESvarcharAdjustment details and refund reason codesNULL

Sales​

Report type: DRIVE_SALES

This report outputs one row per Drive delivery with order value, fees, tip, and key timestamps.

Column NameData TypeDefinitionExample
DELIVERY_IDnumberDoorDash delivery identifier424503196007
EXTERNAL_ORDER_IDvarcharDelivery ID created by the merchant when the delivery was submitteda1b2c3d4-0000-4000-8000-000000000001
STORE_IDnumberDoorDash Store ID24725
EXTERNAL_STORE_IDvarcharThe merchant's store identifier123-0
STORE_NAMEvarcharStore nameMetro Pizza Main Street
STORE_ADDRESSvarcharStore pickup address123 Main St, Springfield, IL 62701, USA
SUBMARKET_NAMEvarcharSubmarket the store is inSpringfield
REGION_NAMEvarcharRegion the store is inMidwest
ORDER_CREATION_TIMEtimestampTime the delivery was created2026-09-28 20:40:44
ACTUAL_PICKUP_TIMEtimestampTime the Dasher picked up the order2026-09-28 20:47:05
QUOTED_DELIVERY_TIMEtimestampDelivery time quoted at order creation2026-09-28 21:23:35
ACTUAL_DELIVERY_TIMEtimestampTime the order was delivered2026-09-28 20:58:26
CANCELLATION_TIMEtimestampTime the delivery was cancelled. Empty if not cancelledNULL
IS_REFUNDEDbooleanWhether the delivery was refundedtrue
ORDER_VALUEnumberValue of the order contents22.99
COMMISSIONnumberCommission amount0.00
ERROR_CHARGEnumberError charge on the order0.00
DRIVE_FEEnumberDelivery charge5.60
TIP_AMOUNTnumberDasher tip6.41
CURRENCYvarcharCurrency used for the transactionUSD
COUNTRY_CODEvarcharCountry of the deliveryUS
ACTIVE_DATEdateDate of the delivery2026-09-28

Ops Deliveries​

Report type: DRIVE_OPS_DELIVERIES

This report outputs one row per Drive delivery with raw delivery timestamps, distance, and order value so that you can calculate your own delivery metrics. Derived time columns are provided in minutes.

Column NameData TypeDefinitionExample
DELIVERY_IDnumberDoorDash delivery identifier204647307304
EXTERNAL_ORDER_IDvarcharDelivery ID created by the merchant when the delivery was submitted. May contain more than one value separated by |a1b2c3d4-0000-4000-8000-000000000001|e5f6a7b8-0000-4000-8000-000000000002
STORE_IDnumberDoorDash Store ID24725
EXTERNAL_STORE_IDvarcharThe merchant's store identifier123-0
STORE_NAMEvarcharStore nameMetro Pizza (123 Main Street)
STORE_ADDRESSvarcharStore pickup address123 Main St, Springfield, IL 62701, USA
SUBMARKET_NAMEvarcharSubmarket the store is inSpringfield
REGION_NAMEvarcharRegion the store is inMidwest
ORDER_TYPEvarcharASAP or ScheduledASAP
IS_CANCELLEDbooleanWhether the delivery was cancelledfalse
CANCELLATION_REASONvarcharReason the delivery was cancelled. Empty if not cancelledNULL
ORDER_CREATION_TIMEtimestampTime the delivery was created2026-09-28 05:25:22
ACTUAL_PICKUP_TIMEtimestampTime the Dasher picked up the order. Empty if never picked up2026-09-28 05:47:53
QUOTED_PICKUP_TIMEtimestampPickup time quoted at order creation2026-09-28 05:39:04
QUOTED_DELIVERY_TIMEtimestampDelivery time quoted at order creation2026-09-28 05:55:49
ACTUAL_DELIVERY_TIMEtimestampTime the order was delivered. Empty if not delivered2026-09-28 06:05:19
ROAD_MILESnumberRoad distance from the store to the customer, in miles1.661
ORDER_VALUEnumberValue of the order contents17.19
TIP_AMOUNTnumberDasher tip5.00
CURRENCYvarcharCurrency used for the transactionUSD
COUNTRY_CODEvarcharCountry of the deliveryUS
TOTAL_DELIVERY_TIME_MINnumberMinutes from order creation to actual delivery39.950
PICKUP_TO_CUSTOMER_TIME_MINnumberMinutes from pickup to delivery17.400
ADJUSTED_DASHER_WAIT_TIME_MINnumberMinutes the Dasher waited at the store, adjusted for avoidable wait8.817
ACTIVE_DATEdateDate of the delivery2026-09-28

Next Steps​

Was this page helpful?