Co APIjumia.co.ke ↗
Access Jumia Kenya product listings, prices, specs, reviews, flash sales, and category data via 8 structured API endpoints.
What is the Co API?
The Jumia Kenya API provides 8 endpoints covering product search, category browsing, detailed product specs, customer reviews, flash sales, and homepage deals from jumia.co.ke. The search_products endpoint accepts a keyword query and returns paginated listings including name, price, brand, category, slug, and optional rating and review count. Whether you're tracking prices, analyzing product availability, or monitoring promotions, the API surfaces the data in structured JSON.
curl -X GET 'https://api.parse.bot/scraper/cab0bf0b-4e99-4167-b8f5-279aa64d4d9e/search_products?page=1&query=laptop' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace jumia-co-ke-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Jumia Kenya SDK — search products, browse categories, get details and reviews."""
from parse_apis.jumia_kenya_api import Jumia, Product, ProductNotFound
client = Jumia()
# Search for products — limit= caps TOTAL items fetched across all pages.
for product in client.products.search(query="smartphone", limit=5):
print(product.name, product.price, product.brand)
# Drill into one product's full details via .first()
product = client.products.search(query="laptop", limit=1).first()
if product:
detail = product.details()
print(detail.name, detail.current_price, len(detail.images), "images")
# Browse reviews on that product
if product:
for review in product.reviews.list(limit=3):
print(review.author, review.rating, review.text)
# List categories and browse one category's products
category = client.categories.list(limit=1).first()
if category:
for item in category.products(limit=3):
print(item.name, item.price, item.discount_percentage)
# Flash sales — current deals
for deal in client.products.flash_sales(limit=3):
print(deal.name, deal.price, deal.original_price)
# Typed error handling: construct a Product by SKU and catch not-found
try:
bad_product = Product(_api=client, id="INVALID_SKU_12345")
bad_product.details()
except ProductNotFound as exc:
print(f"Product not found: {exc.sku}")
# Homepage deal sections
for section in client.dealsections.list(limit=2):
print(section.title, len(section.products), "products")
print("exercised: products.search / product.details / product.reviews.list / categories.list / category.products / products.flash_sales / dealsections.list")
Full-text search over Jumia Kenya product listings. Returns paginated results matching the query keyword. Each result includes product name, SKU, brand, category, price, URL slug, and optional rating/discount fields. Pagination is page-based; total_results may be null when the site omits the count.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to retrieve |
| queryrequired | string | Search keyword (e.g. 'laptop', 'smartphone', 'samsung') |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"products": "array of product objects with name, id, brand, category, price, url, slug, and optional rating, reviews_count, original_price, discount_percentage, image_url",
"total_results": "integer or null if count not available on page"
},
"sample": {
"data": {
"page": 1,
"products": [
{
"id": "HP246CL59HQP0NAFAMZ",
"url": "https://www.jumia.co.ke/hp-renewed-hp-stream-11-pro-g5-laptop-327157281.html",
"name": "Renewed HP Stream 11 Pro G5 Laptop",
"slug": "hp-renewed-hp-stream-11-pro-g5-laptop-327157281",
"brand": "HP",
"price": "KSh 8,199",
"category": "Computing",
"image_url": "https://ke.jumia.is/product/18/2751723/1.jpg",
"reviews_count": 33,
"original_price": "KSh 24,999"
}
],
"total_results": null
},
"status": "success"
}
}About the Co API
Product Search and Discovery
The search_products endpoint takes a query string (for example, 'laptop' or 'samsung') and an optional page integer, returning an array of product objects with fields including name, id, brand, category, price, url, slug, rating, reviews_count, original_price, and discount information where available. get_category_products works similarly but scopes results to a specific category slug — like 'phones-tablets' or 'computing' — obtainable from list_categories, which reads the site's navigation menu and returns each category's name, url, and slug.
Product Details and SKU Lookup
get_product_details accepts a slug from search or category results and returns the full product record: name, current_price, images (array of URLs), specifications (key-value pairs), and gtm_data when present. For cases where you already hold a SKU, get_product_by_sku returns the core product card — id, url, name, slug, brand, price, category, and image_url — without requiring a slug. These two lookup endpoints let you start from either identifier.
Reviews, Flash Sales, and Deals
get_product_reviews takes a sku and returns an array of review objects, each with rating, title, text, date, author, and a verified_purchase boolean. get_flash_sales requires no inputs and returns the current flash sale product list including optional discount_percentage per item. get_homepage_deals returns an array of deal sections, each containing a title and a products array, reflecting the promotional groupings shown on the homepage.
The Co API is a managed, monitored endpoint for jumia.co.ke — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jumia.co.ke changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official jumia.co.ke API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes across Jumia Kenya product listings using
search_productsand comparingpriceandoriginal_priceover time. - Build a Kenyan e-commerce price comparison tool by fetching
specificationsandcurrent_pricefromget_product_details. - Aggregate customer sentiment by pulling
rating,text, andverified_purchasefields fromget_product_reviewsacross multiple SKUs. - Monitor active promotions by polling
get_flash_salesandget_homepage_dealsto surface discount opportunities. - Populate a product catalog feed by iterating
get_category_productsacross category slugs fromlist_categories. - Resolve product metadata from a known SKU list using
get_product_by_skuto enrich datasets withbrand,category, andimage_url. - Analyze category depth and breadth on Jumia Kenya by mapping slugs returned from
list_categoriesto product counts.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Jumia Kenya have an official developer API?+
What does `get_product_details` return that `search_products` does not?+
search_products returns summary-level fields: name, price, brand, category, slug, and optional rating and reviews_count. get_product_details adds specifications (a key-value object of product attributes), a full images array, and gtm_data when available. Use the slug from search results as the input to get_product_details to retrieve the expanded record.Is seller or merchant information available for individual products?+
Does pagination work consistently across all listing endpoints?+
search_products and get_category_products both accept an optional page integer, and search_products returns a total_results field that may be null if the count is not available on a given page. get_flash_sales and get_homepage_deals return full available sets in a single call and do not support pagination.