Overview

Welcome to Scoop Fare API documentation. This API is available to help developers to interact with LYFT and UBER API's in a easy way. Scoop Fare API return the all the UBER's and LYFT's rides available with the important details in just one request.

Ride Requests

For each request our API will make 4 requests, 2 for UBER (ETA & price estimate endpoints) and 2 for LYFT (ETA & price estimate endpoints) and arranges the data returned from those respective API's in a way that is easy to organize and consume.

Data return

Uber and Lyft API response compiled with type, distance, fare, currency, duration and ETA

  • Type: type of product offered. POOL by Uber is renamed to UberPOOL for clarity.
  • Distance: distance between the start and end coordinates
  • Fare: the price for each of the respective products(UBER have a ride called TAXI that do not return fare, our api replace the value to "Metered")
  • Currency: the currency will be automaticaly change acoording with the used on the locations informed
  • Duration: duration of the ride between the two points specified
  • ETA: response time of the driver for the respective product

The keys in the response in our api is the same for both companies (ex; fare and type are the same for each of the products they offer)

Endpoint

The requests for our API should follow the bellow:

Send a GET request to:
"/price/show?sl=< start latitude >&slon=< start longitude >&el=< end latitude >&elon=< end longitude >"

Params used:

  • sl= start latitude, expects a float
  • slon = start longitude, expects a float
  • el = end latitude, expects a float
  • elon = end longitude, expects a float

Example Response

  • Format of the response: api_data = {:uber => [], :lyft => []}, Data Type: JSON
  • Sample response: 200 OK

{
"uber":
[
{"type":"uberXL","distance":12.75,"fare":61,"currency":"CAD","duration":2460,"eta":300},
{"type":"UberSELECT","distance":12.75,"fare":67,"currency":"CAD","duration":2460,"eta":300},
{"type":"uberPOOL","distance":12.75,"fare":22,"currency":"CAD","duration":2460,"eta":300},
{"type":"UberBLACK","distance":12.75,"fare":84,"currency":"CAD","duration":2460,"eta":300},
{"type":"UberSUV","distance":12.75,"fare":97,"currency":"CAD","duration":2460,"eta":300},
{"type":"uberX","distance":12.75,"fare":33,"currency":"CAD","duration":2460,"eta":300},
{"type":"uberASSIST","distance":12.75,"fare":33,"currency":"CAD","duration":2460,"eta":660},
{"type":"uberWAV","distance":12.75,"fare":33,"currency":"CAD","duration":2460,"eta":360},
{"type":"TAXI","distance":12.75,"fare":"Metered","currency":"","duration":2460,"eta":120}
],
"lyft":
[
{"type":"Lyft Line","distance":13.45,"fare":25,"currency":"CAD","duration":2750,"eta":"300"},
{"type":"Lyft","distance":13.45,"fare":36,"currency":"CAD","duration":2750,"eta":"200"},
{"type":"Lyft Plus","distance":13.45,"fare":67,"currency":"CAD","duration":2750,"eta":"360"},
{"type":"Lyft Premier","distance":13.45,"fare":73,"currency":"CAD","duration":2750,"eta":"360"},
{"type":"Lyft Lux","distance":13.45,"fare":107,"currency":"CAD","duration":2750,"eta":"660"},
{"type":"Lyft Lux SUV","distance":13.45,"fare":123,"currency":"CAD","duration":2750,"eta":"360"}
]
}

Errors

  • 'INVALID PARAMS' would be in the response for Uber and Lyft json keys if your request raised an exception within our API
  • Sample Response: 200 OK

{
"uber":
[
"INVALID PARAMS"
],
"lyft":
[
"INVALID PARAMS"
]
}