Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Kilimall API page →
E-commerce & Marketplaces

Kilimall API & Scraper

Kilimall is an online marketplace in Kenya (kilimall.co.ke) and Uganda (kilimall.ug) where Kilimall and thousands of marketplace stores, local and overseas, sell electronics, phones, home goods and fashion.

5 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

This API reads it as JSON for either country. `search` takes a keyword, a category or a department, with filters for brand, price range, delivery type (Fulfilled by Kilimall, overseas shipment, local dispatch), ships-from country and brand-store badge, sorted by best match, price, top sales or newest, up to 100 listings per page. Each row carries the listing id, title, URL, image, the lowest and highest variant price in Kenyan or Ugandan shillings, the list-price range, rating and review count and the delivery tags. `product` returns one listing in full: the price the page shows (including a running promotion and its end date), the sale and list price, stock as the site shows it plus the Kilimall-warehouse, overseas and seller stock, every variant with its own price and stock, the town it ships from, warranty, exchange and return days, store vouchers, specifications, category path, images, the star histogram and the store with its rating and followers. `reviews` returns the customer reviews with product, delivery and service scores, photos, the variant bought and the seller's reply, `store` a marketplace store and its listings, and `categories` the departments and the category ids search accepts.

Reference

What a Kilimall field actually contains

Fields that read differently from how they look. Every row was measured against live responses on 2026-10-15.

FieldWhat it holds
price (search row)The lowest price among the listing's variants, already including a running promotion. price_max is the highest variant price. list_price_min and list_price_max are the range of crossed-out prices over the variants and need not belong to the same variant, so no discount is computed on a search row.
price, regular_sale_price, list_price, promotion (product)price is what the listing page shows for the default variant: the promotion price while a promotion runs, otherwise the sale price. regular_sale_price is the sale price without the promotion, list_price the crossed-out price. promotion holds the promotion price and its start and end time.
stock_quantity, stock_statusThe quantity the page uses for In Stock / Low Stock (5 or fewer) / Out of Stock. stock_kilimall_warehouse, stock_overseas and stock_seller are the three stock sources the site reads; the overseas figure can be in the thousands for a listing whose Kilimall warehouse holds a handful.
fulfilment, ships_fromkilimall = Fulfilled by Kilimall from a Kilimall warehouse, overseas = Oversea Shipment, local = Local Dispatch by the seller. ships_from is the town the site names (for example Mavoko). Delivery fees and delivery days depend on the buyer's address and are not returned.
rating, review_countThe listing's average stars and the number of reviews. A search row's rating is null when the listing has no review yet; the site itself prints 5.0 there.
storeThe marketplace store: name, Brand Official or Brand Authorized badge, store rating and review count, followers, number of products and the shipping address the store states.
total, total_cappedThe site's own count of matching listings. It stops at 10,000 (total_capped is then true) and the site serves only the first 10,000 results of a search, so last_page never goes past them.

Prices were compared with each listing's own page on kilimall.co.ke for 17 listings in 9 searches: product price matched 17 of 17. A search row price matched the product price on 15 of 16; the other listing has a cheaper variant than the default one, which is what the row shows.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/kilimall/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "iphone"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "kilimall",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 4285.4,
    "record_count": 36,
    "bytes": 34577,
    "cache_hit": false,
    "upstream_requests": 1,
    "total": 952,
    "charged_credits": 2,
    "version": "0.1.0",
    "request_id": "de453f0b0868464c",
    "queue_ms": 2.1,
    "fetched_at": "2026-10-15T17:02:57.780Z"
  },
  "data": {
    "results": [
      {
        "listing_id": "1001816391",
        "sku_id": "10005710505",
        "title": "Refurbished smartphone iphone 7 128GB+2GB 12M+7MP 4.7 inch256G/128G/32G apple with fingerprint iphone7 Already unlocked - globally available Support WhatsApp",
        "short_title": "Apple iPhone 7 Refurbished Smartphone 4.7-inch 128GB Unlocked",
        "url": "https://www.kilimall.co.ke/listing/1001816391",
        "image": "https://img.kilimall.com/gallery/store/100012240/202606/c4a672d6e6654adc9e783ec298141101.jpg?x-image-process=image/format,webp/resize,w_360",
        "currency": "KES",
        "price": 8400,
        "price_max": 10900,
        "list_price_min": 18999,
        "list_price_max": 19999,
        "rating": 4.39,
        "review_count": 18,
        "rating_scale": 5,
        "fulfilment": [
          "kilimall"
        ],
        "delivery_tags": [
          "Fulfilled By Kilimall"
        ],
        "store_badge": "none",
        "big_discount_sale": false,
        "tags": null,
        "highlights": null
      },
      {
        "listing_id": "1001660220",
        "sku_id": "10006356007",
        "title": "Refurbished Apple iPhone 11 Pro 512G/256G/64G Premium Smartphone with Triple-Camera System and A13 Bionic Performance No facial recognition involved.",
        "short_title": "Apple iPhone 11 Pro Refurbished Smartphone with Triple-Camera System and A13 Bionic",
        "url": "https://www.kilimall.co.ke/listing/1001660220",
        "image": "https://img.kilimall.com/gallery/store/100010954/202606/6c72295ba3a0403ca50595c16df16813.jpg?x-image-process=image/format,webp/resize,w_360",
        "currency": "KES",
        "price": 22999,
        "price_max": 38999,
        "list_price_min": 34999,
        "list_price_max": 299999,
        "rating": 4.35,
        "review_count": 31,
        "rating_scale": 5,
        "fulfilment": [
          "kilimall"
        ],
        "delivery_tags": [
          "Fulfilled By Kilimall"
        ],
        "store_badge": "none",
        "big_discount_sale": false,
        "tags": null,
        "highlights": null
      },
      {
        "listing_id": "1001649163",
        "sku_id": "10006851013",
        "title": "Refurbished smartphone iphone 7 128GB+2GB 12M+7MP 4.7 inch256G/128G/32G apple with fingerprint iphone7 Already unlocked - globally available Support WhatsApp",
        "short_title": "Apple iPhone 7 Refurbished 4.7-inch Smartphone with Fingerprint Sensor",
        "url": "https://www.kilimall.co.ke/listing/1001649163",
        "image": "https://img.kilimall.com/gallery/store/100010954/202606/6051a6f987e34e80ada5a2ce9b71bfcd.jpg?x-image-process=image/format,webp/resize,w_360",
        "currency": "KES",
        "price": 8499,
        "price_max": 12999,
        "list_price_min": 11999,
        "list_price_max": 19999,
        "rating": 4.64,
        "review_count": 14,
        "rating_scale": 5,
        "fulfilment": [
          "kilimall"
        ],
        "delivery_tags": [
          "Fulfilled By Kilimall"
        ],
        "store_badge": "none",
        "big_discount_sale": false,
        "tags": null,
        "highlights": null
      }
    ],
    "total": 952,
    "total_capped": false,
    "page": 1,
    "page_size": 36,
    "last_page": 27,
    "has_more": true,
    "country": "KE",
    "currency": "KES",
    "query": "iphone",
    "sort": "relevance",
    "filters_applied": {}
  }
}
Actions

What the Kilimall API does

ActionDescriptionConcrete use caseKey params
searchSearch Kilimall (Kenya kilimall.co.ke or Uganda kilimall.ug) by keyword and/or category, department or brand, with a price range, fulfilment (Fulfilled by Kilimall / overseas shipment / local dispatch), ships-from country and store badge filters, sorted by relevance, price, top sales or newest. Each row: listing id, title, URL, image, lowest and highest variant price, list-price range, rating and review count, fulfilment tags, store badge (brand_official / brand_authorized / none). Plus the source's total (capped at 10,000). One of `query`, `category_id` or `department_id` is required.Pricing teams call search to search Kilimall (Kenya kilimall.co.ke or Uganda kilimall.ug) by keyword and/or category, depa….query, category_id, department_id, brand, min_price, ...
productFull record of one Kilimall listing: title, price in KES / UGX (the live promotion price when one runs, with its window), sale and list price, discount, stock as the site shows it plus the Kilimall-warehouse / overseas / seller stock, every variant with its own price and stock, fulfilment and ships-from town, warranty / exchange / return days, store vouchers, specifications, category path, images, video, rating histogram and the store with its rating and followers.Marketplace operators call product to get full record of one Kilimall listing.listing_id
reviewsCustomer reviews of one Kilimall listing: product, delivery and service score, review text, photos, the variant bought and its price, reviewer name as the site shows it ('Anonymous User' for reviewers who chose anonymity), date, likes and the seller's reply. Paged, with the source's total.Catalog enrichment teams call reviews to get customer reviews of one Kilimall listing.listing_id, sort, page, page_size, country
storeA Kilimall marketplace store: name, badge (brand official / authorised), rating and review count, followers, number of products, shipping address as the store states it, plus one page of the store's listings (same row shape as search), optionally searched and sorted.Retail analysts call store to get a Kilimall marketplace store.store_id, query, sort, country, page, ...
categoriesKilimall's departments (id, name) as the site's menu lists them; with `department_id`, the categories the source lists under that department (id, name) — those ids work in search `category_id`.Pricing teams call categories to get kilimall's departments (id, name) as the site's menu lists them; with `department_id`, the ca….department_id, country
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/kilimall/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"iphone"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.kilimall.search with {"query":"iphone"}.
Use cases

Who uses this API and why

  • Track Kilimall prices and promotions in Kenyan shillings daily for a product list.
  • Compare Kilimall and Jumia prices for the same products in Kenya.
  • Find listings Fulfilled by Kilimall in a category, cheapest first.
  • Monitor a marketplace store's catalogue, rating and followers.
  • Collect product reviews and ratings for East African consumer research.
FAQ

Questions developers ask before integrating

Which countries and currencies?

Kenya (country=KE, kilimall.co.ke, prices in KES) and Uganda (country=UG, kilimall.ug, prices in UGX). The two sites have different catalogues: iphone returned 952 listings in Kenya and 17 in Uganda on the same day.

Do I need a Kilimall account?

No. Prices, stock, stores, ratings and reviews are read logged out.

Which filters are there and do they work?

Category, department, brand, price range, delivery type, ships-from country and store badge. Each was checked against the unfiltered count in the same run: iphone 952 → Fulfilled by Kilimall 20, overseas shipment 402, local dispatch 530; 5,000 to 20,000 KES 237; Refurbished Phones category 608; ships from China 410; brand official stores 11.

Is the promotion price included?

Yes. When a promotion runs, product.price is the promotion price the page shows and promotion gives its start and end; the normal sale price stays in regular_sale_price. Search rows already show the promotion price.

How deep can I page?

Up to the first 10,000 results of a search, which is the site's own limit; for most keywords that is every result (iphone has 952). Up to 100 listings per page.

Is the delivery fee included?

No. Kilimall works out the delivery fee and delivery days from the buyer's address at checkout. The API returns the delivery type and the town the item ships from.

How do I find category ids?

categories lists Kilimall's departments; categories with a department_id lists the categories under it with the ids search accepts. Every product also returns its category path.

What is the Kilimall API?

Kilimall API is a ReefAPI endpoint group for kenya and uganda marketplace: shilling prices with list price and promotions, stock, fulfilled by kilimall or overseas shipment, stores and reviews. It returns live JSON through POST requests under /kilimall/v1.

Is the Kilimall API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Kilimall calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Kilimall login or account?

No login to Kilimall is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Kilimall data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Kilimall API use?

Kilimall actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Kilimall from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call kilimall actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Kilimall API a Kilimall scraper?

It is the managed alternative to a DIY Kilimall scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same kenya and uganda marketplace: shilling prices with list price and promotions, stock, fulfilled by kilimall or overseas shipment, stores and reviews back as clean JSON.

docs / kilimall

Kilimall

Kenya and Uganda marketplace: shilling prices with list price and promotions, stock, Fulfilled by Kilimall or overseas shipment, stores and reviews.

base /kilimall/v15 endpoints
post/kilimall/v1/product3 credits

Full record of one Kilimall listing: title, price in KES / UGX (the live promotion price when one runs, with its window), sale and list price, discount, stock as the site shows it plus the Kilimall-warehouse / overseas / seller stock, every variant with its own price and stock, fulfilment and ships-from town, warranty / exchange / return days, store vouchers, specifications, category path, images, video, rating histogram and the store with its rating and followers.

ParameterAllowed / rangeDescription
listing_idrequired—Kilimall listing id exactly as a search row returns it in `listing_id` (digits; the number after /listing/ in a kilimall.co.ke or kilimall.ug URL). A listing URL is accepted too.
country = KEoptionalKE · UGWhich Kilimall site: KE (Kenya, KES) or UG (Uganda, UGX).
Try in playground →
post/kilimall/v1/reviews2 credits

Customer reviews of one Kilimall listing: product, delivery and service score, review text, photos, the variant bought and its price, reviewer name as the site shows it ('Anonymous User' for reviewers who chose anonymity), date, likes and the seller's reply. Paged, with the source's total.

ParameterAllowed / rangeDescription
listing_idrequired—Kilimall listing id exactly as a search row returns it in `listing_id` (digits; the number after /listing/ in a kilimall.co.ke or kilimall.ug URL). A listing URL is accepted too.
sort = topoptionaltop · defaultReview order as the site offers it.
country = KEoptionalKE · UGWhich Kilimall site: KE (Kenya, KES) or UG (Uganda, UGX).
page = 1optional1–500Page, starting at 1.
page_size = 20optional1–50Reviews per page (1-50).
Try in playground →
post/kilimall/v1/store3 credits

A Kilimall marketplace store: name, badge (brand official / authorised), rating and review count, followers, number of products, shipping address as the store states it, plus one page of the store's listings (same row shape as search), optionally searched and sorted.

ParameterAllowed / rangeDescription
store_idrequired—Store id (digits) — a product's `store.store_id`.
queryoptional—Only this store's listings matching these words.
sort = relevanceoptionalrelevance · price_asc · price_desc · top_sales · newestOrder of the store's listings.
country = KEoptionalKE · UGWhich Kilimall site: KE (Kenya, KES) or UG (Uganda, UGX).
page = 1optional1–1000Result page, starting at 1. The source serves the first 10,000 results only.
page_size = 36optional1–100Rows per page (1-100; the site uses 36).
Try in playground →
post/kilimall/v1/categories2 credits

Kilimall's departments (id, name) as the site's menu lists them; with `department_id`, the categories the source lists under that department (id, name) — those ids work in search `category_id`.

ParameterAllowed / rangeDescription
department_idoptional—A department id from this action's first call.
country = KEoptionalKE · UGWhich Kilimall site: KE (Kenya, KES) or UG (Uganda, UGX).
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.