Skip to main content

Groceries (Careem Quik)

ToolPurposeKey parameters
search_groceries_itemsMulti-term search in nearest store (or one shops merchant)search_terms[], coords, optional merchant_id? (a shops merchant from global_search; omit for Quik), page?, limit?, tags? (dietary), on_discount?, previously_ordered?, careem_recommended?, sort?, max_delivery_minutes? (returns an ETA error instead of items if exceeded)
search_groceries_get_top_user_itemsUser's frequently-ordered itemscoords
search_groceries_get_all_dealsGet all available dealscoords
create_grocery_cart_with_quantities ⚠️Shopping list → best-match items into a basketitems[] (with quantities, each resolved via search_groceries_items), merchant_id (from that search), coords
is_grocery_area_serviceableCheck if location is serviceablecoords
tip

create_grocery_cart_with_quantities is the fast path: pass a whole de-duplicated shopping list with quantities in one call and the best-matching items land directly in a basket.

Flow
  1. Optionally confirm coverage with is_grocery_area_serviceable.
  2. Resolve items with search_groceries_items (a shopping list, one search term per ingredient) — pass merchant_id only when searching inside a specific shops merchant found via global_search; omit it for Quik, which resolves the nearest dark store automatically and returns its merchant_id in the response. Use search_groceries_get_top_user_items or search_groceries_get_all_deals to surface favourites/deals instead of a targeted search.
  3. Build the basket in one call with create_grocery_cart_with_quantities, using each item's catalog_item_id and the merchant_id returned by that search (Quik included — the response always carries the resolved merchant_id, even when the request omitted it).
  4. Hand off to Cart & Checkout: cart_get_basket_price → cart_grocery_checkout.

See the Order groceries journey for the full chain.