LuLu Hypermarket APIgcc.luluhypermarket.com ↗
Access LuLu Hypermarket GCC product data: search, categories, brand filtering, lifestyle tags, and product details via 7 structured endpoints.
What is the LuLu Hypermarket API?
The LuLu Hypermarket GCC API exposes 7 endpoints covering product search, category browsing, brand filtering, lifestyle filtering, and detailed product records from gcc.luluhypermarket.com. The get_product_details endpoint returns full product data including images, variants, bullet points, price, and SKU. Trending searches are also available without any query parameters, making it straightforward to monitor what shoppers are currently searching for on one of the UAE's largest retail platforms.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/cb33e3a2-a3b4-4a22-b7aa-a70c531bc148/get_categories' \ -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 gcc-luluhypermarket-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.
"""Walkthrough: LuLu Hypermarket SDK — browse categories, search products, get details."""
from parse_apis.lulu_hypermarket_api import LuluHypermarket, CategorySlug, ProductNotFound
client = LuluHypermarket()
# List all top-level categories
for cat in client.categories.list(limit=6):
print(cat.name, cat.slug)
# Browse products in the grocery category using the enum
grocery = client.category(CategorySlug.GROCERY)
for product in grocery.products(limit=3):
print(product.name, product.price, product.currency)
# Search for products by keyword
for product in client.products.search(query="chocolate", limit=5):
print(product.name, product.brand, product.price)
# Get full details for a single product
result = client.products.search(query="milk", limit=1).first()
if result:
detail = client.products.get(pk=result.pk)
print(detail.name, detail.description, detail.bullet_points)
# Filter products by brand
for product in client.products.by_brand(brand="Almarai", limit=3):
print(product.name, product.price, product.in_stock)
# Typed error handling for missing products
try:
client.products.get(pk="9999999")
except ProductNotFound as exc:
print(f"Product not found: {exc.pk}")
print("exercised: categories.list / category.products / products.search / products.get / products.by_brand")
Returns all top-level categories available on the site. Category slugs can be used with get_products_by_category to browse products.
No input parameters required.
{
"type": "object",
"fields": {
"categories": "array of category objects with name, slug, url, and pk"
},
"sample": {
"data": {
"categories": [
{
"pk": "b6ca8df6-eadb-4142-9169-8112f06264c0",
"url": "/grocery/",
"name": "Grocery",
"slug": "grocery"
},
{
"pk": "09a53440-e63e-4ecd-acd2-8203fb57cb51",
"url": "/fresh-food/",
"name": "Fresh Food",
"slug": "fresh-food"
},
{
"pk": "64918a05-0edb-46de-bcb0-4c91a26fc4c9",
"url": "/electronics/",
"name": "Electronics",
"slug": "electronics"
}
]
},
"status": "success"
}
}About the LuLu Hypermarket API
Categories and Product Browsing
The get_categories endpoint returns all top-level categories as an array of objects, each containing a name, slug, url, and pk. These slugs feed directly into get_products_by_category, which behaves differently depending on slug depth: top-level slugs like grocery or fresh-food return featured products without pagination, while subcategory slugs like grocery-food-cupboard support paginated results up to 50 products per page, with num_pages and total_count populated in the response.
Search and Filtering
search_products accepts a query string and an optional page parameter, returning up to 20 products per page along with num_pages and total_count. Each product object includes pk, sku, name, brand, price, original_price, discount, currency, weight, category, subcategory, and url. get_products_by_brand accepts a brand string (e.g. Almarai, Nestle) and paginates with the same 20-per-page structure. get_products_by_lifestyle filters by tags such as organic, vegan, or gluten_free with identical pagination behavior.
Product Details and Trending Data
get_product_details takes a product pk and returns extended fields not present in list responses: images (array of all image URLs), image (primary image), a product description, and variant information. The get_trending_searches endpoint requires no parameters and returns a trending array of strings representing currently active search terms on the site.
Pagination Notes
Pagination behavior varies by endpoint. get_products_by_category only supports pagination for subcategory slugs — top-level slugs return null for num_pages and total_count. All other paginated endpoints (search_products, get_products_by_brand, get_products_by_lifestyle) cap at 20 products per page and consistently return both num_pages and total_count.
The LuLu Hypermarket API is a managed, monitored endpoint for gcc.luluhypermarket.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when gcc.luluhypermarket.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 gcc.luluhypermarket.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 price comparison tool tracking
priceandoriginal_priceacross LuLu GCC product listings. - Populate a grocery app's product catalog using
get_products_by_categorywith subcategory slugs and pagination. - Monitor brand-specific inventory and pricing by polling
get_products_by_brandfor brands like Almarai or Nestle. - Filter and surface vegan, organic, or gluten-free products using
get_products_by_lifestylewith the relevant tag. - Aggregate trending search terms from
get_trending_searchesto inform keyword research or ad targeting. - Sync product images, descriptions, and variant data for affiliate content using
get_product_details. - Track discount depth across categories by comparing
priceandoriginal_pricefields in search results.
| 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 LuLu Hypermarket have an official public developer API?+
What does `get_product_details` return that list endpoints do not?+
get_product_details returns fields not present in list or search responses: a full images array (all product image URLs), a description field, variant information, and bullet point highlights. List endpoints return only a primary image and summary pricing fields.Does pagination work the same way across all endpoints?+
get_products_by_category, pagination only applies to subcategory slugs. Passing a top-level slug like grocery returns featured products and sets num_pages and total_count to null. All other paginated endpoints — search_products, get_products_by_brand, and get_products_by_lifestyle — consistently return 20 products per page with both fields populated.Does the API cover customer reviews or product ratings?+
Is stock availability or inventory status returned for products?+
price, original_price, discount) and product metadata but does not expose stock level or availability status. You can fork it on Parse and revise to add availability data if the source exposes it.