# Konga Scraper (`crawlerbros/konga-scraper`) Actor

Scrape Konga.com - Nigeria's leading online shopping marketplace. Search by keyword or browse Konga's real product categories, filter by price range in NGN, and sort results. Get product names, prices, discounts, ratings, sellers, and images. No login required.

- **URL**: https://apify.com/crawlerbros/konga-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Konga Scraper

Scrape **Konga.com** — Nigeria's leading online shopping marketplace. Search by keyword or browse Konga's real product categories, filter by price range in Nigerian Naira (NGN), and sort by price or rating. Get product names, prices, discounts, ratings, sellers, stock status, and images — all from Konga's public storefront, no login required.

### What this actor does

- **Two modes:** `search` (keyword) and `browseCategory` (Konga's real top-level taxonomy)
- **Price range filter** in NGN, combinable with keyword search or category browse
- **Sort order:** relevance, price low-to-high, price high-to-low, or customer rating
- **Rich product data:** current price, discount percentage, seller, stock status, ratings, and category path
- **Empty fields are omitted** — you'll never see `null`, `""`, or `[]` in the output

### Output per product

- `productId`, `sku`, `name`, `brand`
- `priceNgn` — original listed price
- `specialPriceNgn` — discounted price, if on sale
- `finalPriceNgn` — the price a buyer actually pays; `currency: "NGN"`
- `discountPercent` — computed when a special price applies
- `ratingAverage`, `ratingCount`
- `inStock`, `stockQuantity`
- `categoryTopLevel`, `categoryPath` — deepest matched category breadcrumb
- `attributes` — extra product attributes Konga publishes (color, brand, etc.), when available
- `seller` — `{ name, city, state, isPremium }`
- `isOfficialStore`, `isKongaFulfilled`, `isPayOnDelivery`, `isFreeShipping`, `expressDelivery`
- `availabilityLocations` — pickup/delivery hub locations, when published
- `promoLabel` — e.g. "Hot Deal", when active
- `description` — plain-text product description (HTML stripped, truncated)
- `imageUrl`, `productUrl`
- `recordType: "product"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | select | `search` | `search` (keyword) or `browseCategory` (taxonomy browse) |
| `searchQuery` | string | `phone` | Keyword to search for (mode=search) |
| `category` | select | – | One of Konga's real top-level categories (required for `browseCategory`; optional narrowing filter for `search`) |
| `priceMinNgn` | int | – | Minimum price in NGN |
| `priceMaxNgn` | int | – | Maximum price in NGN |
| `sortBy` | select | `relevance` | `relevance` / `priceLowToHigh` / `priceHighToLow` / `topRated` |
| `maxItems` | int | `20` | Maximum number of products to return (1–1000) |
| `proxyConfiguration` | proxy | AUTO | Optional — see Data Source / Limitations |

#### Example: keyword search

```json
{
  "mode": "search",
  "searchQuery": "smartphone",
  "maxItems": 20
}
```

#### Example: browse a category with a price range

```json
{
  "mode": "browseCategory",
  "category": "Electronics",
  "priceMinNgn": 10000,
  "priceMaxNgn": 50000,
  "sortBy": "priceLowToHigh",
  "maxItems": 30
}
```

#### Example: top-rated products in a category

```json
{
  "mode": "browseCategory",
  "category": "Home and Kitchen",
  "sortBy": "topRated",
  "maxItems": 25
}
```

#### Example: keyword search narrowed to a category and price ceiling

```json
{
  "mode": "search",
  "searchQuery": "speaker",
  "category": "Electronics",
  "priceMaxNgn": 20000,
  "maxItems": 20
}
```

### Use cases

- **Price monitoring** — track NGN pricing and discounts across categories over time
- **Market research** — analyze Nigerian e-commerce catalog breadth by category
- **Competitor benchmarking** — compare Konga listings against other Nigerian marketplaces
- **Deal aggregation** — surface discounted / top-rated products for a niche
- **Seller intelligence** — see which sellers and fulfilment types dominate a category

### Data source / limitations

- Data comes from Konga's public search backend — the same service konga.com's own website calls to render search results in a visitor's browser. No login, cookies, or paid API key are required; the search key used is a public, read-only key that Konga publishes to every site visitor's browser.
- Category values reflect Konga's actual live taxonomy at the time of research; if Konga adds or renames a top-level category, this actor's `category` enum may need an update.
- Apify's free datacenter (AUTO) proxy pool does not currently offer a Nigeria (NG) country option. This actor works reliably from any datacenter IP (no Nigeria-specific IP is required to reach Konga's public search backend), so results are complete either way — geo-pinning to Nigeria would only matter for testing Nigeria-specific redirects or currency display, which this actor already normalizes to NGN regardless of request origin.
- Product descriptions are truncated to keep dataset rows a reasonable size.

### FAQ

**Is this affiliated with Konga?**
No. This is an independent, third-party actor that reads Konga's public search results. It is not affiliated with, endorsed by, or sponsored by Konga.

**Do I need an account, cookies, or an API key?**
No. All data returned is publicly visible to any visitor of konga.com without logging in.

**Why NGN only?**
Konga is a Nigeria-focused marketplace and prices its entire catalog in Nigerian Naira.

**Can I combine `searchQuery` and `category`?**
Yes — in `search` mode, setting both narrows keyword results to a specific category.

**What happens if my filters match nothing?**
The actor finishes successfully with 0 records and a clear status message — it will not error or crash.

**How current is the pricing?**
Prices, discounts, and stock status are read live from Konga at the time the actor runs.

**Is a proxy required?**
No. Konga's public search backend is reliably reachable without any proxy, and also works with Apify's free AUTO datacenter proxy if configured.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `searchQuery` (type: `string`):

(mode=search) Keyword to search for. Optional if `category` is also set, in which case it narrows the category browse.

## `productUrl` (type: `string`):

(mode=productDetail) A Konga product page URL — e.g. the `productUrl` field from a `search` result, such as `https://www.konga.com/product/some-item-123`.

## `category` (type: `string`):

(mode=browseCategory, mode=search) Konga product category (required for mode=browseCategory; optional narrowing filter for mode=search).

## `priceMinNgn` (type: `integer`):

(mode=search, mode=browseCategory) Only return products priced at or above this amount, in Nigerian Naira.

## `priceMaxNgn` (type: `integer`):

(mode=search, mode=browseCategory) Only return products priced at or below this amount, in Nigerian Naira.

## `sortBy` (type: `string`):

(mode=search, mode=browseCategory) How to order results.

## `maxItems` (type: `integer`):

(mode=search, mode=browseCategory) Maximum number of products to return.

## `proxyConfiguration` (type: `object`):

Optional proxy. The free Apify datacenter proxy (AUTO) works fine; a proxy is not required. Apify's free datacenter pool does not currently offer a Nigeria (NG) country option, so results are not geo-pinned to Nigeria — see the README for details.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "phone",
  "sortBy": "relevance",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `products` (type: `string`):

Dataset containing all scraped Konga products.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "searchQuery": "phone",
    "sortBy": "relevance",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/konga-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "searchQuery": "phone",
    "sortBy": "relevance",
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/konga-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "searchQuery": "phone",
  "sortBy": "relevance",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/konga-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/konga-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/4xPDW374AsRsG6lSD/builds/odYj4CYQndPMjzqfN/openapi.json
