# Toocle Scraper 生意宝: China B2B Products, Suppliers & Prices (`getascraper/toocle-b2b-sourcing-scraper`) Actor

Scrape Toocle 生意宝 B2B products and suppliers by keyword, category or storefront. Filter by province, price, category and company age. Get prices, pictures, contact person, phone, email and registry facts like registered capital. Track new, changed and removed products. No login.

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

## Pricing

from $3.00 / 1,000 toocle records

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?

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

## 🏭 Toocle Scraper 生意宝: China B2B Products, Suppliers & Prices

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EEF7F5;border:1px solid #C5E3DE;border-top:4px solid #0F766E;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Turn Toocle's China supplier catalog into a spreadsheet you can filter and watch.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Search Toocle (生意宝) by keyword, category or storefront, filter by province, price and supplier, then get products with their supplier's contact and company facts.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C5E3DE;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B4F4A">🎚️ Real filters</span><br>
<span style="font-size:12px;color:#57534E">Province, price range, category, supplier name, contact and company age</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C5E3DE;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B4F4A">🏭 Supplier facts on every row</span><br>
<span style="font-size:12px;color:#57534E">Address, contact person, phone, email, legal representative and registered capital</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C5E3DE;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B4F4A">🔀 Two views</span><br>
<span style="font-size:12px;color:#57534E">One row per product, or one row per supplier with its matching products</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C5E3DE;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0B4F4A">🔔 Store monitor</span><br>
<span style="font-size:12px;color:#57534E">New, changed and removed products since your last run</span>
</td>
</tr>
</table>

Toocle (生意宝) is a Chinese B2B marketplace where factories and traders publish products, prices and contact details. Its search results cannot be exported. This Actor runs the search for you and returns clean rows with the supplier's public company facts attached to every product.

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF7F5;border:1px solid #C5E3DE;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Say what you source</span><br>
<span style="font-size:12px;color:#57534E">Type keywords, pick categories, or paste a supplier storefront link.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF7F5;border:1px solid #C5E3DE;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Filter and enrich</span><br>
<span style="font-size:12px;color:#57534E">Keep the provinces, prices and suppliers you want, and add full product pages or supplier profiles.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF7F5;border:1px solid #C5E3DE;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0F766E;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Export or schedule</span><br>
<span style="font-size:12px;color:#57534E">Download CSV, Excel or JSON, or schedule a monitor to catch changes.</span>
</td>
</tr>
</table>

### 🔍 What does Toocle Scraper do?

It reads the public pages of Toocle and returns product rows with the supplier attached:

- **Products:** name, price with currency and unit, full category path, brand, model, pictures, description, specifications parsed from the description, and the dates a product was listed and refreshed.
- **Suppliers:** address and province, contact person, phone numbers, email and website. Chinese storefronts also show the legal representative, registered capital, founding date, company type, credit code and operating status.
- **Two Toocle sites:** search the English site (toocle.com) or the Chinese storefronts (生意宝) with the same filters.
- **Whole storefronts:** paste a supplier storefront link to get its full product catalog.
- **Supplier-first view:** group the same results into one row per company with a count of matching products and a few samples.
- **Change monitor:** give the run a name and later runs report new, changed and removed products.

Toocle has no minimum order field. The Actor fills `minimumOrderQuantity` only when the supplier writes it in the product title or description, and leaves it out otherwise. Many suppliers write "negotiable" instead of a price, and those rows are marked that way rather than guessed.

You can download the results as CSV, Excel or JSON, or connect them to your own tools.

### 👥 Why use it?

- **I am a sourcing agent** building a shortlist of valve, pump or LED suppliers in Zhejiang and Guangdong, with contact details ready for outreach.
- **I am a buyer vetting suppliers** and want the registered capital, founding date and operating status next to each company before I send an inquiry.
- **I am a market researcher** comparing posted prices and categories across hundreds of Chinese factories without copying them by hand.
- **I am a trading company** watching a competitor's storefront, so I see every new product and price change on a schedule.

### 💰 Pricing

Pricing is pay per result, billed for each row saved to your dataset. Empty runs cost nothing, and there are no subscriptions or monthly fees.

Quick searches cost the least. Switching on full product pages or supplier profiles makes runs slower but each row carries much more data.

Free plan runs are limited to 25 results per run, 3 runs per day, and a short wait between runs.

### ⭐ Enjoying Toocle Scraper 生意宝?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#EEF7F5;border:1px solid #C5E3DE;border-left:5px solid #0F766E;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Turn an afternoon of copying supplier pages into one scheduled run.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other sourcing agents and buyers find it. Your feedback also tells us which filters and fields to add next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0F766E;border:1px solid #C5E3DE;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/toocle-b2b-sourcing-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `searchQueries` | array of strings | No | Product keywords, one per row, in English or Chinese. Each keyword is searched separately and results are merged without duplicates. |
| `site` | enum | No | Which Toocle site to search: the English site (default) or the Chinese storefronts (生意宝), which add business registry facts. |
| `categories` | array of choices | No | Whole top-level categories of the English site, such as Chemicals or Lighting. |
| `categoryPaths` | array of strings | No | Deeper English categories as a path, for example `Chemicals/Alcohols`. |
| `startUrls` | array of strings | No | Direct toocle.com links: a search page, a category page, a supplier storefront (whole catalog) or one product page. |
| `onlyWithPrice` | boolean | No | Skip products whose supplier wrote negotiable or ask for a quote instead of a number. |
| `priceCurrency` | enum | No | Keep one currency only, CNY or USD. Prices are never converted. |
| `minPrice` | number | No | Keep products priced at or above this amount in the supplier's own currency. Price ranges count when they overlap. |
| `maxPrice` | number | No | Keep products whose lowest price is at or below this amount. |
| `onlyWithImage` | boolean | No | Skip products without an uploaded picture. |
| `titleIncludes` | array of strings | No | Keep products whose name contains at least one of these words. |
| `titleExcludes` | array of strings | No | Drop products whose name contains any of these words. |
| `categoryContains` | array of strings | No | Keep products whose category path contains one of these words. |
| `provinces` | array of choices | No | Keep suppliers located in the chosen Chinese provinces or municipalities. Suppliers whose address names no province are skipped. |
| `supplierNameContains` | array of strings | No | Keep products from suppliers whose company name contains one of these words. |
| `onlyWithContact` | boolean | No | Keep only suppliers that publish a phone number or email. |
| `minCompanyAgeYears` | integer | No | Keep companies founded at least this many years ago. Only Chinese storefronts publish the founding date. |
| `minRegisteredCapitalCny` | integer | No | Keep companies with at least this registered capital in yuan. Only Chinese storefronts publish it. |
| `onlyActiveSuppliers` | boolean | No | Keep only companies whose published business status is operating. |
| `includeProductDetails` | boolean | No | Open every product page for the full description, all pictures, specifications and exact price. Off by default because it is slower. |
| `includeSupplierProfile` | boolean | No | Add each supplier's public profile to its products. One extra step per supplier, not per product. Off by default. |
| `maxItems` | integer | No | How many rows to save. In supplier view this is the number of suppliers. Defaults to 10. |
| `maxPagesPerQuery` | integer | No | Safety cap on result pages read for each keyword, category or storefront. Defaults to 5. |
| `outputView` | enum | No | Products first (one row per product) or suppliers first (one row per company with matching products). |
| `maxPerSupplier` | integer | No | Limit how many products one supplier can contribute, so a single company does not fill the results. |
| `sortBy` | enum | No | Toocle relevance, newest first, or price low to high or high to low. Sorting looks at up to five times the rows you asked for. |
| `monitorName` | string | No | A short name that turns on change tracking. Later runs with the same name mark products as new, priceChanged, changed or removed. |
| `includeUnchanged` | boolean | No | In a monitoring run, also return products that did not change. Off by default. |
| `proxyConfiguration` | object | No | Connection settings. Runs work on their own and retry through a proxy automatically, so change this only if you need a specific route. |

### 📦 Data table

| Field | Type | Description |
| --- | --- | --- |
| `recordType`, `source` | string | `product` or `supplier`, and `english` or `chinese` for the Toocle site the row came from. |
| `productId`, `productName`, `productUrl` | string | Toocle product ID, name and link. |
| `price`, `priceMin`, `priceMax` | string, number | Price as the supplier wrote it, and the parsed lowest and highest amount. |
| `currency`, `priceUnit`, `priceType` | string | CNY or USD, the unit such as 件, and `fixed`, `range` or `negotiable`. |
| `minimumOrderQuantity`, `stock` | string | Only when the supplier states them. |
| `category`, `categoryTop` | string | Full Toocle category path and its top level. |
| `brand`, `model`, `producer`, `origin`, `casNo` | string | Product attributes when published. |
| `imageUrl`, `images` | string, array | Main picture and all pictures (full product page). |
| `description`, `specifications` | string, object | Description text and the Key: value lines found in it. |
| `listedAt`, `updatedAt` | string | When the supplier listed and last refreshed the product (Chinese storefronts). |
| `supplierId`, `supplierName`, `supplierUrl` | string | Supplier ID, company name and storefront link. |
| `supplierAddress`, `supplierProvince`, `supplierPostcode` | string | Address as published, province in English, and postcode. |
| `supplierContactPerson`, `supplierPhone`, `supplierTelephone`, `supplierEmail`, `supplierWebsite` | string | Public contact details when the supplier shows them. |
| `supplierLegalRepresentative`, `supplierRegisteredCapital`, `supplierRegisteredCapitalCny` | string, integer | Business registry facts and the capital as a yuan number (Chinese storefronts). |
| `supplierFoundedDate`, `supplierCompanyAgeYears`, `supplierType`, `supplierCreditCode`, `supplierRegistrationNumber`, `supplierStatus` | string, integer | Founding date, company age, company type, registry numbers and operating status (Chinese storefronts). |
| `supplierIntroduction`, `supplierProductCount` | string, integer | Company profile text and the number of products in its storefront. |
| `searchQuery`, `sourceUrl`, `position`, `scrapedAt` | string, integer | Where the row came from, its position in the results and the run time. |
| `changeType`, `previousPrice`, `priceHistory`, `firstSeenAt` | string, array | Monitor fields: new, priceChanged, changed, unchanged or removed, plus the earlier price and price history. |
| `matchedProducts`, `sampleProducts` | integer, array | Supplier view only: how many products matched and up to five examples. |

Example product row from the English site with full product pages and supplier profiles switched on:

```json
{
  "recordType": "product",
  "source": "english",
  "productId": "725675",
  "productName": "Beam Wash Led Moving Head Light 100W",
  "productUrl": "https://www.toocle.com/China-Suppliers/10759-112239/product-detail-725675-Beam%20Wash%20Led%20Moving%20Head%20Light%20100W.html",
  "price": "$300",
  "priceMin": 300,
  "priceMax": 300,
  "currency": "USD",
  "priceType": "fixed",
  "brand": "Brightenfocus",
  "category": "Others",
  "supplierName": "Brighten Led Lighting Limited",
  "supplierAddress": "2nd floor, No.288, Guangzhou East Line, Pingwen village, Lanhe Town, Nansha District, Guangzhou, China.",
  "supplierProvince": "Guangdong",
  "supplierWebsite": "http://www.brightenfocus.com"
}
```

### 💡 Tips

- Start with 10 rows and no extras to check that your keywords find the right products, then raise the limit and switch on product pages or supplier profiles.
- Use the Chinese storefronts (生意宝) when you need registered capital, legal representative or company age. Use the English site for English product pages.
- Paste a supplier storefront link into `startUrls` to read that supplier's whole catalog, then add a `monitorName` and schedule the run.
- Province, contact and company filters load each supplier's profile once, so they add little time even on large runs.

### ❓ FAQ

##### Does it need a Toocle account or login?

No. It reads public pages only. You do not need an account, a key or a cookie.

##### Does it return phone numbers and emails?

It returns the contact details a supplier shows publicly on Toocle, such as address, contact person, phone, email and website. If a supplier does not publish a field, it is left out of the row.

##### Why do many products show a negotiable price?

Many Toocle suppliers write "negotiable" or ask buyers to inquire. Those rows are marked `priceType: negotiable` with no number. Use `onlyWithPrice` to keep only products with an actual price.

##### Can I filter by province?

Yes. Pick one or more provinces or municipalities in `provinces`. The Actor reads the province from each supplier's address and skips suppliers whose address does not name one.

##### Can I watch one supplier for new products and price changes?

Yes. Paste the supplier's Chinese storefront link into `startUrls`, set a `monitorName` and schedule the run. Later runs return new, changed and removed products.

##### 生意宝怎么批量导出供应商联系方式？

Choose the Chinese storefronts (生意宝) site, enter your product keywords, turn on the supplier profile and set the result limit. The supplier name, address, contact person and phone download as CSV, Excel or JSON.

##### 生意宝产品价格怎么批量采集？

Enter your keywords, turn on the product pages option and set `onlyWithPrice`. Each row returns the posted price with currency and unit, the category and the supplier.

### 🔗 Other actors

- [Made-in-China Scraper 中国制造网: Products, Suppliers, Price Changes](https://apify.com/getascraper/made-in-china-catalog-scraper) ↗ - products, suppliers and price changes from Made-in-China.
- [Yiwugo Scraper 义乌购: Yiwu Market Supplier, Price and MOQ Monitor](https://apify.com/getascraper/yiwugo-booth-monitor) ↗ - Yiwu wholesale market products, MOQ and suppliers.
- [Chinagoods Scraper 中国小商品城: Booth Monitor](https://apify.com/getascraper/chinagoods-booth-monitor) ↗ - Chinagoods products, MOQ and Yiwu booth locations.
- [17ZWD Wholesale Fashion Scraper 一起做网店: New Styles & Stall Data](https://apify.com/getascraper/17zwd-wholesale-fashion-catalog-scraper) ↗ - wholesale fashion styles and stalls from China.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/toocle-b2b-sourcing-scraper/changelog.md

# Actor input Schema

## `searchQueries` (type: `array`):

Product keywords to search on Toocle, one per row, in English or Chinese (for example "LED" or "真空泵"). Each keyword is read separately and the results are merged without duplicates. Leave empty if you only use categories or links.

## `site` (type: `string`):

Which Toocle site the keywords are searched on. The English site shows prices, categories and supplier contacts in English; the Chinese storefronts (生意宝) list the same kind of suppliers in Chinese and add business registry facts such as legal representative and registered capital.

## `categories` (type: `array`):

Browse whole top-level categories of the English site, for example Chemicals or Lighting. Combine with the filters below to narrow them down.

## `categoryPaths` (type: `array`):

Deeper English categories written as a path, one per row, for example Chemicals/Alcohols or Machinery & Equipment/Valves.

## `startUrls` (type: `array`):

Direct toocle.com links, one per row: a search page, a category page, a supplier storefront (whole catalog, used for monitoring) or a single product page. Chinese storefront links look like https://35147.m.toocle.com/wangpu.html.

## `onlyWithPrice` (type: `boolean`):

Skip products where the supplier only wrote negotiable, ask for a quote or similar instead of a number.

## `priceCurrency` (type: `string`):

Keep only products priced in one currency. Prices are never converted, the currency is read from the price the supplier wrote.

## `minPrice` (type: `number`):

Keep products whose price reaches at least this amount, in the supplier's own currency. Price ranges count when they overlap.

## `maxPrice` (type: `number`):

Keep products whose lowest price is at most this amount, in the supplier's own currency.

## `onlyWithImage` (type: `boolean`):

Skip products that have no uploaded product picture.

## `titleIncludes` (type: `array`):

Keep products whose name contains at least one of these words, one per row. Not case sensitive.

## `titleExcludes` (type: `array`):

Drop products whose name contains any of these words, one per row, for example "used" or "parts".

## `categoryContains` (type: `array`):

Keep products whose Toocle category path contains one of these words, for example "Valves" or "真空泵".

## `provinces` (type: `array`):

Keep only suppliers located in these Chinese provinces or municipalities. The province is read from the supplier address, so suppliers whose address names no province are skipped.

## `supplierNameContains` (type: `array`):

Keep products from suppliers whose company name contains one of these words, one per row, for example "Co., Ltd" or "机械".

## `onlyWithContact` (type: `boolean`):

Keep only suppliers that publish a phone number, landline or email on their public page.

## `minCompanyAgeYears` (type: `integer`):

Keep companies founded at least this many years ago, counted from the founding date in the public business registry. Only the Chinese storefronts publish it, so English-site suppliers without that data are skipped.

## `minRegisteredCapitalCny` (type: `integer`):

Keep companies whose registered capital in yuan is at least this amount, for example 1000000. Only the Chinese storefronts publish registry data.

## `onlyActiveSuppliers` (type: `boolean`):

Keep only companies whose published business status is operating (for example 开业 or 存续).

## `includeProductDetails` (type: `boolean`):

Open every product page to add the full description, all pictures, parsed specifications, brand, model and exact price. Slower, one extra request per product.

## `includeSupplierProfile` (type: `boolean`):

Add each supplier's public profile to every product: address, province, contact person, phone, email, website and (Chinese storefronts) legal representative, registered capital, founding date, company type and operating status. One request per supplier, not per product.

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

How many rows to save. In supplier view this is the number of suppliers. Free-plan runs are capped at 25 rows.

## `maxPagesPerQuery` (type: `integer`):

Safety cap on how many result pages are read for each keyword, category or storefront. A search page holds 10 to 20 products and a storefront page 15.

## `outputView` (type: `string`):

Products first gives one row per product. Suppliers first groups the same results into one row per company with a product count and sample products, and always loads the supplier profile.

## `maxPerSupplier` (type: `integer`):

Stop one supplier from filling the whole result. For example 3 keeps at most three products from each company.

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

Sorting reads up to five times the requested number of rows first, then returns the best ones. Products without a price are placed last when sorting by price.

## `monitorName` (type: `string`):

Give this watch a short name such as "my-pump-suppliers" to turn on change tracking. The next run with the same name marks each product as new, priceChanged or changed, and reports products that left a fully read storefront as removed.

## `includeUnchanged` (type: `boolean`):

By default a monitoring run returns only new, changed and removed products. Turn on to get every product with its change status.

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

Toocle is read directly by default. If it ever stops answering, the Actor retries once through Apify datacenter proxy by itself. Choose your own proxy here only if you need a specific route.

## Actor input object example

```json
{
  "searchQueries": [
    "LED"
  ],
  "site": "english",
  "onlyWithPrice": false,
  "priceCurrency": "any",
  "onlyWithImage": false,
  "onlyWithContact": false,
  "onlyActiveSuppliers": false,
  "includeProductDetails": false,
  "includeSupplierProfile": false,
  "maxItems": 10,
  "maxPagesPerQuery": 5,
  "outputView": "products",
  "sortBy": "relevance",
  "includeUnchanged": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "searchQueries": [
        "LED"
    ],
    "site": "english",
    "onlyWithPrice": false,
    "priceCurrency": "any",
    "onlyWithImage": false,
    "onlyWithContact": false,
    "onlyActiveSuppliers": false,
    "includeProductDetails": false,
    "includeSupplierProfile": false,
    "maxItems": 10,
    "maxPagesPerQuery": 5,
    "outputView": "products",
    "sortBy": "relevance",
    "includeUnchanged": false,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/toocle-b2b-sourcing-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 = {
    "searchQueries": ["LED"],
    "site": "english",
    "onlyWithPrice": False,
    "priceCurrency": "any",
    "onlyWithImage": False,
    "onlyWithContact": False,
    "onlyActiveSuppliers": False,
    "includeProductDetails": False,
    "includeSupplierProfile": False,
    "maxItems": 10,
    "maxPagesPerQuery": 5,
    "outputView": "products",
    "sortBy": "relevance",
    "includeUnchanged": False,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/toocle-b2b-sourcing-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 '{
  "searchQueries": [
    "LED"
  ],
  "site": "english",
  "onlyWithPrice": false,
  "priceCurrency": "any",
  "onlyWithImage": false,
  "onlyWithContact": false,
  "onlyActiveSuppliers": false,
  "includeProductDetails": false,
  "includeSupplierProfile": false,
  "maxItems": 10,
  "maxPagesPerQuery": 5,
  "outputView": "products",
  "sortBy": "relevance",
  "includeUnchanged": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/toocle-b2b-sourcing-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/toocle-b2b-sourcing-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/zb7ZI4uzEvK4Zj7Yg/builds/jyqoeyz0Sx6Z6oazZ/openapi.json
