Africa's largest marketplace as JSON, in eight countries and three languages
The Jumia API turns Africa's largest marketplace into clean JSON across eight storefronts - Egypt (EGP), Nigeria (NGN), Kenya (KES), Morocco (MAD), Côte d'Ivoire (XOF), Ghana (GHS), Uganda (UGX) and Senegal (XOF) - with Arabic for Egypt and Morocco and French for Morocco, Côte d'Ivoire and Senegal.
7 active endpoints. Every call is 1 credit.
- POST/jumia/v1/search
- POST/jumia/v1/category/products
- POST/jumia/v1/deals/flash-sales
- POST/jumia/v1/product/detail
- POST/jumia/v1/product/offers
- POST/jumia/v1/product/reviews
- POST/jumia/v1/search/suggest
What Jumia endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Jumia API
3 of 7 endpoints, ready to run
Jumia's product grid for a keyword in one country: SKU, title, brand, image, price in local currency with the struck-through price and discount, variant price range, Jumia Express flag, category path, campaign badge, stock label and other sellers' offers.
{ "ok": true, "meta": { "api": "jumia", "endpoint": "search", "mode": "live", "latency_ms": 9187.6, "record_count": 40, "cache_hit": false }, "data": { "results": [ { "product_id": "SA948MP6Z6LPDNAFAMZ", "jumia_id": 418619812, "product_group_id": null, "title": "Samsung Galaxy A07 6.7\" 4GB RAM/128GBGB ROM - Black", "name": "Galaxy A07 6.7\" 4GB RAM/128GBGB ROM - Black", "brand": "Samsung", "brand_key": "samsung", "url": "https://www.jumia.com.ng/samsung-galaxy-a07-6.7-4gb-ram128gbgb-rom-black-418619812.html", "image": "https://ng.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/21/8916814/1.jpg?6957", "price": 201071, "price_max": null, "price_before_discount": 250000, "price_before_discount_max": null, "discount_percent": 20, "currency": "NGN", "search_index_rating": 4.1, "search_index_review_count": 343, "rating_scale": 5, "jumia_express": true, "buyable": true, "seller_id": 338501, "categories": [ "Phones & Tablets", "Mobile Phones", "Smartphones" ], "category_key": "android-phones", "campaign": "JBF", "promotion": "HAPPY HOUR: XTRA 5K OFF", "stock_text": null, "stock_quantity": null, "other_offers": null, "variant_count": 1, "variants": [ { "variant_sku": "SA948MP6Z6LPDNAFAMZ-719263463", "name": "Black", "buyable": true } ], "second_chance": false, "sponsored": false }, { "product_id": "SA948MP72DG49NAFAMZ", "jumia_id": 418894272, "product_group_id": null, "title": "Samsung Galaxy A17 6.7\" HD 6GB RAM/128GB ROM Android 14 - Black", "name": "Galaxy A17 6.7\" HD 6GB RAM/128GB ROM Android 14 - Black", "brand": "Samsung", "brand_key": "samsung", "url": "https://www.jumia.com.ng/samsung-galaxy-a17-6.7-hd-6gb-ram128gb-rom-android-14-black-418894272.html", "image": "https://ng.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/27/2498814/1.jpg?9257", "price": 244942.11, "price_max": null, "price_before_discount": 258466, "price_before_discount_max": null, "discount_percent": 5, "currency": "NGN", "search_index_rating": 4.5, "search_index_review_count": 134, "rating_scale": 5, "jumia_express": true, "buyable": true, "seller_id": 338501, "categories": [ "Phones & Tablets", "Mobile Phones", "Smartphones" ], "category_key": "android-phones", "campaign": "JBF", "promotion": "HAPPY HOUR: XTRA 5K OFF", "stock_text": null, "stock_quantity": null, "other_offers": null, "variant_count": null, "variants": null, "second_chance": false, "sponsored": false }, { "product_id": "SA948MP868441NAFAMZ", "jumia_id": 418658149, "product_group_id": null, "title": "Samsung Galaxy A07 6.7\" 4GB RAM/128GB ROM - Black", "name": "Galaxy A07 6.7\" 4GB RAM/128GB ROM - Black", "brand": "Samsung", "brand_key": "samsung", "url": "https://www.jumia.com.ng/samsung-galaxy-a07-6.7-4gb-ram128gb-rom-black-418658149.html", "image": "https://ng.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/94/1856814/1.jpg?0618", "price": 179995, "price_max": null, "price_before_discount": 250000, "price_before_discount_max": null, "discount_percent": 28, "currency": "NGN", "search_index_rating": 4.2, "search_index_review_count": 386, "rating_scale": 5, "jumia_express": true, "buyable": true, "seller_id": 339709, "categories": [ "Phones & Tablets", "Mobile Phones", "Smartphones" ], "category_key": "android-phones", "campaign": "JBF", "promotion": "HAPPY HOUR: XTRA 5K OFF", "stock_text": null, "stock_quantity": null, "other_offers": null, "variant_count": 1, "variants": [ { "variant_sku": "SA948MP868441NAFAMZ-719315360", "name": "Black", "buyable": true } ], "second_chance": false, "sponsored": false } ], "count": 40, "total_results": 49, "total_pages": 2, "sponsored_dropped": 0, "breadcrumbs": [ { "name": "Samsung Store", "url": null } ], "currency": "NGN", "language": "en", "country": "ng", "query": "samsung", "redirected_to": "/mlp-samsung-store/", "filters_applied": { "sort": "popular" } } }
How the Jumia API works
Jumia is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Compare one brand's price and sellers across African countries
Each Jumia storefront has its own catalogue, prices and sellers. Search each country, then open the products you care about.
{"query": "samsung galaxy a16", "country": "ke", "sort": "price_asc"}40 products with price, struck price, Jumia Express and other-offer counts. Take results[].product_id.
{"product_id": "<product_id>", "country": "ke"}The featured seller with its score and grades, plus every other seller's price, cheapest first.
{"query": "samsung galaxy a16", "country": "ng"}The same search in Nigeria, in NGN - different products, prices and sellers.
A per-country view of who sells a product, for how much and with what seller score, without mixing ranges, flash prices and promotions into one number.
curl -X POST https://api.reefapi.com/jumia/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"iphone","country":"eg"}'{
"ok": true,
"data": { … },
"meta": {
"api": "jumia",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}One product, several prices - which one is the price?
A Jumia product page can show a price range, a flash-sale price that has not started yet, a struck-through price and a list of promotions, all at once. This engine keeps them apart: price is the lowest price you can pay now for some variant, price_max the highest, each size carries its own price, flash_sale says whether the sale is running or upcoming, and promotions are returned as text and never subtracted.
| Product (storefront) | What the page shows | What the API returns |
|---|---|---|
| Trendyol knitted dress (Nigeria) | ₦ 3,760 - ₦ 17,000 | price 3760, price_max 17000, sizes EU 36 / 38 / 40 at 3,760 / 17,000 / 6,060 |
| Samsung Galaxy A16 case (Kenya) | KSh 161, Flash Sale starts 19 Sept | price 161, flash_sale.status upcoming, starts_text "19 Sept, 4:00pm" |
| iPhone 17 Pro Max 256 GB (Egypt) | EGP 92,925 flash price, 1 item left | price 92925, price_before_discount 110000, flash_sale active with ends_at, stock_quantity 1 |
| Activ leather sneakers (Egypt) | EGP 749 and "Use code OF100 - EGP 100 off" | price 749; the code is in promotions, not subtracted |
Rows were captured on 2026-09-15 and prices move daily. The case the table guards against is the range: reading Jumia's single price field alone returns the cheapest size, and the Nigerian dress above would look like a ₦ 3,760 dress in every size.
Which countries, which price, which currency, and what Jumia leaves out
Eight storefronts on one platform, measured on 2026-09-15 with live calls in every country and a 12-product check against the product pages. Three rows go against us.
eg EGP, ng NGN, ke KES, ma MAD, ci XOF, gh GHS, ug UGX, sn XOF. English, French for Morocco, Côte d'Ivoire and Senegal, Arabic for Egypt and Morocco. The currency on every row was checked against each storefront's own product data.
On 12 products across phones, fashion, appliances, beauty, TV and home in Egypt, Nigeria, Kenya and Morocco, title, price, currency, availability and rating count matched the product page on 12 of 12.
price is the lowest variant price and price_max the highest, with each size priced on its own; flash_sale says active (with an end time) or upcoming; promotions and coupon codes are text, never subtracted.
The featured seller's score, followers and performance grades, and every other seller's price and score on the same product.
Nonsense searches return an empty list (8 of 8 countries) - no padding with unrelated products - and a keyword that Jumia answers with a category page returns that page's products with redirected_to set.
Jumia's Tunisian and Algerian storefronts no longer trade; country=tn or dz returns MARKET_UNAVAILABLE.
gtin was present on 3 of 12 verified products, and when Jumia prints "Few units left" there is no number to return, so stock_quantity is null.
Typical calls return in 2 to 5 seconds, but a few Jumia pages take 10 to 30 seconds to answer.
What people build with Jumia
The jobs this data is most often used for.
endpoints
credit per call
Pan-African price monitoring: the same brand's price, discount and flash-sale status per country, in local currency.
Marketplace sellers track competing sellers' offers, seller scores and follower counts on their products.
Brands audit official-store coverage per country with official_store_only and the per-product official_store flag.
Review mining in English, French and Arabic with star histograms and verified-purchase flags.
What Jumia data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 252 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/jumia/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"iphone","country":"eg"}'import requests
r = requests.post(
"https://api.reefapi.com/jumia/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "iphone",
"country": "eg"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Jumia.
Get a free key →Which Jumia countries are covered, and in which currency?▾
Eight storefronts: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX) and sn Senegal (XOF). The currency is on every row, product and offer, and was checked against each storefront's own product data. Jumia Tunisia and Jumia Algeria have closed; country=tn or dz returns MARKET_UNAVAILABLE.
Can I get Arabic or French?▾
Morocco, Côte d'Ivoire and Senegal answer in French by default. language=ar is available for Egypt and Morocco. Other combinations return INVALID_PARAM rather than a page in the wrong language.
What id do I pass to product/detail?▾
The product_id every search row returns (the Jumia SKU, such as AP848MP26KIKRNAFAMZ), the numeric id at the end of a product URL, or the product URL itself - a pasted URL also sets the country.
Is a flash-sale price the price right now?▾
Only when flash_sale.status is active, which also carries ends_at. Jumia already shows the flash price on products whose sale has not started; those return status upcoming with the start time as Jumia prints it.
Does it show other sellers?▾
Yes. product/detail returns the featured seller with its score, followers and performance grades, offer_count as Jumia shows it, and the other sellers' offers with price, seller score and warranty. product/offers returns the same list cheapest first.
Why do search rows call the rating search_index_rating?▾
Because it comes from Jumia's search index and can lag the product page: in the 12-product check one row showed 4.5 from 15 ratings while its product page showed 4.3 from 16. product/detail returns the product page's own figure.
What happens when a search has no results?▾
You get an empty list with total_results 0. Jumia does not pad empty searches with unrelated products (8 nonsense queries in 8 countries all returned 0), while its own typo tolerance is kept: iphnoe still finds iPhones. When Jumia answers a keyword with a category or brand page, the products of that page are returned and redirected_to names it.
What does Jumia NOT publish?▾
A barcode on most products (gtin was present on 3 of 12 verified products), an exact stock number when the page only says "Few units left" (stock_quantity is null then), and a rating on products nobody has rated yet. The delivery line is for Jumia's default delivery location, not yours.
What is the Jumia API?▾
Jumia API is a ReefAPI endpoint group for africa's largest marketplace: products, prices, sellers and reviews in eight countries. It returns live JSON through POST requests under /jumia/v1.
Is the Jumia API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Jumia calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Jumia login or account?▾
No login to Jumia 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 Jumia 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 Jumia API use?▾
Jumia actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Jumia from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call jumia actions with the same key, credit pool and JSON envelope used by normal REST requests.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Jumia, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 251 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-15.