Talabat APItalabat.com ↗
Access Talabat UAE restaurant listings, details, customer reviews, delivery areas, and cuisine types via 6 structured JSON endpoints.
What is the Talabat API?
The Talabat UAE API covers 6 endpoints for querying restaurants, menus, reviews, delivery areas, and cuisines on Talabat's UAE platform. Use get_restaurants to retrieve the full restaurant catalog in a single request — each record includes a slug, logo URL, and cuisine string — or use get_restaurant_details to pull rating, delivery info, payment methods, and top-selling menu items for any individual restaurant.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/7c4926a4-90ce-41b9-bf23-2f06ebf85759/get_restaurants' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace talabat-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Talabat UAE — restaurant discovery, details, and reviews."""
from parse_apis.talabat_api import Talabat, Query, Slug, RestaurantNotFound
client = Talabat()
# List all restaurants (capped at 5 for brevity)
for restaurant in client.restaurantsummaries.list(limit=5):
print(restaurant.name, restaurant.cuisines)
# Search for pizza restaurants and drill into the first result
result = client.restaurantsummaries.search(query=Query.PIZZA, limit=1).first()
if result:
detail = result.details()
print(detail.name, detail.rating, detail.vendor_id)
# Walk reviews for that restaurant
for review in detail.reviews.list(limit=3):
print(review.first_name, review.rate, review.date)
# Fetch a restaurant directly by slug and handle not-found
try:
r = client.restaurants.get(slug=Slug.OREGANO)
print(r.name, r.rating, r.cuisines)
except RestaurantNotFound as exc:
print(f"Not found: {exc.slug}")
# List delivery areas
for area in client.areas.list(limit=5):
print(area.name, area.slug)
print("exercised: restaurantsummaries.list / .search / .details / restaurants.get / reviews.list / areas.list")
Retrieves the full list of restaurants available on Talabat UAE. Each restaurant includes its id, name, logo URL, URL slug, and a comma-separated cuisines string. The list is not paginated; a single request returns all restaurants.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer count of restaurants returned",
"restaurants": "array of restaurant summary objects"
},
"sample": {
"data": {
"total": 30,
"restaurants": [
{
"id": 367,
"logo": "https://images.deliveryhero.io/image/talabat/restaurants/20_years_Oregano_Logo638842111077959398.jpg",
"name": "Oregano",
"slug": "oregano",
"cuisines": "Italian, Pizza, Pasta, European"
}
]
},
"status": "success"
}
}About the Talabat API
Restaurant Discovery
The get_restaurants endpoint returns all UAE restaurants in one unpaginated response, with each object containing the restaurant's id, name, logo URL, URL slug, and a comma-separated cuisines string. The search_restaurants endpoint accepts a query parameter and performs case-insensitive partial matching across both name and cuisine fields, returning a filtered subset with the same shape plus a total count.
Restaurant Details and Menu Items
Passing a restaurant slug to get_restaurant_details returns deeper data: a numeric rating out of 5, total_ratings, a delivery_info object with latitude, longitude, accept_cash, accept_credit_card, and a payment_methods array, plus a most_selling_items array of popular dishes each carrying an id, name, and image. The response also includes a vendor_id field, which is the identifier needed for the reviews endpoint.
Reviews and Pagination
get_restaurant_reviews accepts a branch_id (the vendor_id from get_restaurant_details) and an optional page integer. Each page delivers up to 4 review objects containing id, date, firstName, rate, and review text. The response includes totalPages, currentPage, and totalReviews so you can iterate through the full review set programmatically.
Delivery Areas and Cuisine Catalog
get_areas returns every delivery area Talabat UAE supports, with each area carrying an id, name, and slug. get_cuisines returns a sorted array of unique cuisine-type strings derived from across all restaurant listings — useful for building filter menus or categorizing restaurants without parsing individual records.
The Talabat API is a managed, monitored endpoint for talabat.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when talabat.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official talabat.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a restaurant discovery app filtered by cuisine type using
get_cuisinesandsearch_restaurants - Aggregate customer sentiment by collecting paginated reviews via
get_restaurant_reviewsacross multiple restaurants - Map delivery coverage by pairing
get_areasslugs with restaurantdelivery_infocoordinates - Display accepted payment methods per restaurant using the
accept_cash,accept_credit_card, andpayment_methodsfields fromget_restaurant_details - Populate a food-ordering interface with top dishes using the
most_selling_itemsarray from restaurant detail responses - Track restaurant ratings over time by polling
ratingandtotal_ratingsfields fromget_restaurant_details - Index the full Talabat UAE catalog for search by fetching all records from
get_restaurantsin a single request
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Talabat have an official public developer API?+
What does `get_restaurant_details` return that `get_restaurants` does not?+
get_restaurants returns summary fields only: id, name, logo, slug, and cuisines. get_restaurant_details adds rating, total_ratings, delivery_info (including latitude, longitude, and payment method flags), most_selling_items with dish images, a description, and the vendor_id needed to query reviews.Does the reviews endpoint return the full review text, or just a rating?+
get_restaurant_reviews includes the reviewer's firstName, a numeric rate, a date, and the full review text string, alongside an id. Pages return up to 4 reviews each; use the totalPages field to determine how many requests are needed for complete coverage.Is full menu data — categories, item prices, and descriptions — available?+
most_selling_items (id, name, image) from get_restaurant_details but does not include full menu categories, item prices, or item descriptions. You can fork this API on Parse and revise it to add a menu endpoint covering those fields.