Lyft Driver partner data API
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
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-sessionosintMints 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 flowtoken fields mirror the credentials carried by every authenticated screen
Driver info
GET
/v1/partner/profileosintLoads 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/balanceopenbankingReads 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/overviewopenfinanceReturns 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-feedopenfinancePages 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/dashboardopenfinanceLoads 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/weeklyopenfinanceReturns 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/eligibilityopenbankingChecks 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/instantopenbankingWrites 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/historyopenbankingLists 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/accountopenbankingReads 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-onlineopendataTakes 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/acceptopendataAccepts 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-earningsopenfinanceReads 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/offersopendataLists 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/homeopendataLoads 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/chargesopenfinanceReads 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