Jumia API

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.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Jumia endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
J
/jumia/v1

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.

7 endpoints

search

1 cr

Search one Jumia storefront by keyword.

required
query
optional
country, language, page, sort, price_min, price_max, min_rating, min_discount, express_only, official_store_only, include_sponsored, max_rotations

category/products

1 cr

Browse one Jumia category (or brand page) by its path, with the same product rows, sorts, fil…

required
category
optional
country, language, page, sort, price_min, price_max, min_rating, min_discount, express_only, official_store_only, include_sponsored, max_rotations

deals/flash-sales

1 cr

Jumia's current Flash Sales page for one storefront.

required
optional
country, language, page, sort, price_min, price_max, min_rating, min_discount, express_only, official_store_only, include_sponsored, max_rotations

product/detail

1 cr

The full Jumia product record by SKU, numeric id or URL.

required
product_id
optional
country, language, max_rotations

product/offers

1 cr

Every seller offering one Jumia product.

required
product_id
optional
country, language, max_rotations

product/reviews

1 cr

Verified customer reviews of one Jumia product, 10 per page.

required
product_id
optional
country, language, page, max_rotations

search/suggest

1 cr

Jumia's search-box suggestions for a partial query in one storefront.

required
query
optional
country, language, max_rotations

Every parameter, every allowed value →

Jumia API

3 of 7 endpoints, ready to run

View docs ↗

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.

1 credit1 required · 3 optional
POST/jumia/v1/search
ok9188 ms · 40 records · sample
{
  "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"
    }
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows. Press Try it for the untrimmed response.

How the Jumia API works

Jumia is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 252 engines.

02
Call
POST /jumia/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

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.

01search
POST/jumia/v1/search
{"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.

02offers
POST/jumia/v1/product/offers
{"product_id": "<product_id>", "country": "ke"}

The featured seller with its score and grades, plus every other seller's price, cheapest first.

03search
POST/jumia/v1/search
{"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.

request
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"}'
response envelope
{
  "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 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.

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.

Eight countries, seven currencies, three languages

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.

Checked against the product page

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.

Ranges, flash sales and promotions kept apart

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.

Sellers and other offers

The featured seller's score, followers and performance grades, and every other seller's price and score on the same product.

Honest empty results

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.

Against us: Tunisia and Algeria are closed

Jumia's Tunisian and Algerian storefronts no longer trade; country=tn or dz returns MARKET_UNAVAILABLE.

Against us: barcodes and exact stock are rare

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.

Against us: some pages are slow

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.

7

endpoints

1

credit per call

01

Pan-African price monitoring: the same brand's price, discount and flash-sale status per country, in local currency.

02

Marketplace sellers track competing sellers' offers, seller scores and follower counts on their products.

03

Brands audit official-store coverage per country with official_store_only and the per-product official_store flag.

04

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 →
$0.67–$1.50 / 1,000 credits
  • 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
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"}'
python
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"])
FAQ

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.

0/4000

No account needed · we reply from [email protected]

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.