Lyft Driver icon

Lyft Driver partner data API

Lyft, Inc. · Transport

Lyft Driver is the partner-facing half of Lyft's US rideshare network: drivers use it to go online, receive upfront ride offers, navigate pickups and drop-offs, and watch earnings accumulate across the week. It is the primary work tool for Lyft drivers, covering dispatch, ratings, incentives and the money side of the gig.

As a data source, the app exposes the full driver-financial loop. The wallet surface returns available_balance and instant-payout eligibility, earnings rollups break out gross_earnings, net_earnings and tip_amount, cash-outs are keyed by payout_transaction_id, and each accepted offer carries a min_estimated_earnings / max_estimated_earnings band. Payroll services, bookkeeping bots and gig-finance dashboards build on these fields to reconcile earnings, tips and instant payouts per driver per week.

Lyft Driver is Lyft, Inc.'s partner app for going online, accepting upfront ride offers, tracking earnings and cashing out in the US rideshare market. Behind its map, earnings and wallet screens sits a rich driver dataset: a session-token sign-in, a profile card with driver_id and driver_rating, a wallet balance with available_balance, gross and net earnings rollups with tip_amount, instant cash-outs keyed by payout_transaction_id, and a weekly payout history. That data serves payroll, bookkeeping and driver-finance tools that reconcile earnings, tips and instant payouts for gig drivers.

Screenshots

  • Lyft Driver screenshot 1
  • Lyft Driver screenshot 2
  • Lyft Driver screenshot 3
  • Lyft Driver screenshot 4
  • Lyft Driver screenshot 5
  • Lyft Driver screenshot 6

API surface

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

  • OAuth2 access token

    POST /v1/auth/driver-session osint

    Mints the driver session used by every later pay, earnings, ride and payout call: access_token, refresh_token, token_type, expires_in and lyft_user_id. Phone, recovery-code and passkey grant types are supported.

    Auth: None (issues tokens). Subsequent calls send Authorization: Bearer access_token plus region headers.

    • grant_type
    • phone_number
    • client_id
    • access_token
    • refresh_token
    • token_type
    • expires_in
    • user_id
    • lyft_user_id
    POST /v1/auth/driver-session HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=phone&phone_number=%2B14155550199&client_id=driver-app
    {
      "access_token": "eyJhbGciOi...",
      "refresh_token": "d8f1c2a9...",
      "token_type": "Bearer",
      "expires_in": 2592000,
      "user_id": "123456789",
      "lyft_user_id": "123456789"
    }
    • reconstructed from the phone sign-in and session bootstrap flow
    • token fields mirror the credentials carried by every authenticated screen
  • Driver info

    GET /v1/partner/profile osint

    Loads the signed-in driver card: driver_id, name, phone, driver_rating, deactivation status and the currently paired vehicle_id that the home map and earnings screens hang on.

    Auth: Bearer access token from the session sign-in call, plus region headers

    • driver_id
    • lyft_user_id
    • first_name
    • last_name
    • phone_number
    • driver_rating
    • overall_rating
    • current_deactivation_status
    • vehicle_id
    GET /v1/partner/profile HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "driver_id": "d_9b0e12f4",
      "lyft_user_id": "123456789",
      "first_name": "Alex",
      "last_name": "Rivera",
      "phone_number": "+14155550199",
      "driver_rating": 4.92,
      "overall_rating": 4.92,
      "current_deactivation_status": "NONE",
      "vehicle_id": "veh_7c81f0e2"
    }
    • reconstructed from the home-map driver card and account header flow
  • Driver pay balance

    GET /v1/partner-wallet/balance openbanking

    Reads the cash-out wallet behind the earnings bar: available_balance as Money (amount, currency, exponent), whether instant payout is enabled, daily cashout cap and the next weekly payout timestamp.

    Auth: Bearer access token from the session sign-in call

    • available_balance
    • availableBalance
    • amount
    • currency
    • exponent
    • instant_payout_enabled
    • max_payouts_per_day
    • next_payout_timestamp
    • lyftDirectEnabled
    GET /v1/partner-wallet/balance HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "available_balance": {
        "amount": 18450,
        "currency": "USD",
        "exponent": 2
      },
      "availableBalance": 184.50,
      "instant_payout_enabled": true,
      "max_payouts_per_day": 5,
      "next_payout_timestamp": 1759276800000,
      "lyftDirectEnabled": true
    }
    • reconstructed from the earnings-bar wallet and cash-out sheet flow
  • Earnings summary

    GET /v1/earnings/overview openfinance

    Returns the period earnings rollup shown on the earnings home: gross_earnings, net_earnings, tip_amount, estimated_earnings and ride_payout_total_amount as Money objects.

    Auth: Bearer access token from the session sign-in call

    • gross_earnings
    • net_earnings
    • tip_amount
    • estimated_earnings
    • ride_payout_total_amount
    • amount
    • currency
    • exponent
    GET /v1/earnings/overview HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "gross_earnings": {"amount": 94200, "currency": "USD", "exponent": 2},
      "net_earnings": {"amount": 78150, "currency": "USD", "exponent": 2},
      "tip_amount": {"amount": 6300, "currency": "USD", "exponent": 2},
      "estimated_earnings": {"amount": 12000, "currency": "USD", "exponent": 2},
      "ride_payout_total_amount": {"amount": 71850, "currency": "USD", "exponent": 2}
    }
    • reconstructed from the earnings home rollup
  • Driver earnings activity

    GET /v1/earnings/trip-feed openfinance

    Pages the per-ride activity feed on the earnings screen: ride_id, route_id, gross_earnings, tip_amount and payout_total per completed trip.

    Auth: Bearer access token from the session sign-in call

    • ride_id
    • route_id
    • gross_earnings
    • tip_amount
    • payout_total
    • payout_type
    GET /v1/earnings/trip-feed HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "sections": [
        {
          "ride_id": "rid_4e91aa12",
          "route_id": "rte_8c22b1d0",
          "gross_earnings": {"amount": 1850, "currency": "USD", "exponent": 2},
          "tip_amount": {"amount": 400, "currency": "USD", "exponent": 2},
          "payout_total": {"amount": 2250, "currency": "USD", "exponent": 2},
          "payout_type": "express_pay"
        }
      ]
    }
    • reconstructed from the per-ride activity feed on the earnings screen
  • Earnings dashboard history

    GET /v1/earnings/dashboard openfinance

    Loads the earnings dashboard history tab: Balance (available_balance), Stats (gross/net) and Modules that drive the weekly chart and cash-out CTA.

    Auth: Bearer access token from the session sign-in call

    • balance
    • available_balance
    • stats
    • gross_earnings
    • net_earnings
    • modules
    GET /v1/earnings/dashboard HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "balance": {
        "available_balance": {"amount": 18450, "currency": "USD", "exponent": 2}
      },
      "stats": {
        "gross_earnings": {"amount": 94200, "currency": "USD", "exponent": 2},
        "net_earnings": {"amount": 78150, "currency": "USD", "exponent": 2}
      },
      "modules": []
    }
    • reconstructed from the earnings dashboard history tab
  • Weekly earnings breakdown

    GET /v1/earnings/weekly openfinance

    Returns the week-by-week earnings breakdown: payout_period_ms, gross/net, tips and weekly_payout behind the weekly-breakdown CTA.

    Auth: Bearer access token from the session sign-in call

    • payout_period_ms
    • gross_earnings
    • net_earnings
    • tip_amount
    • weekly_payout
    GET /v1/earnings/weekly HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "stats": [
        {
          "payout_period_ms": 1758672000000,
          "gross_earnings": {"amount": 94200, "currency": "USD", "exponent": 2},
          "net_earnings": {"amount": 78150, "currency": "USD", "exponent": 2},
          "tip_amount": {"amount": 6300, "currency": "USD", "exponent": 2},
          "weekly_payout": {"amount": 78150, "currency": "USD", "exponent": 2}
        }
      ]
    }
    • reconstructed from the weekly earnings chart and breakdown CTA flow
  • Payout eligibility

    GET /v1/payouts/eligibility openbanking

    Checks whether instant cashout is allowed right now and returns the eligible line_items, available_balance and daily cap that the cash-out sheet renders.

    Auth: Bearer access token from the session sign-in call

    • instant_payout_enabled
    • available_balance
    • max_payouts_per_day
    • line_items
    • payout_type
    • amount
    • currency
    GET /v1/payouts/eligibility HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "instant_payout_enabled": true,
      "available_balance": {"amount": 18450, "currency": "USD", "exponent": 2},
      "max_payouts_per_day": 5,
      "line_items": [
        {"amount": {"amount": 18450, "currency": "USD", "exponent": 2}, "payout_type": "express_pay"}
      ]
    }
    • reconstructed from the instant cash-out eligibility sheet
  • Express Pay cashout

    POST /v1/payouts/instant openbanking

    Writes an instant cashout of the eligible available_balance and returns payout_transaction_id, payout_type, payout_total and payout_time_ms.

    Auth: Bearer access token from the session sign-in call

    • amount
    • currency
    • exponent
    • payout_type
    • payout_transaction_id
    • payoutTransactionId
    • payoutType
    • payout_type_text
    • payout_total
    • payout_time_ms
    POST /v1/payouts/instant HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "amount": {"amount": 18450, "currency": "USD", "exponent": 2},
      "payout_type": "express_pay"
    }
    {
      "payout_transaction_id": "po_6a11c4e8",
      "payoutTransactionId": "po_6a11c4e8",
      "payout_type": "express_pay",
      "payoutType": "express_pay",
      "payout_type_text": "Express Pay",
      "payout_total": {"amount": 18450, "currency": "USD", "exponent": 2},
      "payout_time_ms": 1759190400000
    }
    • reconstructed from the instant cash-out confirmation flow
  • Payout history

    GET /v1/payouts/history openbanking

    Lists historical instant and weekly bank payouts as line-item records: payout_transaction_id, payout_type, payout_total, payout_time_ms and display_status.

    Auth: Bearer access token from the session sign-in call

    • payout_transaction_id
    • payout_type
    • payout_type_text
    • payout_total
    • payout_time_ms
    • payout_line_items
    • display_status
    GET /v1/payouts/history HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "items": [
        {
          "payout_transaction_id": "po_6a11c4e8",
          "payout_type": "express_pay",
          "payout_type_text": "Express Pay",
          "payout_total": {"amount": 18450, "currency": "USD", "exponent": 2},
          "payout_time_ms": 1759190400000,
          "payout_line_items": [
            {"amount": {"amount": 18450, "currency": "USD", "exponent": 2}}
          ],
          "display_status": "COMPLETED"
        }
      ]
    }
    • reconstructed from the payout history list and detail screens
  • Lyft Direct debit user

    GET /v1/debit-card/account openbanking

    Reads the Lyft Direct debit account attached to the driver: lyftDirectEnabled, account status (Active, InReview, CardSuspended, AccountBlocked, …) and the card wallet balance.

    Auth: Bearer access token from the session sign-in call

    • lyftDirectEnabled
    • status
    • available_balance
    • first_name
    • last_name
    GET /v1/debit-card/account HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "lyftDirectEnabled": true,
      "status": "Active",
      "available_balance": {"amount": 18450, "currency": "USD", "exponent": 2},
      "first_name": "Alex",
      "last_name": "Rivera"
    }
    • reconstructed from the debit card management and balance screens
  • Enter driver mode (go online)

    POST /v1/dispatch/go-online opendata

    Takes the partner online for dispatch: posts GPS and vehicle_id, with sibling writes for last-ride and destination filters.

    Auth: Bearer access token from the session sign-in call

    • latitude
    • longitude
    • vehicle_id
    • online
    • current_deactivation_status
    POST /v1/dispatch/go-online HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "latitude": 37.7749,
      "longitude": -122.4194,
      "vehicle_id": "veh_7c81f0e2"
    }
    {
      "online": true,
      "vehicle_id": "veh_7c81f0e2",
      "current_deactivation_status": "NONE"
    }
    • reconstructed from the go-online toggle and dispatch entry flow
  • Accept ride

    POST /v1/trips/accept opendata

    Accepts an upfront ride offer and returns the passenger card plus destination_lat/lng and the estimated earnings band. Sibling writes cover arrive, pick-up, drop-off, cancel and rate-passenger.

    Auth: Bearer access token from the session sign-in call

    • ride_id
    • route_id
    • offer_id
    • passenger_id
    • passenger_first_name
    • passenger_rating
    • destination_lat
    • destination_lng
    • min_estimated_earnings
    • max_estimated_earnings
    POST /v1/trips/accept HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "ride_id": "rid_4e91aa12",
      "route_id": "rte_8c22b1d0",
      "offer_id": "off_11ab99c3",
      "latitude": 37.7749,
      "longitude": -122.4194
    }
    {
      "ride_id": "rid_4e91aa12",
      "route_id": "rte_8c22b1d0",
      "passenger_id": "pax_55c1d0aa",
      "passenger_first_name": "Jordan",
      "passenger_rating": 4.88,
      "destination_lat": 37.7849,
      "destination_lng": -122.4094,
      "min_estimated_earnings": {"amount": 1200, "currency": "USD", "exponent": 2},
      "max_estimated_earnings": {"amount": 1850, "currency": "USD", "exponent": 2}
    }
    • reconstructed from the upfront offer accept card and ride-stage transitions
  • In-ride driver earnings

    GET /v1/trips/route-earnings openfinance

    Reads the in-ride earnings panel for the active route: route_payout_total_amount, route_payout_tips_amount and estimated_earnings shown after drop-off.

    Auth: Bearer access token from the session sign-in call

    • route_id
    • ride_id
    • route_payout_total_amount
    • route_payout_tips_amount
    • estimated_earnings
    GET /v1/trips/route-earnings HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "route_id": "rte_8c22b1d0",
      "ride_id": "rid_4e91aa12",
      "route_payout_total_amount": {"amount": 2250, "currency": "USD", "exponent": 2},
      "route_payout_tips_amount": {"amount": 400, "currency": "USD", "exponent": 2},
      "estimated_earnings": {"amount": 1850, "currency": "USD", "exponent": 2}
    }
    • reconstructed from the in-ride earnings panel shown after drop-off
  • Incentive offers

    GET /v1/incentives/offers opendata

    Lists selectable ride-challenge and streak offers with estimated_earnings bands that the weekly planner and motivator map render.

    Auth: Bearer access token from the session sign-in call

    • offer_id
    • estimated_earnings
    • min_estimated_earnings
    • max_estimated_earnings
    GET /v1/incentives/offers HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "offers": [
        {
          "offer_id": "off_bonus_22",
          "estimated_earnings": {"amount": 2500, "currency": "USD", "exponent": 2},
          "min_estimated_earnings": {"amount": 2000, "currency": "USD", "exponent": 2},
          "max_estimated_earnings": {"amount": 3000, "currency": "USD", "exponent": 2}
        }
      ]
    }
    • reconstructed from the weekly planner and motivator map offers flow
  • Service quality home

    GET /v1/quality/home opendata

    Loads the service-quality home used by ratings stats: driver_rating, overall_rating and qualifying_rating, with sibling detail and feedback-history reads.

    Auth: Bearer access token from the session sign-in call

    • driver_rating
    • overall_rating
    • qualifying_rating
    GET /v1/quality/home HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "driver_rating": 4.92,
      "overall_rating": 4.92,
      "qualifying_rating": 4.80
    }
    • reconstructed from the ratings and service-quality home screens
  • Driver debt

    GET /v1/account/charges openfinance

    Reads outstanding driver charges: debt_amount and outstanding_balance_amount that can block instant cash-out until settled.

    Auth: Bearer access token from the session sign-in call

    • debt_amount
    • outstanding_balance_amount
    • amount
    • currency
    • exponent
    GET /v1/account/charges HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    {
      "debt_amount": {"amount": 2500, "currency": "USD", "exponent": 2},
      "outstanding_balance_amount": {"amount": 2500, "currency": "USD", "exponent": 2},
      "charges": [
        {"amount": {"amount": 2500, "currency": "USD", "exponent": 2}}
      ]
    }
    • reconstructed from the outstanding-charges screen that gates cash-out

Data categories

  • identity
  • session
  • wallet-balance
  • earnings-summary
  • earnings-activity
  • weekly-breakdown
  • express-pay
  • payout-history
  • lyft-direct
  • go-online
  • trip-offers
  • in-ride-earnings
  • incentives
  • ratings
  • debt

Where teams use this data

  • Nightly Express Pay reconciliation

    Pull GET /v1/partner-wallet/balance (available_balance, instant_payout_enabled) and GET /v1/payouts/history (payout_transaction_id, payout_total, payout_time_ms) to match each instant cash-out against the driver's ledger.

  • Weekly earnings and tip audit

    Combine GET /v1/earnings/overview (gross_earnings, net_earnings, tip_amount) with GET /v1/earnings/weekly and GET /v1/earnings/trip-feed (per-ride_id payout_total) to rebuild a week of fare-plus-tip activity.

  • Go-online compliance gate

    Read GET /v1/partner/profile for current_deactivation_status and driver_rating, then POST /v1/dispatch/go-online with vehicle_id before treating the partner as dispatchable.

  • Upfront-offer earnings overlay

    On POST /v1/trips/accept, capture min_estimated_earnings / max_estimated_earnings and later reconcile against GET /v1/trips/route-earnings (route_payout_total_amount, route_payout_tips_amount) after drop-off.

Frequently asked questions

How does Lyft Driver authenticate API calls?

A session sign-in call issues an access_token and refresh_token pair after phone, recovery-code or passkey verification. Every later call sends Authorization: Bearer access_token plus region headers.

Which endpoints expose driver earnings and tips?

GET /v1/earnings/overview returns gross_earnings, net_earnings and tip_amount; GET /v1/earnings/trip-feed pages per-ride payout_total; GET /v1/earnings/weekly groups those by payout_period_ms; GET /v1/trips/route-earnings adds route_payout_tips_amount in-ride.

How does instant cash-out work?

GET /v1/payouts/eligibility checks instant_payout_enabled and the eligible line_items, GET /v1/partner-wallet/balance reads available_balance, then POST /v1/payouts/instant writes the cashout and returns payout_transaction_id. History lives at GET /v1/payouts/history.

What ride data does accept return?

POST /v1/trips/accept takes ride_id, route_id and offer_id and returns passenger_first_name, passenger_rating, destination_lat/lng and the min_estimated_earnings / max_estimated_earnings band. Arrive, pick-up, drop-off and rate-passenger are sibling writes under /v1/trips/.

Apps similar to Lyft Driver

  • Uber - Driver: Drive & Deliver — Uber's driver-side app for accepting ride and delivery requests, tracking earnings and cashing out — the primary US competitor drivers run alongside Lyft Driver.
  • DoorDash - Dasher — DoorDash's Dasher app offers food-delivery gigs with upfront pay and flexible scheduling, a common second app for rideshare drivers.
  • Careem Captain — Careem Captain is the driver app for Careem, the Uber-owned ride-hailing and delivery platform operating across the Middle East and North Africa.
  • Ola Driver App — Ola Driver is the partner app for Ola, India's homegrown ride-hailing platform, where drivers accept bookings and track daily earnings.
  • Bolt Driver — Bolt Driver is the driver-side app for Bolt, a ride-hailing platform operating across Europe and Africa that competes with Uber on price.
  • Grab Driver — Grab Driver is the partner app for Grab, the ride-hailing and delivery platform widely used across Southeast Asia, including Singapore, Malaysia, Indonesia and Vietnam.
  • Instacart Shopper — Instacart Shopper pays gig workers to shop for and deliver groceries, a vehicle-flexible alternative to passenger rideshare driving.
  • Amazon Flex — Amazon Flex lets drivers deliver Amazon packages and groceries in reserved time blocks, an alternative for drivers who prefer parcels over passengers.

Topics

  • lyft driver api
  • lyft driver earnings data
  • lyft instant cashout
  • lyft payout history
  • lyft driver pay balance
  • lyft driver auth token
  • lyft trip accept api
  • lyft direct debit

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