05/06/2023  •   6 min read  

Empowering Innovations: Exploring Data Sets and Applications with the Deliveroo API

banner

In this blog post, we’ve collected some of our favorite Deliveroo API projects that use publicly available data sets to explore the applications of APIs. The possibilities are endless, and we hope these projects inspire your API development!

As a reminder, an API is a way to access data through programming interfaces. They can be used for any project, from web scraping to machine learning. If you have never developed an application before or aren't familiar with APIs, this is a great place to start exploring!

What is Deliveroo?

Deliveroo is a food-delivery company that allows customers to order meals from nearby restaurants to their doorsteps. Whether from a vegan restaurant or an expensive Michelin-starred 3-Michelin-starred restaurant, there are many kinds of meals to choose from, making Deliveroo an ideal service for many customers. Moreover, the company has been criticized for exploitative labor practices with its so-called "contractors," as some workers cannot afford basic living expenses such as water and electricity and receive very little payment for their services.

What is the Deliveroo API?

banner

The Deliveroo API lets you interact with the company's data via HTTP requests and responses. You can use this API too, for example, view all the nearby restaurants and their menus, book orders from those restaurants to your address, and much more!

Deliveroo is a valuable service for many people in a variety of contexts. As food delivery is such a broad field, it can take time to begin working with your data once you've narrowed your focus

Indeed, when looking at the Deliveroo API documentation, you may feel overwhelmed. If you want to start working with your API data, ensure you have a clear goal. It will help you pick out the specific API elements that might be useful.

For example, if you'd like to learn more about which restaurants are closest in your neighborhood and how much their meals cost, you should begin by getting a list of nearby restaurants and their prices. To do this, we'll use the Deliveroo API search endpoint that can be located using any browser's "View Source" function to find its URL.

Deliveroo API Data Sets & Their Applications:

The Deliveroo API has several different data sets that as many applications can use as one wishes.

1. Restaurants

You can access information about a specific restaurant by adding the restaurant ID to the restaurant_data endpoint. This data can range from the restaurants' addresses, cuisine type, and contact details to their average ratings, number of reviews, and average price.

To find a restaurant's ID, enter its name or address into the search endpoint. For example, the name 'Deliveroo' contains the ID 12345. Likewise, the address '123 Oxford St, London' will have the ID 12345 as well.

2. Address

In addition to restaurants, Deliveroo allows you to find an address in your neighborhood close to a range of restaurants. This endpoint can be used with any address entered into the search endpoint and returns information about that specific location's distance from other restaurants and their average prices.

3. Trips

The trip data set allows you to access an array of information about a range of trips that a customer has taken. These can include their duration, price, and how many meals they ordered.

This data set can be helpful in, for example, determining when it takes a user to gain 4 pounds in weight (assuming that their weight is changing at that rate!).

4. Revenues

The revenue data set allows you to extract essential sales information about your customer.

This includes how much money the customer has at their disposal, what average order sizes they place, and how much they spend per year on Deliveroo. This data set can be helpful in, for example, determining what a customer's average annual Deliveroo purchase is and how it has changed over time.

5. Availability Tables

The availability tables allow you to find information about businesses in your neighborhood. This data set contains a list of all the companies in your area that can fulfill an order and their respective availabilities. By using this data set, you can get an idea of which local businesses are most likely to be able to deliver your order on time!

6. Distance Matrix API

The distance matrix API allows you to determine which restaurants are closest to each other regarding distance and location. This data set can be handy when determining which restaurant is within walking distance of a specific address.

7. Jobs

The job data set lets you determine which job openings are available in your neighborhood. This data set contains information about the current status of all the jobs in your area, so you will know whether they are currently filled or if they have newly become open for positions. This can be used, for example, to help determine where job opportunities are best located!

8. Table Data Sets

The table data sets allow you to find information related to restaurants that sell certain products.

For example, the table data set for meals contains summaries and details about all the meals a restaurant sells. Similarly, the table data set for orders include information on what order customers make requests.

9. Extensions & Customizations

The Deliveroo API allows you to extend its functionality by adding your customizations. For example, you can customize the data returned during a search by adding "filters" with your endpoint URLs. Conversely, you can also take any of the existing endpoints and create new ones to align with your application's needs.

10. Customer Data Sets

The customer data sets allow you to access information about a specific customer. This can include things like their name, email address, mobile phone number, and information about their purchase history. This data set is helpful for, for example, sending customized emails to customers once they purchase or asking them to write reviews of your services!

11. User Data Sets

The user data sets allow you to access information about a specific user in your web application. This includes a user's login session, what they purchased in the past (if any), and their most recent deliveries. This data set is helpful for, for example, allowing users to log in using their email address instead of their own.

All the information you interact with through the Deliveroo API can be retrieved in an organized format called an "API Data Set." Each data set contains information about that specific topic, and each piece belongs to one or several data sets. For example, if you want to get all restaurant ID numbers across London, you'd use a "Deliveroo API Data Set" with an ID field called "Restaurant" containing all the restaurant IDs.

Each delivery has a "state" property that indicates whether or not it has been completed. If a delivery's state is set to 'completed,' you can access all of its details using the information in the "Order Data Sets." However, since deliveries have sensitive user information and may contain personal details about customers (e.g., their names), this information is unavailable on public data sets.

On the other hand, orders are also accompanied by a "payment method" property which can be used to take different actions depending on how the order was paid for (e.g., credit card, cash only, etc.).

Conclusion:

The Deliveroo API has tremendous potential in a wide range of applications. As more and more restaurants, cafes, and food trucks begin to use the service, the data sets will continue to grow and become much more helpful for people looking to access them. With this in mind, I wanted to use the Deliveroo API to create something that would be of practical use for a broad range of people using it, namely by creating a simple web application that allowed users to find out whether or not an order from their favorite food provider is likely to reach them within the half hour time limit. This web application is available on GitHub and works without signup strings or authentication, so anyone can freely access and use it.

This application was designed so that it's easy for developers who are relatively new to building web applications with Deliveroo and ReactJS. It assumes no prior experience with either of these two technologies. It does not require you to implement any highly sophisticated features since it contains only the bare minimum to allow users to find out if they'll get their order in time.


Web Scraping

Get A Quote