# Indonetwork B2B Directory & Product Scraper (`fauzimatakupan/indonetwork-b2b-directory-scraper`) Actor

Scrape B2B product listings, suppliers, and company directories from Indonetwork (indonetwork.co.id). Extracts product details, JSON-LD metadata, SKU, brand, images, and supplier profiles across 5,800+ categories.

- **URL**: https://apify.com/fauzimatakupan/indonetwork-b2b-directory-scraper.md
- **Developed by:** [Fauzi Matakupan](https://apify.com/fauzimatakupan) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Indonetwork B2B Directory & Product Scraper — Indonesian Suppliers & Products from indonetwork.co.id

Extract B2B product catalogs, verified suppliers, manufacturers, and distributors from
[Indonetwork](https://www.indonetwork.co.id) — Indonesia's pioneer B2B trade-directory
marketplace with over **5,800 product categories** and thousands of industrial vendors.
The **Indonetwork scraper** collects product listings with schema.org JSON-LD metadata
(SKU, brand, full description, high-resolution images), structured technical
specifications, and supplier company profiles (name, address, city, province).

**Tested in the wild:** one run recovered **5/5 products (100%)** from a live category
crawl with complete supplier data (Cloud Runner, $0 proxy, Oct 2026).

### Pricing

Pay per event — you only pay for products actually returned. Platform usage is included.

| Products | Cost |
|---|---|
| 100 | ~$0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |

Failed pages and empty runs cost almost nothing (a tiny $0.0005 start fee).

### Example tasks

Try it without configuring anything — pre-configured runs against live categories:

- [Suppliers — Mesin & Peralatan Industri](https://apify.com/fauzimatakupan/supplier-mesin-industri)
- [Suppliers — Bahan Bangunan](https://apify.com/fauzimatakupan/supplier-bahan-bangunan)
- [Suppliers — Agrobisnis & Produk Pangan](https://apify.com/fauzimatakupan/supplier-agrobisnis-pangan)
- [Suppliers — Peralatan Elektronik](https://apify.com/fauzimatakupan/supplier-elektronik)
- [Suppliers — Kesehatan & Kecantikan](https://apify.com/fauzimatakupan/supplier-kesehatan-kecantikan)

Open one, press *Start*, and inspect the output before writing your own input.

### Features

- **Direct HTTP architecture** — fast, lightweight crawler powered by `got-scraping` +
  `cheerio`. No browser overhead, instant startup, $0 proxy cost.
- **JSON-LD accuracy** — extracts clean `Product` / `LocalBusiness` schema metadata
  straight from the site's own structured data (SKU, brand, description, image).
- **Supplier resolution** — captures company names, profile URLs, street addresses,
  cities, and provinces for lead-gen sheets.
- **Category pagination** — walks multi-page category listings (`/k/<category>`)
  automatically with per-category deduplication.
- **Full category hierarchy** — resolves breadcrumb paths (e.g.
  `Mesin Peralatan Industri > Mesin Las > Stud Welding`).
- **robots.txt compliant** — crawls only public `/k/*`, `/product/*`, and `/company/*`
  pages; never touches the disallowed `/search*` endpoints.
- **Budget-aware** — respects your per-run spending limit: the run stops gracefully
  instead of burning compute once the limit is reached.

### Use with AI agents (MCP)

Expose this Actor as a tool to Claude, Cursor, Codex, or any MCP client:

```
https://mcp.apify.com/?tools=fauzimatakupan/indonetwork-b2b-directory-scraper
```

The Actor is also discoverable through the official Apify MCP server — AI agents can
search Apify Store and run it automatically. Keywords: Indonetwork scraper, Indonesia
B2B directory, Indonesian suppliers, manufacturer database, distributor Indonesia,
B2B lead generation Indonesia, procurement data.

### Related Actors

Building an Indonesian market-data pipeline? Check our other Actors:

- [OLX Indonesia Listings Scraper](https://apify.com/fauzimatakupan/olx-indonesia-listings-scraper) —
  classified ads & products from olx.co.id with IDR prices, locations, and seller info.
- [Halodoc Pharmacy Scraper](https://apify.com/fauzimatakupan/halodoc-pharmacy-scraper) —
  Indonesian medicine & supplement catalog with BPOM numbers and prescription status.
- [Oto.com Car Prices & Used Cars Scraper](https://apify.com/fauzimatakupan/oto-indonesia-auto-scraper) —
  variant-level OTR prices and used-car listings from oto.com.
- [Indonesia Tech Jobs Scraper](https://apify.com/fauzimatakupan/indonesia-tech-jobs-scraper) —
  unified Glints + Kalibrr job listings.

### Example input

```json
{
    "categoryUrls": ["https://www.indonetwork.co.id/k/mesin-peralatan-industri"],
    "maxItems": 100,
    "maxProductsPerCategory": 30,
    "includeCompanies": true
}
```

### Example output

```json
{
    "productId": "torque-tester-untuk-industri-kemasan-7514610",
    "sku": "7514610",
    "productName": "Torque tester untuk industri kemasan",
    "brand": "PT. Mealabs Indonesia",
    "productDescription": "Alat Uji Kemasan Plastik Botol (Cap Torque Tester)...",
    "imageUrl": "https://image.indonetwork.co.id/f-webp/products/thumbs/600x600/2025/10/08/...jpg",
    "productUrl": "https://www.indonetwork.co.id/product/torque-tester-untuk-industri-kemasan-7514610",
    "company": "PT. Mealabs Indonesia",
    "companyUrl": "https://www.indonetwork.co.id/company/mealabs",
    "companyAddress": "Jl. Raya Industri No. 45, Sidoarjo",
    "companyCity": "Kabupaten Sidoarjo",
    "companyProvince": "Jawa Timur",
    "category": "Mesin Peralatan Industri > Mesin Uji",
    "categoryUrl": "https://www.indonetwork.co.id/k/mesin-peralatan-industri",
    "scrapedAt": "2026-10-24T01:05:00.000Z"
}
```

### Output fields

Each dataset item is one B2B product listing:

| Field | Description |
|---|---|
| `productId`, `sku` | Product slug / SKU from JSON-LD |
| `productName`, `productDescription` | Listing title and description |
| `brand` | Brand / maker / manufacturer |
| `imageUrl`, `productUrl` | Primary image and canonical listing URL |
| `company`, `companyUrl` | Supplier company name and profile link |
| `companyAddress`, `companyCity`, `companyProvince` | Supplier location hierarchy |
| `category`, `categoryUrl` | Category breadcrumb and source page |
| `scrapedAt` | ISO 8601 extraction timestamp |

### FAQ

**Does this Indonesia B2B scraper need a login or proxy?** No login, no proxy.
Indonetwork serves public directory pages to standard datacenter IPs; robots.txt is
respected (the `/search*` endpoints are never touched).

**Can I scrape any Indonetwork category?** Yes — paste any
`https://www.indonetwork.co.id/k/<category-slug>` URL into `categoryUrls`.

**Can I use it as a supplier price monitor?** Yes. Schedule recurring runs to track
suppliers, product availability, and catalog changes over time.

**What about supplier contact details?** The Actor links to each company's public
profile (`companyUrl`) but does not extract private phone numbers or emails —
compliant with Indonesian data-protection law (UU PDP).

### Usage notes

- Keep `maxProductsPerCategory` at the default 30 unless you need deeper category
  coverage; polite pacing avoids soft rate-limits.
- Respect Indonetwork's terms of service — this Actor reads public directory pages only.

# Actor input Schema

## `categoryUrls` (type: `array`):

Daftar URL kategori Indonetwork (https://www.indonetwork.co.id/k/<kategori>) untuk di-scrape.

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

Batas total maksimum produk yang dikumpulkan dari seluruh kategori.

## `maxProductsPerCategory` (type: `integer`):

Batas maksimum produk yang diambil dari setiap kategori.

## `includeCompanies` (type: `boolean`):

Ambil profil detail perusahaan supplier dari halaman /company/ (alamat, kota, provinsi).

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

Konfigurasi proxy (default: direct connection via got-scraping).

## Actor input object example

```json
{
  "categoryUrls": [
    "https://www.indonetwork.co.id/k/mesin-peralatan-industri",
    "https://www.indonetwork.co.id/k/bahan-bangunan",
    "https://www.indonetwork.co.id/k/agrobisnis-produk-pangan",
    "https://www.indonetwork.co.id/k/peralatan-elektronik",
    "https://www.indonetwork.co.id/k/kesehatan-dan-kecantikan"
  ],
  "maxItems": 100,
  "maxProductsPerCategory": 30,
  "includeCompanies": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("fauzimatakupan/indonetwork-b2b-directory-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("fauzimatakupan/indonetwork-b2b-directory-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 '{}' |
apify call fauzimatakupan/indonetwork-b2b-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fauzimatakupan/indonetwork-b2b-directory-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/WHnpv0sToC3dJgL1M/builds/eJbfAq8vRJGeeYwPJ/openapi.json
