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

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.

7 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.

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.

Reference

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 showsWhat the API returns
Trendyol knitted dress (Nigeria)₦ 3,760 - ₦ 17,000price 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 Septprice 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 leftprice 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.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "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"
  }
}
Captured response
{
  "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"
    }
  }
}
Actions

What the Jumia API does

ActionDescriptionConcrete use caseKey params
searchSearch 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/productsBrowse 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-salesJumia'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/detailThe 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/offersEvery 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/reviewsVerified 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/suggestJumia'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
Code samples

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"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.jumia.search with {"query":"iphone","country":"eg"}.
Use cases

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.
FAQ

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.

docs / jumia

Jumia

Africa's largest marketplace: products, prices, sellers and reviews in eight countries.

base /jumia/v17 endpoints
post/jumia/v1/category/products1 credit

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.

ParameterAllowed / rangeDescription
categoryrequiredJumia category path — the part of a category URL after the domain (https://www.jumia.com.ng/phones-tablets/ → phones-tablets). A full category URL is accepted. Paths differ per country (French storefronts use French paths); `breadcrumbs[].url` on a product returns them.
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
page = 1optional1–50Result page, 1-50, 40 products per page (Jumia shows at most 50 pages). A page past the end returns an empty list.
sort = popularoptionalpopular · newest · price_asc · price_desc · ratingOrder of results — only orderings Jumia offers.
price_minoptional0–Lowest price in the country's currency.
price_maxoptional0–Highest price in the country's currency.
min_ratingoptional1–4Only products rated at least this many stars (1-4).
min_discountoptional10 · 20 · 30 · 40 · 50Only products discounted by at least this percentage.
express_only = falseoptionalOnly products shipped by Jumia Express.
official_store_only = falseoptionalOnly products from official brand stores.
include_sponsored = falseoptionalKeep rows Jumia marks as sponsored (flagged `sponsored: true`). Off by default; `sponsored_dropped` counts what was removed.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →
post/jumia/v1/deals/flash-sales1 credit

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.

ParameterAllowed / rangeDescription
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
page = 1optional1–50Result page, 1-50, 40 products per page (Jumia shows at most 50 pages). A page past the end returns an empty list.
sort = popularoptionalpopular · newest · price_asc · price_desc · ratingOrder of results — only orderings Jumia offers.
price_minoptional0–Lowest price in the country's currency.
price_maxoptional0–Highest price in the country's currency.
min_ratingoptional1–4Only products rated at least this many stars (1-4).
min_discountoptional10 · 20 · 30 · 40 · 50Only products discounted by at least this percentage.
express_only = falseoptionalOnly products shipped by Jumia Express.
official_store_only = falseoptionalOnly products from official brand stores.
include_sponsored = falseoptionalKeep rows Jumia marks as sponsored (flagged `sponsored: true`). Off by default; `sponsored_dropped` counts what was removed.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →
post/jumia/v1/product/detail1 credit

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.

ParameterAllowed / rangeDescription
product_idrequiredJumia product: the SKU every search row returns as `product_id` (e.g. AP848MP26KIKRNAFAMZ), the numeric id at the end of a product URL (…-134276913.html → 134276913), or a full Jumia product URL (its country is used when `country` is not given). A SKU costs one extra lookup; a URL or numeric id is read directly.
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →
post/jumia/v1/product/offers1 credit

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.

ParameterAllowed / rangeDescription
product_idrequiredJumia product: the SKU every search row returns as `product_id` (e.g. AP848MP26KIKRNAFAMZ), the numeric id at the end of a product URL (…-134276913.html → 134276913), or a full Jumia product URL (its country is used when `country` is not given). A SKU costs one extra lookup; a URL or numeric id is read directly.
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →
post/jumia/v1/product/reviews1 credit

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.

ParameterAllowed / rangeDescription
product_idrequiredJumia product: the SKU every search row returns as `product_id` (e.g. AP848MP26KIKRNAFAMZ), the numeric id at the end of a product URL (…-134276913.html → 134276913), or a full Jumia product URL (its country is used when `country` is not given). A SKU costs one extra lookup; a URL or numeric id is read directly.
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
page = 1optional1–500Review page, 1-based, 10 reviews per page. Past the end → empty list.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →
post/jumia/v1/search/suggest1 credit

Jumia's search-box suggestions for a partial query in one storefront: completed search phrases and suggested official stores or brand pages.

ParameterAllowed / rangeDescription
queryrequiredThe beginning of a search, as typed.
country = egoptionaleg · ng · ke · ma · ci · gh · ug · snJumia storefront: eg Egypt (EGP), ng Nigeria (NGN), ke Kenya (KES), ma Morocco (MAD), ci Côte d'Ivoire (XOF), gh Ghana (GHS), ug Uganda (UGX), sn Senegal (XOF). Prices come back in that country's currency. Jumia Tunisia and Algeria are closed.
languageoptionalen · fr · arPage language. Defaults to the storefront's own language (English, or French for Morocco, Côte d'Ivoire and Senegal). Arabic exists for Egypt and Morocco only.
max_rotations = 3optional1–5Advanced: how many times to retry a difficult request (1-5).
Try in playground →