DoorDash - Dasher icon

DoorDash Dasher Data API

DoorDash · Food Delivery

DoorDash - Dasher is the courier app that DoorDash, the San Francisco-based delivery company, gives to its independent delivery drivers, known as Dashers, in the United States. From the home screen a Dasher goes online in their local market, receives and accepts delivery offers, sees the store and estimated pickup time for each order, navigates to the restaurant for pickup and on to the customer's drop-off, and also handles shop-and-deliver orders where the items are picked in store first. After each drop-off the app shows that order's pay including the customer tip, and when a dash ends the Dash Earnings Summary screen lays out active time versus total dash time, offers received and deliveries completed, with base pay, tips and promotions itemized. In many markets Dashers can choose between earning per offer and earning by time. The earnings tab carries downloadable weekly and yearly earnings receipts for U.S. 1099 tax filing, and Fast Pay lets a Dasher cash out the same day to a debit card or the Dasher Direct card instead of waiting for the weekly deposit; the account screens show the Dasher's market, rewards tier and lifetime delivery count. It runs the courier side of DoorDash's U.S. restaurant, grocery and convenience delivery marketplace, and the gig workers who use it often run it alongside courier apps such as Uber Eats, Grubhub, Instacart, Walmart's Spark Driver and Amazon Flex.

Dash earnings close out as an itemized pay record: start_time and end_time, active_time set against dash_time, counts of offers, deliveries and tasks, and nested pay_line_items and offer_line_items that split base pay, tips and promotions up to a total_pay_line_item, tagged with the earnings_mode the Dasher worked under. Every order inside that dash carries its own delivery leg: pickup_business_name and store, a pickup_address and delivery_address with coordinates, estimated_pickup_time and quoted_delivery_time, the consumer, item_count, cart items and subtotal_monetary_fields, an is_shop_and_deliver flag, and a dasher_pay_details block that resolves after drop-off into actual_pay, base_pay, tip_amount_monetary_fields, cash_on_delivery and an is_post_tippable flag for tips added later.

Around those pay records sits the courier's account and money trail: profile identity such as preferred_name, email and phone_number_components; placement through market_id and submarket; standing through rewards_tier, earnings_model, lifetime_num_deliveries_made and account status; the linked payment_account; earnings receipts keyed by agg_type (weekly or yearly), compliance_code and agg_start_date that come back as a pdf; and Fast Pay cash-outs recorded by payout_method_type.

Together that is a gig courier's own working ledger. Bookkeeping bots split base_pay, tip_amount_monetary_fields and promo line items per shift and per order into a Dasher's personal books; cash-flow tools tell an instant Fast Pay cash-out apart from the weekly deposit to payment_account; tax-prep tools archive the weekly or yearly U.S. 1099 receipt PDFs next to lifetime_num_deliveries_made for year-end packs; and fleet dashboards overlay in-progress DoorDash drops (pickup store, address and quoted_delivery_time) without scraping the courier UI. openData Studio turns this Dasher pay and delivery data into callable open data for exactly those integrations.

Screenshots

  • DoorDash - Dasher screenshot 1
  • DoorDash - Dasher screenshot 2
  • DoorDash - Dasher screenshot 3
  • DoorDash - Dasher screenshot 4
  • DoorDash - Dasher screenshot 5
  • DoorDash - Dasher screenshot 6
  • DoorDash - Dasher screenshot 7

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Dasher profile (me)

    GET /v1/courier/profile osint

    Reads the signed-in courier's identity, market, rewards tier, lifetime delivery count and account status that drive the Dasher home and account screens.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • id
    • first_name
    • last_name
    • preferred_name
    • email
    • phone_number_components
    • country_shortname
    • default_starting_point_id
    • market_id
    • submarket
    • rewards_tier
    • earnings_model
    • lifetime_num_deliveries_made
    • is_active
    • is_deactivated
    • status
    • user_id
    • payment_account
    GET /v1/courier/profile HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "id": "123456789",
      "first_name": "Jordan",
      "last_name": "Lee",
      "preferred_name": "Jordan",
      "email": "[email protected]",
      "phone_number_components": {"country_code": 1, "national_number": "4155550199"},
      "country_shortname": "US",
      "default_starting_point_id": 88421,
      "market_id": 8,
      "submarket": {"id": 2104, "name": "San Francisco"},
      "rewards_tier": "platinum",
      "earnings_model": "offer",
      "lifetime_num_deliveries_made": 1842,
      "is_active": true,
      "is_deactivated": false,
      "status": "active",
      "user_id": "u_9b0e12f4",
      "payment_account": "acct_1Ndash"
    }
  • Active delivery

    GET /v2/orders/{order_id} opendata

    Returns the assigned delivery — store, pickup/dropoff addresses, consumer, cart items and nested dasher_pay_details — that powers the in-progress order screen.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • delivery_uuid
    • estimated_pickup_time
    • quoted_delivery_time
    • is_ready_for_pickup
    • pickup_business_name
    • store
    • pickup_address
    • delivery_address
    • consumer
    • item_count
    • items
    • subtotal_monetary_fields
    • order_reference
    • is_shop_and_deliver
    • dasher_pay_details
    • show_pay_summary
    GET /v2/orders/ord_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "delivery_uuid": "ord_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "estimated_pickup_time": "2026-09-24T18:12:00Z",
      "quoted_delivery_time": "2026-09-24T18:41:00Z",
      "is_ready_for_pickup": true,
      "pickup_business_name": "Sunrise Bagels",
      "store": {"id": "st_44102", "name": "Sunrise Bagels", "phone_number": "+14155550100"},
      "pickup_address": {"printable_address": "450 Mission St, San Francisco, CA 94105", "lat": 37.7902, "lng": -122.3971},
      "delivery_address": {"printable_address": "1 Market St, San Francisco, CA 94105", "lat": 37.7936, "lng": -122.3942},
      "consumer": {"first_name": "Alex", "id": "cx_77a1"},
      "item_count": 3,
      "items": [{"name": "Everything bagel", "quantity": 2}],
      "subtotal_monetary_fields": {"currency": "USD", "display_string": "$18.40", "unit_amount": 1840, "decimal_places": 2, "symbol": "$"},
      "order_reference": "DD-884211",
      "is_shop_and_deliver": false,
      "dasher_pay_details": {
        "actual_pay": 925,
        "actual_pay_monetary_fields": {"currency": "USD", "display_string": "$9.25", "unit_amount": 925, "decimal_places": 2, "symbol": "$"},
        "base_pay": 625,
        "base_pay_monetary_fields": {"currency": "USD", "display_string": "$6.25", "unit_amount": 625, "decimal_places": 2, "symbol": "$"},
        "tip_amount_monetary_fields": {"currency": "USD", "display_string": "$3.00", "unit_amount": 300, "decimal_places": 2, "symbol": "$"},
        "actual_pay_may_change": true
      },
      "show_pay_summary": true
    }
  • Delivery pay summary

    GET /v2/orders/{order_id}/earnings openfinance

    Returns the post-dropoff pay breakdown for one delivery — actual pay, base pay, tip, cash-on-delivery and post-tip eligibility — shown on the order pay-summary screen.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • delivery_uuid
    • dasher_pay_details
    • actual_pay
    • actual_pay_monetary_fields
    • base_pay
    • base_pay_monetary_fields
    • tip_amount_monetary_fields
    • is_post_tippable
    • cash_on_delivery
    • cash_on_delivery_monetary_fields
    • pickup_address
    • store
    • earnings_type
    GET /v2/orders/ord_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234/earnings HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "delivery_uuid": "ord_8f21c0a4-9b11-4e02-a1c3-77d4e8b01234",
      "dasher_pay_details": {
        "actual_pay": 1125,
        "actual_pay_monetary_fields": {"currency": "USD", "display_string": "$11.25", "unit_amount": 1125, "decimal_places": 2, "symbol": "$"},
        "base_pay": 725,
        "base_pay_monetary_fields": {"currency": "USD", "display_string": "$7.25", "unit_amount": 725, "decimal_places": 2, "symbol": "$"},
        "tip_amount_monetary_fields": {"currency": "USD", "display_string": "$4.00", "unit_amount": 400, "decimal_places": 2, "symbol": "$"},
        "doordash_contribution_amount_monetary_fields": {"currency": "USD", "display_string": "$0.00", "unit_amount": 0, "decimal_places": 2, "symbol": "$"},
        "actual_pay_may_change": false,
        "is_base_pay_external": false
      },
      "is_post_tipping_ever_eligible": true,
      "is_post_tippable": true,
      "is_pre_tippable": false,
      "cash_on_delivery": 0,
      "cash_on_delivery_monetary_fields": {"currency": "USD", "display_string": "$0.00", "unit_amount": 0, "decimal_places": 2, "symbol": "$"},
      "pickup_address": {"printable_address": "450 Mission St, San Francisco, CA 94105"},
      "store": {"name": "Sunrise Bagels"},
      "earnings_type": "offer",
      "pay_details_version": 2
    }
  • Dash earnings summary

    GET /v1/shifts/{shift_id}/summary openfinance

    Returns the earnings breakdown for a finished dash — active vs dash time, offer/delivery counts and nested pay_line_items (base pay, tips, promos) shown on Dash Earnings Summary.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • start_time
    • end_time
    • active_time
    • active_time_display_string
    • dash_time
    • dash_time_display_string
    • offers
    • deliveries
    • tasks
    • pay_line_items
    • offer_line_items
    • earnings_mode
    • total_pay_line_item
    • final_monetary_fields
    • final_display_string
    GET /v1/shifts/shift_44102881/summary HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "start_time": "2026-09-24T16:02:11Z",
      "end_time": "2026-09-24T20:18:44Z",
      "active_time": 148,
      "active_time_display_string": "2 hr 28 min",
      "dash_time": 256,
      "dash_time_display_string": "4 hr 16 min",
      "offers": 11,
      "deliveries": 9,
      "tasks": 9,
      "pay_line_items": [
        {
          "type": "total",
          "style": "header",
          "name": "Total pay",
          "description": "Includes base pay, tips and promotions",
          "final_display_string": "$86.40",
          "final_monetary_fields": {"currency": "USD", "display_string": "$86.40", "unit_amount": 8640, "decimal_places": 2, "symbol": "$"},
          "pay_line_items": [
            {"type": "base_pay", "name": "Base pay", "final_display_string": "$52.15"},
            {"type": "tip", "name": "Customer tips", "final_display_string": "$28.00"},
            {"type": "promo", "name": "Peak pay", "final_display_string": "$6.25"}
          ]
        }
      ],
      "offer_line_items": [],
      "earnings_mode": {"mode": "offer"},
      "total_pay_line_item": {"type": "total", "name": "Total pay", "final_display_string": "$86.40"}
    }
  • Dasher earnings receipt PDF

    GET /v1/earnings/receipt openfinance

    Downloads a base64 earnings/tax receipt PDF for a Dasher, keyed by aggregation type, compliance code and period start — the records download used for 1099-style reporting.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • agg_type
    • compliance_code
    • agg_start_date
    • pdf
    GET /v1/earnings/receipt?agg_type=WEEKLY&compliance_code=US_1099&agg_start_date=2026-09-15 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "pdf": "JVBERi0xLjcKJcTl8uXrp/Og0MTGCjEgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDIgMCBSPj4KZW5kb2JqCg=="
    }
  • Fast Pay cash-out submit

    POST /v1/payouts/instant openfinance

    Submits an instant Fast Pay cash-out to the courier's chosen payout method (debit card or Dasher Direct) and may return an upsell banner.

    Auth: Bearer access token (Authorization: Bearer) issued at courier sign-in

    • payout_method_type
    • upsell
    POST /v1/payouts/instant HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "payout_method_type": "DEBIT_CARD"
    }
    {
      "upsell": {
        "title": "Try Dasher Direct",
        "body": "Get Fast Pay with no extra fee when you cash out to Dasher Direct.",
        "cta": "Learn more"
      }
    }

Data categories

  • dasher profile
  • deliveries
  • earnings
  • payouts
  • tax receipts

Where teams use this data

  • Courier pay ledger

    Pull /v1/shifts/{shift_id}/summary after each shift and /v2/orders/{order_id}/earnings per order so a bookkeeping bot can split base_pay, tip_amount_monetary_fields and promo line items into a Dasher's personal ledger.

  • Instant cash-out vs weekly settlement

    Watch POST /v1/payouts/instant alongside the payout-hub mosaic so a cash-flow tool knows when a Dasher instant-cashed out versus waiting for the weekly deposit on payment_account.

  • 1099 packet assembly

    Call /v1/earnings/receipt with agg_type=WEEKLY or YEARLY and compliance_code=US_1099, then archive the returned pdf next to lifetime_num_deliveries_made from /v1/courier/profile for year-end tax packs.

  • Active-order ops overlay

    Subscribe to /v2/orders/{order_id} for pickup_address, store, quoted_delivery_time and dasher_pay_details so a fleet dashboard can overlay in-progress DoorDash drops without scraping the courier UI.

Frequently asked questions

What earnings data does the Dasher app expose?

Per order, /v2/orders/{order_id}/earnings returns dasher_pay_details with actual_pay, base_pay and tip_amount_monetary_fields. Per dash, /v1/shifts/{shift_id}/summary returns start_time, active_time, deliveries and nested pay_line_items.

How does Fast Pay cash-out work in the Dasher app?

The cash-out screen posts payout_method_type (for example DEBIT_CARD) to /v1/payouts/instant. The response may include an upsell object promoting Dasher Direct.

Can I download a Dasher pay receipt?

Yes. /v1/earnings/receipt takes agg_type, compliance_code and agg_start_date and returns a base64 pdf used for weekly or 1099-style records.

Which profile fields identify a Dasher?

GET /v1/courier/profile returns id, first_name, last_name, email, phone_number_components, country_shortname, market_id, rewards_tier, lifetime_num_deliveries_made, status and user_id.

Apps similar to DoorDash - Dasher

  • Uber Eats — Uber Eats is a restaurant meal-delivery courier app that drivers often run alongside DoorDash, with bike and scooter options in some cities.
  • Grubhub — Grubhub is a U.S. restaurant-delivery platform that drivers use for extra order volume next to DoorDash and Uber Eats.
  • Instacart — Instacart combines in-store grocery shopping with customer delivery, a different workflow from restaurant drop-offs.
  • Spark Driver — Spark Driver is Walmart's courier app for grocery and general-merchandise deliveries from local Walmart stores.
  • Amazon Flex — Amazon Flex assigns reserved time blocks for delivering Amazon packages and grocery orders.
  • Shipt — Shipt is a grocery shopping and delivery app, often used for Target orders, with a membership-based customer base.
  • Roadie — Roadie is a same-day courier app for packages and larger items rather than restaurant meals.
  • Gopuff — Gopuff couriers pick up convenience orders from the company's own micro-fulfillment locations.

Topics

  • DoorDash Dasher API
  • Dasher pay summary
  • DoorDash courier earnings
  • Fast Pay cash-out
  • Dasher earnings receipt
  • courier pay_line_items

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote