Jumia API & Scraper
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.
🤖 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.
search, category/products and deals/flash-sales return 40 products per page with the Jumia SKU, title, brand, image, the price in local currency with the struck-through price and discount, the variant price range, Jumia Express flag, seller id, category path, campaign badge, stock label and other sellers' offer count, sorted by popularity, newest, price or rating and filtered by price, rating, discount, Jumia Express or official stores. product/detail returns the full record - description, key features, what's in the box, gallery, specification table, availability and stock label, flash-sale status and end time, official-store flag, promotions kept apart from the price, return and warranty policy, rating and review count, the seller with its score, followers and performance grades, other sellers' offers, breadcrumb and every size with its own price and stock. product/offers lists every seller cheapest first, product/reviews returns verified reviews with the star histogram, and search/suggest returns Jumia's own search-box completions. Verification on 2026-09-15 covered 12 products in 6 categories across 4 countries: title, price, currency, availability and rating count matched the product page on 12 of 12. No Jumia account, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.
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.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/jumia/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "iphone",
"country": "eg"
}
}{
"ok": true,
"meta": {
"api": "jumia",
"endpoint": "search",
"mode": "live",
"latency_ms": 4159.8,
"record_count": 40,
"bytes": 494820,
"cache_hit": false,
"pagination": {
"page": 1,
"has_more": true,
"page_size": 40,
"total": 15177
},
"country": "eg"
},
"data": {
"results": [
{
"product_id": "AP848MP26KIKRNAFAMZ",
"jumia_id": 134276913,
"product_group_id": null,
"title": "Apple iPhone 17 Pro Max 6.9\" 256GB ROM iOS 26 5G - Cosmic Orange",
"name": "iPhone 17 Pro Max 6.9\" 256GB ROM iOS 26 5G - Cosmic Orange",
"brand": "Apple",
"brand_key": "apple",
"url": "https://www.jumia.com.eg/apple-iphone-17-pro-max-6.9-256gb-rom-ios-26-5g-cosmic-orange-134276913.html",
"image": "https://eg.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/31/9672431/1.jpg?7647",
"price": 99999,
"price_max": null,
"price_before_discount": 110000,
"price_before_discount_max": null,
"discount_percent": 9,
"currency": "EGP",
"search_index_rating": 4,
"search_index_review_count": 1,
"rating_scale": 5,
"jumia_express": true,
"buyable": true,
"seller_id": null,
"categories": [
"Phones & Tablets",
"Mobile Phones",
"Smartphones"
],
"category_key": "ios-phones",
"campaign": "Jumia Festival Deal",
"promotion": null,
"stock_text": null,
"stock_quantity": null,
"other_offers": null,
"variant_count": null,
"variants": null,
"second_chance": false,
"sponsored": false
},
{
"product_id": "AP848MP2T0VIDNAFAMZ",
"jumia_id": 135028696,
"product_group_id": null,
"title": "Apple Iphone 17 ProMax silver 256g",
"name": "Iphone 17 ProMax silver 256g",
"brand": "Apple",
"brand_key": "apple",
"url": "https://www.jumia.com.eg/apple-iphone-17-promax-silver-256g-135028696.html",
"image": "https://eg.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/69/6820531/1.jpg?0858",
"price": 109000,
"price_max": null,
"price_before_discount": null,
"price_before_discount_max": null,
"discount_percent": null,
"currency": "EGP",
"search_index_rating": null,
"search_index_review_count": null,
"rating_scale": null,
"jumia_express": false,
"buyable": true,
"seller_id": 204759,
"categories": [
"Phones & Tablets",
"Mobile Phones",
"Smartphones"
],
"category_key": "ios-phones",
"campaign": null,
"promotion": "New Arrivals-Extra 10%Off -JF",
"stock_text": null,
"stock_quantity": null,
"other_offers": null,
"variant_count": null,
"variants": null,
"second_chance": false,
"sponsored": false
},
{
"product_id": "GE810EA1PCNJ0NAFAMZ",
"jumia_id": 104964030,
"product_group_id": null,
"title": "Charging Cable 3 In 1 (Type-C, Lightning, And Micro USB)",
"name": "Charging Cable 3 In 1 (Type-C, Lightning, And Micro USB)",
"brand": "Generic",
"brand_key": "generic",
"url": "https://www.jumia.com.eg/generic-charging-cable-3-in-1-type-c-lightning-and-micro-usb-104964030.html",
"image": "https://eg.jumia.is/unsafe/fit-in/300x300/filters:fill(white)/product/03/0469401/1.jpg?1614",
"price": 87,
"price_max": null,
"price_before_discount": 250,
"price_before_discount_max": null,
"discount_percent": 65,
"currency": "EGP",
"search_index_rating": 3.6,
"search_index_review_count": 333,
"rating_scale": 5,
"jumia_express": true,
"buyable": true,
"seller_id": 30879,
"categories": [
"Phones & Tablets",
"Accessories",
"Cables"
],
"category_key": "mobile-phone-accessories-cables",
"campaign": "Jumia Festival Deal",
"promotion": null,
"stock_text": null,
"stock_quantity": null,
"other_offers": null,
"variant_count": null,
"variants": null,
"second_chance": false,
"sponsored": false
}
],
"count": 40,
"total_results": 15177,
"total_pages": 50,
"sponsored_dropped": 0,
"breadcrumbs": [
{
"name": "[redacted-name]",
"url": "https://www.jumia.com.eg/all-products/"
},
{
"name": "iphone",
"url": null
}
],
"currency": "EGP",
"language": "en",
"country": "eg",
"query": "iphone",
"redirected_to": null,
"filters_applied": {
"sort": "popular"
}
}
}What the Jumia API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search one Jumia storefront by keyword: Jumia SKU, title, brand, image, price in local currency with the struck price and discount, variant price range, rating and review count, Jumia Express flag, seller id, category path, campaign badge, stock label, other sellers' offer count and lowest price, and size variants. Sort by popularity, newest, price or rating; filter by price, minimum rating, minimum discount, Jumia Express and official stores. 40 products per page. | Pricing teams call search to search one Jumia storefront by keyword. | query, country, language, page, sort, ... |
| category/products | Browse one Jumia category (or brand page) by its path, with the same product rows, sorts, filters and paging as `search`, plus the category breadcrumb. | Marketplace operators call category/products to get browse one Jumia category (or brand page) by its path, with the same product rows, sorts, fil…. | category, country, language, page, sort, ... |
| deals/flash-sales | Jumia's current Flash Sales page for one storefront: the same product rows as `search`, including the stock label Jumia prints on flash-sale items, with sorts, filters and paging. | Catalog enrichment teams call deals/flash-sales to get jumia's current Flash Sales page for one storefront. | country, language, page, sort, price_min, ... |
| product/detail | The full Jumia product record by SKU, numeric id or URL: title, brand, description, key features, what's in the box, gallery, specification table (model, weight, colour, material, barcode when published), price with struck price, discount and variant price range, availability and stock label, flash-sale status and end time, official-store and Jumia Express flags, promotions, return and warranty policy, rating and review count, the seller with its score, followers and performance grades, other sellers' offers, breadcrumb and every size variant with its own price and stock label. | Retail analysts call product/detail to get the full Jumia product record by SKU, numeric id or URL. | product_id, country, language, max_rotations |
| product/offers | Every seller offering one Jumia product: the featured (buy-box) seller with its score, followers and performance grades, and each other seller's price, seller score and warranty, cheapest first, with the offer count Jumia shows. | Pricing teams call product/offers to get every seller offering one Jumia product. | product_id, country, language, max_rotations |
| product/reviews | Verified customer reviews of one Jumia product, 10 per page: average rating, number of ratings, star histogram, number of written reviews, and each review's stars, title, text, date, reviewer name as Jumia shows it and verified-purchase flag. | Marketplace operators call product/reviews to get verified customer reviews of one Jumia product, 10 per page. | product_id, country, language, page, max_rotations |
| search/suggest | Jumia's search-box suggestions for a partial query in one storefront: completed search phrases and suggested official stores or brand pages. | Catalog enrichment teams call search/suggest to get jumia's search-box suggestions for a partial query in one storefront. | query, country, language, max_rotations |
Call search from your stack
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"])const res = await fetch("https://api.reefapi.com/jumia/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "iphone",
"country": "eg"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.jumia.search with {"query":"iphone","country":"eg"}.Who uses this API and why
- 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.
Questions developers ask before integrating
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.