List merchants
https://api.nexgapp.com/v1/catalog/merchantsLiveReturns merchants that are live on nexgapp.com: verified by NexG and published. Merchants still in onboarding, paused or delisted are never in this list.
Results are sorted by when the merchant went live, newest first. Each merchant is the same object nexgapp.com reads, with the fields the public is allowed to see. Contact details, legal names and settlement accounts are never part of it.
- Authentication
- None needed. A key with
public_readgets its own rate limit. - Rate limit cost
- 1 token
- Caching
- Shared caches, 60 seconds
- Available since
- 21 October 2026
Query parameters
cityquery · stringOptionalA city slug, such as nairobi. Up to 64 characters.
categoryquery · stringOptionalA taxonomy vertical, such as restaurant or pharmacy. Up to 64 characters.
qquery · stringOptionalFree text matched against the trading name, branch name and category_other, ignoring case. Up to 120 characters.
cursorquery · stringOptionalThe next_cursor from the previous page, passed back unchanged. Leave it out for the first page. A cursor this endpoint did not issue is refused with 400.
limitquery · integerOptionalResults per page, 1 to 100. Defaults to 25. A value outside that range is refused with 400.
Any other query parameter is refused with 400 invalid_request.
Headers
X-Api-Keyheader · stringOptionalYour API key. Or send it as Authorization: Bearer <key>, but never both in one request.
Response
Merchant data.items[]
iduuidThe merchant’s id. Use it with GET /v1/catalog/merchants/{id}.
trading_namestringThe name guests see on nexgapp.com.
categorystringThe taxonomy vertical, for example restaurant, pharmacy or laundry.
category_otherstring or nullFree text describing the business when category is other.
cover_photo_pathstring or nullThe cover image as nexgapp.com loads it: a URL, or a path that resolves against https://nexgapp.com.
featuredbooleanShown in NexG’s featured placements.
city_slugstringThe city, as a slug such as nairobi.
city_namestringThe city’s display name.
branch_namestring or nullThe primary branch’s name.
branch_addressstring or nullThe primary branch’s street address.
branch_latitudenumber or nullLatitude of the primary branch (WGS 84).
branch_longitudenumber or nullLongitude of the primary branch (WGS 84).
listed_attimestampWhen the merchant went live, which is when guests could first see it.
explore_visibleboolean or nullWhether the merchant appears in Explore on nexgapp.com.
concierge_pickboolean or nullChosen by NexG’s concierge team.
accepting_ordersboolean or nullWhether the merchant is taking orders right now.
pay_on_delivery_enabledboolean or nullWhether guests may pay cash on delivery.
pay_on_delivery_cap_kesinteger or nullThe largest order, in whole shillings, that can be paid on delivery.
prep_minutesinteger or nullTypical preparation time, in minutes.
busy_mode_untiltimestamp or nullSet while the merchant is in busy mode: the time it ends.
closed_early_attimestamp or nullSet when the merchant closed early today.
parent_merchant_iduuid or nullFor a chain, the merchant this branch replicates.
subcategorystring or nullThe subcategory within the vertical, when one is set.
Errors
Every error has the same shape; see Errors. Branch on error.code and the HTTP status, never on the message.
- 400
invalid_requestBoth X-Api-Key and Authorization were sent, or Authorization is not a Bearer key.
- 401
not_foundThe key is unknown, revoked or expired, or its merchant cannot use the API right now. All of these get the same answer on purpose.
- 403
not_foundA key was sent but it does not have public_read.
- 429
rate_limitedYour token bucket is empty. Wait the number of seconds in the Retry-After header.
- 503
internal_errorNexG could not check the key or the rate limit. Retry with backoff.
- 400
invalid_requestA query parameter is not one this endpoint accepts, or fails validation. error.fields names it.
- 500
internal_errorNexG could not read the merchants.
- 500
internal_errorSomething unexpected failed on NexG’s side. NexG logs the X-Request-Id: quote it if you report the failure.