Skip to content
NexG ConciergeDevelopers

Get a merchant and its catalogue

GEThttps://api.nexgapp.com/v1/catalog/merchants/{id}Live

Returns one live merchant and its catalogue. Items come in the merchant’s own order (by sort, then name), the same order its storefront on nexgapp.com uses.

Age-restricted items are listed only when the merchant holds a verified licence for them, and their age_restricted flag is true so you can label them.

Authentication
None needed. A key with public_read gets its own rate limit.
Rate limit cost
1 token
Caching
Shared caches, 60 seconds
Available since
21 October 2026

Path parameters

  • idpath · uuidRequired

    The merchant’s id, from List merchants.

Headers

  • X-Api-Keyheader · stringOptional

    Your API key. Or send it as Authorization: Bearer <key>, but never both in one request.

Response

Merchant data.merchant

  • iduuid

    The merchant’s id. Use it with GET /v1/catalog/merchants/{id}.

  • trading_namestring

    The name guests see on nexgapp.com.

  • categorystring

    The taxonomy vertical, for example restaurant, pharmacy or laundry.

  • category_otherstring or null

    Free text describing the business when category is other.

  • cover_photo_pathstring or null

    The cover image as nexgapp.com loads it: a URL, or a path that resolves against https://nexgapp.com.

  • featuredboolean

    Shown in NexG’s featured placements.

  • city_slugstring

    The city, as a slug such as nairobi.

  • city_namestring

    The city’s display name.

  • branch_namestring or null

    The primary branch’s name.

  • branch_addressstring or null

    The primary branch’s street address.

  • branch_latitudenumber or null

    Latitude of the primary branch (WGS 84).

  • branch_longitudenumber or null

    Longitude of the primary branch (WGS 84).

  • listed_attimestamp

    When the merchant went live, which is when guests could first see it.

  • explore_visibleboolean or null

    Whether the merchant appears in Explore on nexgapp.com.

  • concierge_pickboolean or null

    Chosen by NexG’s concierge team.

  • accepting_ordersboolean or null

    Whether the merchant is taking orders right now.

  • pay_on_delivery_enabledboolean or null

    Whether guests may pay cash on delivery.

  • pay_on_delivery_cap_kesinteger or null

    The largest order, in whole shillings, that can be paid on delivery.

  • prep_minutesinteger or null

    Typical preparation time, in minutes.

  • busy_mode_untiltimestamp or null

    Set while the merchant is in busy mode: the time it ends.

  • closed_early_attimestamp or null

    Set when the merchant closed early today.

  • parent_merchant_iduuid or null

    For a chain, the merchant this branch replicates.

  • subcategorystring or null

    The subcategory within the vertical, when one is set.

Catalogue item data.catalogue[]

  • iduuid

    The item’s id.

  • merchant_iduuid

    The merchant that sells it.

  • section_iduuid or null

    The menu or catalogue section it sits in.

  • namestring

    The item’s name.

  • descriptionstring or null

    The item’s description.

  • price_kesinteger

    List price in whole Kenyan shillings. Always an integer, never a decimal.

  • availableboolean or null

    Whether it can be ordered now.

  • age_restrictedboolean or null

    Sold to adults only, with ID checked at hand-over. Listed only when the merchant holds a verified licence.

  • highlightedboolean or null

    Highlighted by the merchant on its storefront.

  • sortinteger or null

    Position within its section.

Errors

Every error has the same shape; see Errors. Branch on error.code and the HTTP status, never on the message.

  • 400invalid_request

    Both X-Api-Key and Authorization were sent, or Authorization is not a Bearer key.

  • 401not_found

    The key is unknown, revoked or expired, or its merchant cannot use the API right now. All of these get the same answer on purpose.

  • 403not_found

    A key was sent but it does not have public_read.

  • 429rate_limited

    Your token bucket is empty. Wait the number of seconds in the Retry-After header.

  • 503internal_error

    NexG could not check the key or the rate limit. Retry with backoff.

  • 400invalid_request

    The id is not a UUID.

  • 404not_found

    No live merchant has that id.

  • 500internal_error

    NexG could not read the merchant or its catalogue.

  • 500internal_error

    Something unexpected failed on NexG’s side. NexG logs the X-Request-Id: quote it if you report the failure.