# Yiwugo — Produtos do Mercado de Yiwu (China Wholesale) (`guzik_andre/yiwugo-produtos-china`) Actor

Busca produtos na Yiwugo (plataforma oficial do mercado atacadista de Yiwu, China) já em inglês: título, preço em CNY, pedido mínimo, fornecedor e imagem. Wholesale sourcing data from Yiwu, China — the world's largest small-commodities market, less picked-over than Alibaba/AliExpress.

- **URL**: https://apify.com/guzik\_andre/yiwugo-produtos-china.md
- **Developed by:** [Andre Guzik](https://apify.com/guzik_andre) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.00 / 1,000 resultados

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

## Yiwugo — Wholesale Products from Yiwu, China / Produtos do Mercado de Yiwu

*English below. [Português mais abaixo](#português).*

***

### English

Yiwu is the Chinese city that produces a huge share of the world's small
commodities, gifts, accessories and household goods — the "market of
markets," far less picked-over by Western buyers than Alibaba or
AliExpress. This Actor searches products directly on Yiwugo, the market's
official platform, using its English version: title, price in CNY,
minimum order quantity, supplier, store age and image — ready for
supplier sourcing or a first import screening pass.

As a bonus for Brazilian buyers, it can also translate the title to
Portuguese for free and estimate Brazilian import tax (Remessa Conforme)
— see below.

#### What you get, per product

- `id` / `urlProduto` — product identifier and page link
- `titulo` — product name (already in English, from the site's translated version)
- `tituloPt` — product name translated to Portuguese (free machine
  translation via MyMemory, see `traduzirTitulo` in the input)
- `precoTexto` / `precoMinCny` / `precoMaxCny` — price in CNY (RMB), as a
  range when the product has quantity-based pricing tiers
- `pedidoMinimoTexto` / `pedidoMinimoQuantidade` — MOQ (minimum order quantity)
- `fornecedor` / `anosNaPlataforma` / `localizacao` — supplier info
- `imagemUrl` — main product image
- `detalhe` — unit weight, product attributes (material, origin, brand —
  varies per product) and extra description images, only with
  `buscarDetalhes: true` — see dedicated section below
- `impostoEstimado` — estimated Brazilian Import Tax + ICMS (Remessa
  Conforme regime), only with `calcularImposto: true` — see dedicated
  section below

#### Example output

```json
{
  "termoBuscado": "phone case",
  "id": "986031653",
  "titulo": "with lanyard rotary magnetic adhesive bracket for apple 17 solid color liquid phone case",
  "precoTexto": "CN¥ 13.2 ~ CN¥ 16.56",
  "precoMinCny": 13.2,
  "precoMaxCny": 16.56,
  "pedidoMinimoTexto": "15 piece",
  "pedidoMinimoQuantidade": 15,
  "fornecedor": "Miba Kitchenware",
  "anosNaPlataforma": "1yr.",
  "localizacao": "Jinhua City,Zhejiang Province",
  "imagemUrl": "https://ywgimg.yiwugo.com/product/shop_303930/normal/0/20260819/TTsCw2oelci3EUbu.jpg",
  "urlProduto": "https://en.yiwugo.com/product/detail/986031653.html",
  "tituloPt": "com pulseira magnética adesiva rotativa para apple 17 capa de celular líquida de cor sólida",
  "detalhe": {
    "atributos": { "origin": "china", "style": "modern style" },
    "pesoTexto": "0.045 kg/piece",
    "pesoKg": 0.045,
    "imagensDescricao": ["https://cbu01.alicdn.com/img/ibank/O1CN01IOi9Yj2KShokiRKN7_!!2217256989556-0-cib.jpg"]
  },
  "impostoEstimado": {
    "quantidadeConsiderada": 150,
    "valorDeclaradoBrl": 2888.03,
    "aliquotaIi": 0.6,
    "ii": 1578.24,
    "icms": 914.78,
    "valorTotalComImpostos": 5381.05,
    "cotacaoDolarUsada": 5.1527,
    "cotacaoCnyUsada": 0.767,
    "fonteParametros": "receita_federal_ao_vivo"
  }
}
```

#### Input

| Field | Required | Description |
|---|---|---|
| `termosBusca` | Yes | List of search terms (works best in English — the site's own translated version). |
| `maxResultadosPorTermo` | No | Max products per term (default 20, max 250 — 50 per page). |
| `paginasPorTermo` | No | How many search pages to fetch per term (default 1, max 5). |
| `precoMinCny` / `precoMaxCny` | No | Filters products by price range in CNY — real server-side filter (`lowerPrice`/`upperPrice`), confirmed live. |
| `apenasFornecedoresSuperiores` | No | Only suppliers with Yiwugo's "Superior Supplier" badge — real server-side filter, cuts the result count substantially. |
| `anosNaPlataformaMinimo` | No | Only suppliers with at least this many years on Yiwugo. Applied by this Actor (no server-side filter for this exists — tested live) — a supplier with no displayed year is dropped when this filter is set. |
| `buscarDetalhes` | No | Fetches each product's detail page (1 extra HTTP request per product — noticeably slower) for unit weight, attributes, and up to 10 extra description images. A per-item failure never fails the run — that item's `detalhe` just comes back `null`. Default `false`. |
| `traduzirTitulo` | No | Translates the title to Portuguese via MyMemory (free). Default `true`. |
| `calcularImposto` | No | Estimates Brazilian Import Tax + ICMS (Remessa Conforme) for each product found. Default `false` (keeps the search faster when you don't need it). |

#### Data source

Public Yiwugo search (`en.yiwugo.com/search/s.html`) — the same search
any visitor uses on the site, no login, no CAPTCHA. Price comes directly
in CNY/RMB (Chinese currency) from the site — converting to another
currency is left to whoever consumes the data.

Title translation uses [MyMemory](https://mymemory.translated.net/) (free
machine translation, no generative AI, no cost to anyone). It's a
**shared** daily quota across all users of this Actor — if it runs out on
a busy day, `tituloPt` comes back empty for that specific item, and the
search continues normally (never fails the run).

#### Import tax estimate (Brazil-specific: Remessa Conforme)

With `calcularImposto: true`, each product gets an estimated Brazilian
Import Tax (II) + ICMS for an individual/personal import — the same
formula Brazil's own tax authority (Receita Federal) uses in its official
international-purchases calculator (Import Tax: 0% up to US$50, 60% with
a US$30 deduction above that; ICMS calculated "gross-up" style, 17%
default).

What makes this more resilient to rule changes over time: the two numbers
that change most often (the US$50 threshold and the ICMS rate) **are
fetched from Receita Federal's own public calculator JavaScript on every
run**, not hardcoded in this Actor — if the government changes the rule
again, the calculation follows automatically. USD and CNY exchange rates
are also fetched live (Central Bank of Brazil's official PTAX rate, and a
free CNY-BRL rate). If any of these live lookups fail, it falls back to
the last manually-confirmed value (see `fonteParametros: "fallback"` in
the result, so you know when that happened).

**This is not customs/tax advice.** Important caveats:

- The quantity used is the product's **minimum order quantity (MOQ)** —
  for wholesale orders with MOQs in the hundreds/thousands, the Remessa
  Conforme regime (designed for individual postal/courier parcels) may
  not even apply in practice; an order that size normally requires formal
  commercial import (different rules, not calculated here). Treat this as
  a reference estimate, not a final number.
- ICMS varies from 17% to 20% depending on the Brazilian state — we use
  the 17% default (same as the official calculator).
- Does not include international freight or postal/courier clearance
  fees — only the declared merchandise value.

#### Known limitations (read before using for import decisions)

- `tituloPt` is machine translation, not human-reviewed — treat it as a
  screening aid, not copy-ready text for a resale listing.
- Price and MOQ are whatever the search page shows — a few products
  without a fixed price may come back with `precoMinCny`/`precoMaxCny` as
  null. Always confirm with the supplier before placing an order.
- No supplier vetting beyond what Yiwugo itself displays ("Superior
  Supplier" badge, store age) — this is not supplier due diligence, just
  catalog extraction.

#### Related Actors

From the same developer: **SP Alvarás de Obras — Building Permits São
Paulo**, **CRF-SP — Pharmacist License**, **PROCON-SP — Company Fines**,
**PROCON-PR — Supplier Complaints**, **ReBEC — Clinical Trials Registry**
and **Curitiba — Business Licenses**, covering other Brazilian public-data
and due-diligence patterns.

***

### Português

Yiwu é a cidade chinesa que concentra uma fatia enorme da produção mundial
de bugigangas, presentes, acessórios e utilidades — o "mercado dos
mercados", bem menos batido por comprador ocidental que Alibaba ou
AliExpress. Este Actor busca produtos direto na Yiwugo, a plataforma
oficial do mercado, na versão já traduzida pra inglês: título, preço em
CNY, pedido mínimo, fornecedor, tempo de loja e imagem — pronto pra
prospecção de fornecedor ou primeira triagem de importação.

Como bônus pra comprador brasileiro, também traduz o título pra português
de graça e estima o imposto de importação (Remessa Conforme) — ver abaixo.

#### O que você recebe, por produto

- `id` / `urlProduto` — identificador e link da página do produto
- `titulo` — nome do produto (já em inglês, direto da versão traduzida do site)
- `tituloPt` — nome do produto traduzido pra português (tradução automática
  gratuita via MyMemory, ver `traduzirTitulo` no input)
- `precoTexto` / `precoMinCny` / `precoMaxCny` — preço em CNY (RMB), como
  faixa quando o produto tem desconto por quantidade
- `pedidoMinimoTexto` / `pedidoMinimoQuantidade` — MOQ (quantidade mínima de pedido)
- `fornecedor` / `anosNaPlataforma` / `localizacao` — dados do fornecedor
- `imagemUrl` — imagem principal do produto
- `detalhe` — peso unitário, atributos do produto (material, origem,
  marca — variam por produto) e imagens extras de descrição, só com
  `buscarDetalhes: true` — ver seção própria abaixo
- `impostoEstimado` — estimativa de Imposto de Importação + ICMS (Remessa
  Conforme), só com `calcularImposto: true` — ver seção própria abaixo

#### Exemplo de saída

```json
{
  "termoBuscado": "phone case",
  "id": "986031653",
  "titulo": "with lanyard rotary magnetic adhesive bracket for apple 17 solid color liquid phone case",
  "precoTexto": "CN¥ 13.2 ~ CN¥ 16.56",
  "precoMinCny": 13.2,
  "precoMaxCny": 16.56,
  "pedidoMinimoTexto": "15 piece",
  "pedidoMinimoQuantidade": 15,
  "fornecedor": "Miba Kitchenware",
  "anosNaPlataforma": "1yr.",
  "localizacao": "Jinhua City,Zhejiang Province",
  "imagemUrl": "https://ywgimg.yiwugo.com/product/shop_303930/normal/0/20260819/TTsCw2oelci3EUbu.jpg",
  "urlProduto": "https://en.yiwugo.com/product/detail/986031653.html",
  "tituloPt": "com pulseira magnética adesiva rotativa para apple 17 capa de celular líquida de cor sólida",
  "detalhe": {
    "atributos": { "origin": "china", "style": "modern style" },
    "pesoTexto": "0.045 kg/piece",
    "pesoKg": 0.045,
    "imagensDescricao": ["https://cbu01.alicdn.com/img/ibank/O1CN01IOi9Yj2KShokiRKN7_!!2217256989556-0-cib.jpg"]
  },
  "impostoEstimado": {
    "quantidadeConsiderada": 150,
    "valorDeclaradoBrl": 2888.03,
    "aliquotaIi": 0.6,
    "ii": 1578.24,
    "icms": 914.78,
    "valorTotalComImpostos": 5381.05,
    "cotacaoDolarUsada": 5.1527,
    "cotacaoCnyUsada": 0.767,
    "fonteParametros": "receita_federal_ao_vivo"
  }
}
```

#### Input

| Campo | Obrigatório | Descrição |
|---|---|---|
| `termosBusca` | Sim | Lista de termos de busca (funciona melhor em inglês — o site já é a versão traduzida). |
| `maxResultadosPorTermo` | Não | Máximo de produtos por termo (padrão 20, máx. 250 — 50 por página). |
| `paginasPorTermo` | Não | Quantas páginas de busca varrer por termo (padrão 1, máx. 5). |
| `precoMinCny` / `precoMaxCny` | Não | Filtra produtos por faixa de preço em CNY — filtro real no servidor (`lowerPrice`/`upperPrice`), confirmado ao vivo. |
| `apenasFornecedoresSuperiores` | Não | Só fornecedores com o selo "Superior Supplier" da Yiwugo — filtro real no servidor, reduz bastante o total de resultados. |
| `anosNaPlataformaMinimo` | Não | Só fornecedores com pelo menos esse número de anos na Yiwugo. Filtro feito por este Actor (não existe esse filtro no servidor — testado ao vivo) — fornecedor sem esse dado exibido é descartado quando este filtro está ativo. |
| `buscarDetalhes` | Não | Busca a página de detalhe de cada produto (1 requisição HTTP extra por produto — deixa a busca bem mais lenta) pra trazer peso unitário, atributos e até 10 imagens extras de descrição. Falha num item específico nunca derruba a execução — só vem `detalhe: null` nesse item. Padrão `false`. |
| `traduzirTitulo` | Não | Traduz o título pra português via MyMemory (grátis). Padrão `true`. |
| `calcularImposto` | Não | Estima Imposto de Importação + ICMS (Remessa Conforme) pra cada produto encontrado. Padrão `false` (deixa a busca mais rápida quando você não precisa disso). |

#### Fonte dos dados

Busca pública da Yiwugo (`en.yiwugo.com/search/s.html`) — mesma busca que
qualquer visitante usa no site, sem login, sem CAPTCHA. O preço já vem em
CNY/RMB (moeda chinesa) direto do site — conversão pra outra moeda fica
por conta de quem consome o dado.

A tradução do título usa a [MyMemory](https://mymemory.translated.net/)
(tradução automática gratuita, sem IA generativa, sem custo pra ninguém).
É uma cota diária **compartilhada** entre todos os usuários deste Actor —
se estourar num dia de pico, `tituloPt` vem vazio nesse item específico, a
busca continua normal (nunca derruba a execução).

#### Cálculo de imposto (Remessa Conforme)

Com `calcularImposto: true`, cada produto ganha uma estimativa de Imposto
de Importação (II) + ICMS pra compra de pessoa física — mesma fórmula que
a própria Receita Federal usa na calculadora oficial de Compras
Internacionais (Imposto de Importação: 0% até US$50, 60% com desconto de
US$30 acima disso; ICMS calculado "por dentro", padrão 17%).

O que deixa isso mais resistente ao tempo: os dois números que mais mudam
(o limite de US$50 e a alíquota de ICMS) **são buscados do próprio
JavaScript público da calculadora da Receita Federal a cada execução**,
não fixados no código deste Actor — se o governo mudar a regra nesse meio
tempo, o cálculo acompanha sozinho. Cotação de dólar (Banco Central,
PTAX oficial) e de yuan também são buscadas ao vivo. Se qualquer uma
dessas buscas falhar (site fora do ar), cai pro último valor confirmado
manualmente (ver `fonteParametros: "fallback"` no resultado, pra você
saber quando isso aconteceu).

**Isto não é aconselhamento aduaneiro.** Pontos importantes:

- A quantidade considerada é o **pedido mínimo (MOQ)** do produto — pra
  atacado com MOQ de centenas/milhares de unidades, o regime de Remessa
  Conforme (pensado pra encomenda individual por Correios/courier) pode
  nem se aplicar de verdade; um pedido desse porte normalmente precisa de
  importação formal via CNPJ (regras diferentes, não calculadas aqui).
  Trate como estimativa de referência, não como número final.
- ICMS varia de 17% a 20% conforme o estado — usamos o padrão de 17%
  (mesmo default da calculadora oficial).
- Não considera frete internacional nem taxa de despacho do
  Correios/transportadora — só o valor declarado da mercadoria.

#### Limitações conhecidas (leia antes de usar pra decisão de importação)

- `tituloPt` é tradução automática (máquina), não revisão humana — trate
  como apoio pra triagem, não como texto pronto pra usar num anúncio de
  revenda sem revisar.
- Preço e MOQ são os exibidos na busca — produtos sem preço fixo (poucos,
  mas existem) podem vir com `precoMinCny`/`precoMaxCny` nulos.
  Confirme sempre com o fornecedor antes de fechar pedido.
- Sem verificação de idoneidade do fornecedor além do que a própria
  Yiwugo exibe (selo "Superior Supplier", anos de loja) — isto não é due
  diligence de fornecedor, só extração de catálogo.

#### Actors relacionados

Do mesmo desenvolvedor: **SP Alvarás de Obras — Building Permits São
Paulo**, **CRF-SP — Consulta de Farmacêutico**, **PROCON-SP — Empresas
Autuadas**, **PROCON-PR — Reclamações contra Fornecedor**, **ReBEC —
Ensaios Clínicos** e **Curitiba — Alvarás Comerciais**, cobrindo outros
padrões de dado público e due diligence brasileira.

# Actor input Schema

## `termosBusca` (type: `array`):

Palavras-chave a buscar (em inglês funciona melhor — o site já é a versão traduzida). Ex.: "phone case", "led lamp".

## `maxResultadosPorTermo` (type: `integer`):

Quantos produtos trazer por termo buscado (a página de busca traz até 50 por vez — aumente paginasPorTermo pra passar disso).

## `paginasPorTermo` (type: `integer`):

Quantas páginas de busca varrer por termo (até 50 produtos por página). Só busca a próxima página se ainda não atingiu maxResultadosPorTermo.

## `precoMinCny` (type: `integer`):

Filtra produtos com preço mínimo maior ou igual a este valor, em CNY/RMB.

## `precoMaxCny` (type: `integer`):

Filtra produtos com preço máximo menor ou igual a este valor, em CNY/RMB.

## `apenasFornecedoresSuperiores` (type: `boolean`):

Filtra só fornecedores com o selo "Superior Supplier" da Yiwugo (reduz bastante o total de resultados).

## `anosNaPlataformaMinimo` (type: `integer`):

Filtra só fornecedores com pelo menos esse número de anos na Yiwugo (ex.: 3). Filtro feito neste Actor (não existe esse filtro no servidor da Yiwugo) — fornecedor sem esse dado exibido é descartado quando este filtro está ativo.

## `buscarDetalhes` (type: `boolean`):

Busca a página de detalhe de cada produto (1 requisição HTTP extra por produto, deixa a busca bem mais lenta) pra trazer peso unitário, atributos (material, origem, marca — variam por produto) e até 10 imagens adicionais de descrição. Falha de um produto específico não derruba a busca — só vem null nesse item.

## `traduzirTitulo` (type: `boolean`):

Traduz o título (que já vem em inglês) pra português via MyMemory (tradução automática gratuita, sem custo). Se a cota diária compartilhada estourar, o campo tituloPt vem vazio — a busca continua normal.

## `calcularImposto` (type: `boolean`):

Calcula uma estimativa de Imposto de Importação + ICMS pra compra pessoa física (Remessa Conforme), considerando o pedido mínimo do produto. Busca cotação de moeda e parâmetros oficiais em tempo real (mais lento). Não é aconselhamento aduaneiro — ver limitações no README.

## Actor input object example

```json
{
  "termosBusca": [
    "phone case"
  ],
  "maxResultadosPorTermo": 20,
  "paginasPorTermo": 1,
  "apenasFornecedoresSuperiores": false,
  "buscarDetalhes": false,
  "traduzirTitulo": true,
  "calcularImposto": false
}
```

# Actor output Schema

## `produtos` (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 = {
    "termosBusca": [
        "phone case"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("guzik_andre/yiwugo-produtos-china").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 = { "termosBusca": ["phone case"] }

# Run the Actor and wait for it to finish
run = client.actor("guzik_andre/yiwugo-produtos-china").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 '{
  "termosBusca": [
    "phone case"
  ]
}' |
apify call guzik_andre/yiwugo-produtos-china --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,guzik_andre/yiwugo-produtos-china"
        }
    }
}
```

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/yATD5ZU5fIg00HIL1/builds/Qb79hWPyhCcHO45yc/openapi.json
