DoorDash - Dasher icon

DoorDash Dasher Data API

DoorDash · Food Delivery

DoorDash - Dasher is the courier app behind DoorDash deliveries. The data API that feeds its earnings and order screens includes /v2/orders/{order_id}/earnings for per-order actual_pay and tips, /v1/shifts/{shift_id}/summary for a finished dash's pay_line_items, plus Fast Pay cash-out and an earnings receipt PDF.

DoorDash - Dasher is the courier companion for DoorDash drivers: go online, accept offers, pick up and drop off orders, and cash out earnings. Behind those screens the app talks to a courier data API over Retrofit/OkHttp with Moshi models — a courier profile with identity, market and rewards tier, an active-order object with store, consumer and pay details, a per-order pay summary, a shift-level earnings breakdown with pay_line_items, an earnings tax receipt PDF, and Fast Pay cash-out.

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

  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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"
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the courier home and account profile flow
    • field set mirrors the profile model rendered across the account screens
  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the in-progress order screen flow
    • field set mirrors the order detail model behind the active delivery map
  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the post-dropoff order pay-summary screen
    • field set matches the per-order earnings breakdown shown to couriers
  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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"}
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the end-of-dash earnings summary screen
    • nested line-item shape matches the base/tip/promo breakdown shown to couriers
  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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=="
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the earnings records download flow
    • query keys mirror the period and compliance pickers on the tax documents screen
  • 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

    Illustrative example reconstructed from the app's interface — not a live capture.

    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"
      }
    }

    Derived from the app's interface; endpoint details are illustrative, not a live capture.

    • reconstructed from the instant cash-out confirmation flow
    • response shape matches the upsell banner shown after a cash-out submit

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.

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.

Get a quote