lyft Rides API

Endpoints for requesting, tracking, canceling, and managing Lyft rides on behalf of an authenticated user.

Business capability
Trip and Booking Operations BC-3490.20

Operations 7

GET /rides List rides #
POST /rides Request a ride #
GET /rides/{id} Get ride detail #
POST /rides/{id}/cancel Cancel a ride #
PUT /rides/{id}/destination Update ride destination #
PUT /rides/{id}/rating Rate a ride #
GET /rides/{id}/receipt Get ride receipt #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lyft-rides-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lyft-rides-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lyft Ride-Sharing Rides API
  description: The Lyft Ride-Sharing API provides developers with programmatic access to Lyft's rideshare platform.
  version: '1.0'
  contact:
    name: Lyft Developer Support
    url: https://www.lyft.com/developers
  termsOfService: https://www.lyft.com/terms
servers:
- url: https://api.lyft.com/v1
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Rides
  description: Endpoints for requesting, tracking, canceling, and managing Lyft rides on behalf of an authenticated user.
paths:
  /rides:
    get:
      operationId: listRides
      summary: List rides
      description: Returns a list of past and current rides for the authenticated user. Results can be filtered by start and end time.
      tags:
      - Rides
      parameters:
      - name: start_time
        in: query
        description: Restrict results to rides starting after this point in time. The value should be in ISO 8601 format.
        required: true
        schema:
          type: string
          format: date-time
      - name: end_time
        in: query
        description: Restrict results to rides starting before this point in time. The value should be in ISO 8601 format.
        required: false
        schema:
          type: string
          format: date-time
      - name: limit
        in: query
        description: Maximum number of rides to return. Default is 10.
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 10
      responses:
        '200':
          description: Successful response with ride history
          content:
            application/json:
              schema:
                type: object
                properties:
                  ride_history:
                    type: array
                    description: List of ride details for the authenticated user.
                    items:
                      $ref: '#/components/schemas/RideDetail'
        '400':
          description: Bad request - invalid or missing parameters
        '401':
          description: Unauthorized - invalid or missing access token
    post:
      operationId: createRide
      summary: Request a ride
      description: Requests a new Lyft ride on behalf of the authenticated user. The request must include a ride type and origin location. A destination may optionally be specified at the time of request.
      tags:
      - Rides
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRideRequest'
      responses:
        '200':
          description: Ride requested successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RideDetail'
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: No drivers available
  /rides/{id}:
    get:
      operationId: getRide
      summary: Get ride detail
      description: Returns the details of a specific ride identified by its ride ID, including status, origin, destination, driver information, and vehicle details.
      tags:
      - Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      responses:
        '200':
          description: Successful response with ride details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RideDetail'
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /rides/{id}/cancel:
    post:
      operationId: cancelRide
      summary: Cancel a ride
      description: Cancels an ongoing or requested ride. If the ride has already been matched with a driver, a cancellation fee may apply depending on how long the driver has been en route.
      tags:
      - Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                cancel_confirmation_token:
                  type: string
                  description: A token required to confirm the cancellation when a cancellation fee applies.
      responses:
        '204':
          description: Ride canceled successfully
        '400':
          description: Bad request - ride cannot be canceled
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /rides/{id}/destination:
    put:
      operationId: updateRideDestination
      summary: Update ride destination
      description: Updates the destination of an active ride. This can be used to change or set the drop-off location while a ride is in progress.
      tags:
      - Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - lat
              - lng
              properties:
                lat:
                  type: number
                  format: double
                  description: Latitude of the new destination location.
                lng:
                  type: number
                  format: double
                  description: Longitude of the new destination location.
                address:
                  type: string
                  description: Human-readable address of the new destination.
      responses:
        '200':
          description: Destination updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /rides/{id}/rating:
    put:
      operationId: rateRide
      summary: Rate a ride
      description: Submits the passenger's rating for a completed ride. The rating includes a star score and optionally a tip amount and text feedback.
      tags:
      - Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RideRatingRequest'
      responses:
        '200':
          description: Rating submitted successfully
        '400':
          description: Bad request - invalid parameters
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
  /rides/{id}/receipt:
    get:
      operationId: getRideReceipt
      summary: Get ride receipt
      description: Returns the receipt for a completed ride, including fare breakdown, charges, credits applied, and total cost.
      tags:
      - Rides
      parameters:
      - $ref: '#/components/parameters/rideId'
      responses:
        '200':
          description: Successful response with ride receipt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RideReceipt'
        '401':
          description: Unauthorized - invalid or missing access token
        '404':
          description: Ride not found
components:
  parameters:
    rideId:
      name: id
      in: path
      description: The unique identifier of the ride.
      required: true
      schema:
        type: string
  schemas:
    Vehicle:
      type: object
      description: Information about the vehicle assigned to a ride.
      properties:
        make:
          type: string
          description: Vehicle manufacturer name.
        model:
          type: string
          description: Vehicle model name.
        year:
          type: integer
          description: Vehicle model year.
        license_plate:
          type: string
          description: Vehicle license plate number.
        license_plate_state:
          type: string
          description: State where the vehicle is registered.
        color:
          type: string
          description: Color of the vehicle.
        image_url:
          type: string
          format: uri
          description: URL to an image of the vehicle.
    CreateRideRequest:
      type: object
      description: Request body for creating a new Lyft ride.
      required:
      - ride_type
      - origin
      properties:
        ride_type:
          $ref: '#/components/schemas/RideTypeEnum'
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        primetime_confirmation_token:
          type: string
          description: A token confirming the user has accepted Prime Time pricing. Required when Prime Time is in effect.
    RideDetail:
      type: object
      description: Detailed information about a Lyft ride including its status, route, driver, and vehicle information.
      properties:
        ride_id:
          type: string
          description: Unique identifier for the ride.
        ride_type:
          $ref: '#/components/schemas/RideTypeEnum'
        status:
          type: string
          description: Current status of the ride.
          enum:
          - pending
          - accepted
          - arrived
          - pickedUp
          - droppedOff
          - canceled
          - unknown
        origin:
          $ref: '#/components/schemas/Location'
        destination:
          $ref: '#/components/schemas/Location'
        pickup:
          $ref: '#/components/schemas/Location'
        dropoff:
          $ref: '#/components/schemas/Location'
        driver:
          $ref: '#/components/schemas/Driver'
        vehicle:
          $ref: '#/components/schemas/Vehicle'
        requested_at:
          type: string
          format: date-time
          description: Timestamp when the ride was requested.
        generated_at:
          type: string
          format: date-time
          description: Timestamp when this ride detail object was generated.
        price:
          $ref: '#/components/schemas/Price'
    RideTypeEnum:
      type: string
      description: Identifier for the type of Lyft ride.
      enum:
      - lyft
      - lyft_line
      - lyft_plus
      - lyft_premier
      - lyft_lux
      - lyft_luxsuv
    Location:
      type: object
      description: A geographic location with optional address information.
      properties:
        lat:
          type: number
          format: double
          description: Latitude of the location.
        lng:
          type: number
          format: double
          description: Longitude of the location.
        address:
          type: string
          description: Human-readable address of the location.
    Charge:
      type: object
      description: A payment charge applied to a ride.
      properties:
        amount:
          type: integer
          description: Amount charged in the smallest currency denomination.
        currency:
          type: string
          description: ISO 4217 currency code.
          pattern: ^[A-Z]{3}$
        payment_method:
          type: string
          description: Description of the payment method used for this charge.
    Price:
      type: object
      description: Price information for a ride, including the total amount and currency.
      properties:
        amount:
          type: integer
          description: Total price in the smallest denomination of the currency.
        currency:
          type: string
          description: ISO 4217 currency code.
          pattern: ^[A-Z]{3}$
        description:
          type: string
          description: Human-readable description of the price.
    LineItem:
      type: object
      description: A single line item on a ride receipt representing a specific charge or credit.
      properties:
        type:
          type: string
          description: Type of the line item such as base fare, distance, time, or fees.
        amount:
          type: integer
          description: Amount of the line item in the smallest currency denomination.
        currency:
          type: string
          description: ISO 4217 currency code.
          pattern: ^[A-Z]{3}$
    RideRatingRequest:
      type: object
      description: Request body for rating a completed ride.
      required:
      - rating
      properties:
        rating:
          type: integer
          description: Star rating for the ride, from 1 to 5.
          minimum: 1
          maximum: 5
        tip:
          type: object
          description: Optional tip for the driver.
          properties:
            amount:
              type: integer
              description: Tip amount in the smallest denomination of the currency.
            currency:
              type: string
              description: ISO 4217 currency code for the tip.
              pattern: ^[A-Z]{3}$
        feedback:
          type: string
          description: Optional text feedback about the ride experience.
    RideReceipt:
      type: object
      description: Receipt for a completed ride, including fare breakdown and total charges.
      properties:
        ride_id:
          type: string
          description: Unique identifier for the ride.
        price:
          $ref: '#/components/schemas/Price'
        line_items:
          type: array
          description: Itemized list of charges that make up the total fare.
          items:
            $ref: '#/components/schemas/LineItem'
        charges:
          type: array
          description: List of payment charges applied to this ride.
          items:
            $ref: '#/components/schemas/Charge'
        requested_at:
          type: string
          format: date-time
          description: Timestamp when the ride was requested.
    Driver:
      type: object
      description: Information about the driver assigned to a ride.
      properties:
        first_name:
          type: string
          description: The driver's first name.
        phone_number:
          type: string
          description: The driver's contact phone number.
        rating:
          type: string
          description: The driver's average rating.
        image_url:
          type: string
          format: uri
          description: URL to the driver's profile photo.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 access token. Use the 2-legged client credentials flow for public endpoints (ETA, cost, ride types) or the 3-legged authorization code flow for user-specific endpoints (rides, profile).
    clientToken:
      type: apiKey
      in: header
      name: Authorization
      description: Client token for accessing public endpoints without user authorization. Passed as a Bearer token in the Authorization header.
externalDocs:
  description: Lyft API Documentation
  url: https://developer.lyft.com/docs