# Tokopedia Marketplace Scraper (`parseforge/tokopedia-scraper`) Actor

Scrapes Tokopedia product listings by search keyword and returns each product as a flat row with title, price, rating, seller info, and URL. Export to CSV, JSON, Excel, or XML.

- **URL**: https://apify.com/parseforge/tokopedia-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Integrations
- **Stats:** 2 total users, 1 monthly users, 89.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

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

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Tokopedia Marketplace Scraper

**Scrape Tokopedia product listings from any search keyword, up to a million products per run.** Every product comes with its title, price, rating, seller info, and direct URL. No login or API key. Export to CSV, JSON, Excel, or XML.

Tokopedia is Indonesia's largest marketplace, but manually collecting product data across thousands of listings is slow and error-prone. This scraper reads the public search results directly, letting you pull structured product data by keyword without any registration or rate-limit headaches. It is built for market researchers, ecommerce managers, and data analysts who need clean, consistent Tokopedia data at scale.

| Who uses it | What they scrape Tokopedia for |
|---|---|
| Market researchers | Track which brands and products dominate a category in Indonesia right now. |
| Ecommerce managers | Monitor competitor pricing and assortment on Tokopedia daily. |
| Data analysts | Build a structured dataset of product attributes for price elasticity models. |
| Dropshippers | Find trending products and reliable suppliers by seller rating and stock level. |

### What it does

This Actor collects Tokopedia product listings by search keyword and returns each product as a flat row.

- 🔍 **Keyword search:** feed it any product name or keyword in Bahasa Indonesia or English, and it returns matching listings.
- 📊 **Structured output:** each row is a flat product record with title, price, rating, seller, and URL, ready for analysis.
- ⚡ **High volume:** set maxItems up to 1,000,000 to pull a deep catalog of products in one run.
- 💾 **Multi-format export:** download your dataset as CSV, JSON, Excel, or XML directly from Apify.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Tokopedia data

**📈 Monitor competitor pricing.**

An ecommerce manager runs the scraper daily for a brand keyword to track how competitors price similar products on Tokopedia and adjusts their own pricing strategy.

**📦 Discover trending products.**

A dropshipper searches for a broad category keyword like 'peralatan dapur' to find high-rated, high-volume products to add to their store.

**🏪 Audit seller performance.**

A brand protection analyst scrapes listings for their brand name to identify unauthorized resellers and monitor seller ratings across the marketplace.

**📊 Build market share reports.**

A market researcher collects thousands of listings for a product category to calculate brand share, average price points, and rating distributions in Indonesia.

### Why choose this scraper

| | What you get |
|---|---|
| **No API key needed** | Scrapes public Tokopedia search pages directly, no developer account or OAuth flow. |
| **Flat, consistent schema** | Every product returns the same fields, so your dataset is clean from the start. |
| **Runs at scale** | Collect up to a million products per run, limited only by the maxItems you set. |
| **Export anywhere** | CSV, JSON, Excel, and XML exports fit into any existing pipeline or tool. |

### How it compares

This Actor focuses on fast, high-volume keyword search with a flat output schema, while the alternatives offer broader page types or review-specific data.

| Feature | ParseForge | Tokopedia Scraper | $0.9 / 1k | All-In-One | Tokopedia Reviews Scraper ⭐ |
|---|---|---|---|
| Keyword search for products | Yes | Yes | Not listed |
| Merchant page scraping | Not listed | Yes | Not listed |
| Product reviews extraction | Not listed | Not listed | Yes |
| Up to 1,000,000 products per run | Yes | Not listed | Not listed |
| Flat row output per product | Yes | Not listed | Not listed |

### Configure the run

Drive the Actor with a product name or keyword, and set a maximum number of products to collect per run. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "query": "sepatu",
 "maxItems": 10
}
```

A larger pull:

```json
{
 "query": "sepatu",
 "maxItems": 200
}
```

### Pricing

Pay-per-result: **$0.0085 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Tokopedia Marketplace Scraper](https://apify.com/parseforge/tokopedia-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Tokopedia through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/tokopedia-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that your keyword is spelled correctly and matches products that exist on Tokopedia. Try a broader or more common term. Also verify that Tokopedia is accessible from your location, as some networks may block the site.

**The scraper stopped before reaching my maxItems limit.**

This happens when Tokopedia has fewer matching products than your maxItems value. The scraper collects all available results and stops. Try a broader keyword to get more listings.

**Some product prices are missing or show as zero.**

Some Tokopedia listings display a price range or require a variant selection before showing the final price. The scraper captures the price as shown on the search results page, which may differ from the product detail page.

**The run is taking a long time.**

Large maxItems values mean more pages to scrape. Tokopedia's response time and Apify's polite crawling pace affect total run time. Reduce maxItems or run the Actor with a more specific keyword to speed things up.

**I see a 'blocked' or 'captcha' error.**

Apify's platform uses rotating proxies and intelligent request handling to minimize blocks. If you encounter persistent issues, try running the Actor from a different Apify data center region or contact support.

### FAQ

| Question | Answer |
|---|---|
| Do I need a Tokopedia account or API key to use this scraper? | No. This Actor reads the public Tokopedia search pages, so you do not need an account, an API key, or any OAuth setup. |
| What data fields does the scraper return for each product? | Each product row includes the title, price, original price if discounted, rating, review count, seller name, seller location, product URL, and image URL. The exact fields are shown in the sample output on the Actor's page. |
| Can I scrape a specific Tokopedia shop or merchant? | This Actor is built for keyword search across the marketplace. To scrape a specific merchant's entire catalog, you would need a different input type. This version focuses on search results. |
| How many products can I scrape in one run? | You can set maxItems up to 1,000,000. The actual number returned depends on how many listings match your keyword on Tokopedia. |
| Can I search in Bahasa Indonesia? | Yes. The query field accepts any language, including Bahasa Indonesia terms like 'sepatu lari' or 'baju muslim'. The scraper sends the keyword exactly as you type it. |
| Does the scraper handle Tokopedia's pagination automatically? | Yes. It navigates through all search result pages automatically until it reaches your maxItems limit or runs out of results. |
| What export formats are supported? | You can export your dataset as CSV, JSON, Excel, or XML from the Apify platform after the run completes. |
| How often can I run this scraper? | You can schedule it to run as often as you need using Apify's built-in scheduler, from every minute to once a month. |
| Is this legal to use? | This Actor scrapes publicly available data from Tokopedia. You are responsible for complying with Tokopedia's terms of service and applicable laws in your jurisdiction. |
| Can I filter by price range or minimum rating? | This Actor returns all matching search results. Filtering by price or rating is done after the data is collected, using your own analysis tools on the exported dataset. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by PT Tokopedia. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `query` (type: `string`):

Keyword to search Tokopedia for.

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

How many products to collect per run.

## Actor input object example

```json
{
  "query": "sepatu",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "query": "sepatu",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/tokopedia-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 = {
    "query": "sepatu",
    "maxItems": 10,
}

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

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

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

```

## CLI example

```bash
echo '{
  "query": "sepatu",
  "maxItems": 10
}' |
apify call parseforge/tokopedia-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/tokopedia-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3i9CfuVpncEc9oZUM/builds/WmJotAkPgLWyNg6sp/openapi.json
