Talabat APItalabat.com ↗
Access Talabat UAE restaurant listings, reviews, delivery areas, cuisines, grocery stores, and product data via 11 structured JSON endpoints.
What is the Talabat API?
The Talabat UAE API covers 11 endpoints that return restaurant listings, customer reviews, delivery areas, grocery stores, and individual grocery products. Starting with get_restaurants you can pull the full UAE restaurant catalog — including names, slugs, ratings, and cuisine types — then drill into menus, delivery coordinates, and paginated reviews, or pivot to grocery coverage with store listings, category trees, and per-SKU product details.
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 — restaurants and grocery discovery, details, reviews, and products."""
from parse_apis.Talabat_API import Talabat, Query, Slug, RestaurantNotFound
client = Talabat()
# Search for pizza restaurants
for restaurant in client.restaurant_summaries.search(query=Query.PIZZA, limit=3):
print(restaurant.name, restaurant.cuisines)
# Drill into the first result for full details and reviews
hit = client.restaurant_summaries.search(query=Query.PIZZA, limit=1).first()
if hit:
full = hit.details()
print(full.name, full.rating, full.vendor_id)
for review in full.reviews.list(limit=3):
print(review.first_name, review.rate, review.date)
# Fetch a restaurant by slug, 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}")
# Grocery flow: list stores in an area, get store details, browse products
for store in client.grocery_stores.list(area_id="1473", area_slug="breakwater", limit=3):
print(store.name, store.rating, store.is_open)
store = client.grocery_stores.list(area_id="1473", area_slug="breakwater", limit=1).first()
if store:
detail = store.details(area_id="1473")
print(detail.name, detail.rating, detail.delivery_fee)
for product in detail.products.list(area_id="1473", category_slug="dairy-cheese", limit=3):
print(product.title, product.price, product.sku)
# Search grocery products across stores in an area
for result in client.grocery_stores.search_products(query="milk", area_id="1473", area_slug="breakwater", limit=3):
print(result.title, result.price, result.store_name)
print("exercised: restaurant_summaries.search / .details / restaurants.get / reviews.list / grocery_stores.list / store.details / products.list / grocery_stores.search_products")
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 and Details
get_restaurants returns the complete Talabat UAE restaurant list in a single unpaginated response, with each entry carrying an id, name, logo URL, URL slug, and a comma-separated cuisines string. search_restaurants accepts a query parameter and filters that same catalog by case-insensitive partial matching against name and cuisine fields. Once you have a slug, get_restaurant_details adds rating, total_ratings, delivery_info (latitude, longitude, accepted payment methods), most_selling_items, and a vendor_id field that feeds directly into the reviews endpoint.
Reviews and Reference Data
get_restaurant_reviews takes a branch_id (the vendor_id from restaurant details) and an optional page number, returning up to 4 reviews per page with firstName, rate, date, and review text alongside totalPages and totalReviews counts. get_areas lists every supported UAE delivery area with its id, name, and slug. get_cuisines returns a sorted array of all unique cuisine type strings across the full restaurant catalog.
Grocery Store and Product Data
get_grocery_stores scopes to one delivery area using area_id and area_slug, returning stores with rating, delivery_time, delivery_fee, min order, and a branch_id needed for deeper calls. get_grocery_store_details expands a store into a categories tree — each category carrying id, name, slug, image_url, count, and a sub_categories array. get_grocery_products accepts a category_slug (and optional sub_category_slug) to retrieve paginated product listings with price, original_price, discount_percentage, and image. get_grocery_product_details resolves a single product by sku, returning full images, attributes (name/value pairs), and category_id. search_grocery_products searches product titles across up to 5 stores in an area, controlled by the max_stores parameter; higher values broaden coverage at the cost of response time.
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 UAE restaurant finder that filters by cuisine type using get_cuisines and search_restaurants
- Aggregate customer sentiment by collecting paginated reviews via get_restaurant_reviews for a set of competitor restaurants
- Map delivery coverage by combining get_areas area coordinates with restaurant delivery_info latitude/longitude fields
- Track grocery product pricing and discounts across multiple Talabat UAE stores using get_grocery_products and get_grocery_product_details
- Populate a food-ordering comparison app with most_selling_items, ratings, and payment method data from get_restaurant_details
- Implement a grocery product search feature scoped to a user's delivery area using search_grocery_products with area_id and area_slug
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.