# ImportYeti Scraper - US Import Records, Suppliers & B2B Leads (`scrapesage/importyeti-scraper`) Actor

Scrape ImportYeti US Customs bill-of-lading data. Find US importers and their overseas suppliers, full shipment history, HS/HTS codes, carriers, ports, China & UFLPA risk flags, and contact leads. New-shipment monitoring. No login or browser.

- **URL**: https://apify.com/scrapesage/importyeti-scraper.md
- **Developed by:** [Scrape Sage](https://apify.com/scrapesage) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Stats:** 14 total users, 8 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 trade profile scrapeds

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/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

## ImportYeti Scraper — US Import Records, Suppliers & B2B Leads (Bill-of-Lading Trade Data)

Turn **public US Customs bill-of-lading data** into a sales-ready trade-intelligence feed. For any company or product, this actor returns the **US importer, every one of its overseas suppliers, the full shipment history, HS/HTS codes, carriers, ports, China exposure, UFLPA risk flags, growth trends — and contact leads**. Built on ImportYeti, the free front-end to US Customs (CBP) import manifests.

No login, no API key, no browser — fast JSON + structured extraction with 99%+ reliability.

### Why this ImportYeti scraper?

Most trade-data scrapers return a thin list of shipments and stop there. This actor ships the **richest record in the category** — the importer *and* its whole supply chain in one row:

| Data | Typical scrapers | This actor |
|---|---|---|
| US importer profile (address, geo, website, phone, trademarks) | partial | ✅ |
| Full overseas **supplier / buyer table** (counts, weight, TEUs) | ❌ | ✅ |
| Each supplier's **other US customers** (find competitors fast) | ❌ | ✅ |
| Recent **bills of lading** (BOL, master/house BOL, product, route) | ✅ basic | ✅ full |
| **HS code tree** + detailed **HTS codes** with sample descriptions | ❌ | ✅ |
| Carriers / **SCAC codes**, ports & shipping lanes | ❌ | ✅ |
| Shipment **growth / YoY**, TEU/month, freight-cost estimates | ❌ | ✅ |
| **China exposure** + **UFLPA forced-labor** risk flag | ❌ | ✅ |
| Notify parties & all known addresses | ❌ | ✅ |
| **Contact emails & phones** (de-masked, real only) | ❌ | ✅ |
| Alibaba supplier links | ❌ | ✅ |
| Lead score (0–100) per company | ❌ | ✅ |
| New-shipment **monitoring mode** | ❌ | ✅ |

### Use cases

- **Sales prospecting** — find every US company importing a product (`yoga mat`, `lithium battery`, `LED panel`) and reach the decision-maker with `emails` / `phones`. Score them by `shipments12m` and `leadScore`.
- **Supplier discovery & sourcing** — see exactly which overseas factories a competitor buys from, the products, volumes and HS codes — then find the same factory's **other US buyers** and the matching Alibaba listing.
- **Competitive intelligence** — track a rival's import volume, suppliers, ports and growth (`quarterlyGrowth`, `shipments12m`, YoY) over time.
- **Supply-chain risk & compliance** — screen for China exposure and the **UFLPA** (Uyghur Forced Labor Prevention Act) flag before onboarding a supplier.
- **Freight & logistics** — find shippers by lane, carrier (SCAC) and port; size a book of business by `totalShipments` and `avgTeuPerMonth`.
- **Market research** — quantify imports by HS code, country and company for any product category.

### How to use

1. [Sign up for Apify](https://console.apify.com/sign-up) — the free plan is enough to try this actor.
2. Open the **ImportYeti Scraper**, choose a **Mode**, and enter company names or product keywords in **Search terms** (or paste ImportYeti URLs). Click **Start**.
3. Watch results stream into the dataset table.
4. **Export** as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the [Apify API](https://docs.apify.com/api/v2).

### Input

```json
{
    "mode": "search",
    "searchTerms": ["yoga mat", "Apple"],
    "searchType": "all",
    "enrichProfiles": true,
    "includeSuppliers": true,
    "includeShipments": true,
    "includeHsCodes": true,
    "includeContacts": true,
    "maxResults": 50
}
```

- **mode** — `search` (find importers + suppliers by name/product), `company` (resolve each term/URL to a US importer profile), or `supplier` (resolve to an overseas exporter profile).
- **searchTerms** — company names, brands, or product keywords. Combined automatically with the chosen mode.
- **startUrls** — paste ImportYeti `/company/…` or `/supplier/…` URLs to scrape them directly.
- **searchType** *(search mode)* — keep both importers & suppliers, only importers, or only suppliers.
- **enrichProfiles** *(default true)* — pull the full profile for every hit; turn off for a fast, cheap discovery list.
- **includeSuppliers / includeShipments / includeHsCodes / includeContacts** *(default true)* — toggle the heavy data sections on/off.
- **maxSuppliers / maxShipments** — cap the supplier table and shipment list per profile.
- **maxResults / maxResultsPerSearch** — overall and per-term caps.
- **monitorMode** *(default false)* — emit only entities that are new or have received new shipments since the last run.

### Output

One record per entity. `recordType: "profile"` for a full trade profile, `recordType: "searchResult"` for a lightweight discovery row:

```json
{
    "recordType": "profile",
    "type": "company",
    "entityType": "US Importer",
    "name": "Yoga Mat Importer LLC",
    "alsoKnownAs": ["YMI LLC"],
    "profileUrl": "https://www.importyeti.com/company/yoga-mat-importer",
    "address": "123 Commerce Way, Carson, CA 90745, US",
    "country": "United States of America",
    "countryCode": "US",
    "latitude": 33.831,
    "longitude": -118.281,
    "website": "yogamatimporter.com",
    "phone": "+1 310 555 0142",
    "trademarks": ["YogaFlow"],
    "totalShipments": 1842,
    "shipments12m": 263,
    "totalShippingCostUsd": 5120433.18,
    "avgTeuPerMonth": { "12m": 18.4, "24m": 15.1 },
    "firstShipmentDate": "12/03/2017",
    "lastShipmentDate": "02/06/2026",
    "quarterlyGrowth": { "months": ["01/04/2026"], "shipments": 12, "shipments_percents": 8 },
    "topImportChapters": { "95": { "shipments": 980, "description": "Toys/sports equipment" } },
    "uflpaFlag": false,
    "counterpartyRole": "suppliers",
    "supplierCount": 7,
    "topSuppliers": [
        {
            "name": "Ningbo Fitness Goods Co",
            "country": "China",
            "countryCode": "CN",
            "profileUrl": "https://www.importyeti.com/supplier/ningbo-fitness-goods",
            "shipments12m": 180,
            "totalShipments": 940,
            "totalWeightKg": 1830422,
            "totalTeus": 612,
            "hsCodes": ["9506.91", "3926.90"],
            "alibabaUrl": "https://www.alibaba.com/…",
            "topPartners": [{ "name": "Competitor Sports Inc", "shipments12m": 220, "totalShipments": 1310 }]
        }
    ],
    "recentShipments": [
        {
            "date": "2026-06-02T00:00:01.000Z",
            "billOfLading": "NBSF202606012",
            "masterBol": "COSU6398114220",
            "counterpartyRole": "supplier",
            "counterpartyName": "Ningbo Fitness Goods Co",
            "counterpartyCountry": "China",
            "productDescription": "PVC YOGA MAT 6MM NON-SLIP 1800 PCS",
            "weightKg": 12840,
            "containers": 2,
            "quantity": "1800",
            "quantityUnit": "PCS",
            "shippingRoute": "Trans-Pacific",
            "estShippingCostUsd": 4210.55
        }
    ],
    "carriers": [{ "scac": "COSU", "name": "Cosco", "shipments": 640, "serviceTypes": [{ "type": "CY", "shipments": 410 }] }],
    "carriersByCountry": { "China": ["Cosco", "Matson"] },
    "emails": ["sales@yogamatimporter.com"],
    "phones": ["+1 310 555 0142"],
    "leadScore": 86,
    "searchTerm": "yoga mat",
    "scrapedAt": "2026-06-16T03:00:00.000Z"
}
```

### Automate & schedule

Run this actor on autopilot and pull results into your own stack:

- **[Apify API](https://docs.apify.com/api/v2)** — start runs, fetch datasets, and manage schedules over REST.
- **[apify-client for JavaScript](https://docs.apify.com/api/client/js/)** and **[apify-client for Python](https://docs.apify.com/api/client/python/)** — official SDKs.
- **[Schedules](https://docs.apify.com/platform/schedules)** — run it daily/weekly with `monitorMode` to track a competitor's new imports or a supplier's new customers. Perfect for sales pipelines and watchlists.
- **[Webhooks](https://docs.apify.com/platform/integrations/webhooks)** — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.

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

const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });

const run = await client.actor('scrapesage/importyeti-scraper').call({
    mode: 'search',
    searchTerms: ['lithium battery'],
    searchType: 'company',
    enrichProfiles: true,
    maxResults: 100,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} importer profiles & leads`);
```

### Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

- **[Make](https://docs.apify.com/platform/integrations/make)** — multi-step automation scenarios.
- **[Zapier](https://docs.apify.com/platform/integrations/zapier)** — push new importer/supplier leads straight into your CRM.
- **[Slack](https://docs.apify.com/platform/integrations/slack)** — get alerted when a monitored company files new shipments.
- **[Google Drive / Sheets](https://docs.apify.com/platform/integrations/drive)** — auto-export every run to a spreadsheet.
- **[Airbyte](https://docs.apify.com/platform/integrations/airbyte)** — pipe results into your data warehouse.
- **[GitHub](https://docs.apify.com/platform/integrations/github)** — trigger runs from commits or releases.

### Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the **[Apify MCP server](https://docs.apify.com/platform/integrations/mcp)** — ask your assistant to "find US importers of yoga mats and list their Chinese suppliers and contacts" and let it run this scraper for you.

### Agent-ready: autonomous payments (x402 & Skyfire)

This actor is **agent-ready** — AI agents can discover it, run it, and **pay for it autonomously**, with no Apify account and no human in the loop. It uses [pay-per-event](https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event) pricing and [limited permissions](https://docs.apify.com/platform/actors/development/permissions), so it qualifies for Apify's agentic-payment standards:

- **[x402](https://docs.apify.com/platform/integrations/x402)** — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp) — no account, no API key.
- **[Skyfire](https://docs.apify.com/platform/integrations/skyfire)** — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

### More scrapers from scrapesage

Build a complete **B2B sourcing & lead-gen stack**:

- **[Made-in-China Scraper](https://apify.com/scrapesage/made-in-china-scraper)** — overseas suppliers, products & B2B leads.
- **[TradeIndia Scraper](https://apify.com/scrapesage/tradeindia-scraper)** — India B2B suppliers & manufacturers with GST/owner contacts.
- **[Shopify Store Scraper](https://apify.com/scrapesage/shopify-store-scraper)** — storefront products, variants, prices & merchant leads.
- **[SEC EDGAR Scraper](https://apify.com/scrapesage/sec-edgar-scraper)** — filings, financials & company data.
- **[USAspending Scraper](https://apify.com/scrapesage/usaspending-scraper)** — federal awards, contractors & leads.
- **[Companies House Scraper](https://apify.com/scrapesage/companies-house-scraper)** — UK companies, directors & PSCs.
- **[GitHub Scraper](https://apify.com/scrapesage/github-scraper)** — repos, developers & contact leads.
- **[DesignRush Scraper](https://apify.com/scrapesage/designrush-scraper)** — agencies, services & B2B leads.

### Tips

- **Find a product's importers**: use Search mode with `searchType: "company"` and a product keyword (`office chair`). Each US importer comes back with its suppliers and contacts.
- **Reverse a supply chain**: paste a `/supplier/…` URL (or use `supplier` mode) to get the factory's full US customer list and products.
- **Cost control**: turn off `includeShipments` / `includeHsCodes` for a leaner record, or `enrichProfiles: false` for a cheap discovery-only list. The supplier table and contacts are usually the highest-value fields.
- **Proxies**: keep the default US residential proxy group; ImportYeti is behind Cloudflare and may challenge datacenter IPs. Datacenter is cheaper for light use — try it and switch back if runs come up empty.
- **Recurring monitoring**: combine [Schedules](https://docs.apify.com/platform/schedules) with `monitorMode` to capture only new shipments. This does not conflict with the Apify scheduler — the schedule triggers the run, `monitorMode` controls what is emitted.

### FAQ

**Where does the data come from?** ImportYeti aggregates **public US Customs (CBP) bill-of-lading manifests** for ocean freight. This actor reads the same public company and supplier pages a visitor sees and structures them into clean JSON.

**Do I need an ImportYeti account or API key?** No. There is no login, key or browser — just enter company names or product keywords.

**Why are some emails/phones empty?** Many manifests carry masked contact fields (e.g. `---` or `XXX`). The actor keeps **only real, de-masked** emails and phones, so the `emails` / `phones` arrays are empty when no genuine contact exists rather than padded with junk.

**Can I get a competitor's suppliers?** Yes — scrape the competitor in `company` mode (or Search) and read `topSuppliers`; each supplier also lists its **other US buyers** in `topPartners`.

**What is the UFLPA flag?** A boolean signalling potential exposure under the Uyghur Forced Labor Prevention Act — useful for supply-chain compliance screening.

**Can I export to Google Sheets, CSV, or Excel?** Yes — one click in the dataset view, or automatically on every run via the [Google Drive integration](https://docs.apify.com/platform/integrations/drive).

**Is scraping ImportYeti legal?** This actor collects publicly available data only (public US Customs records surfaced on public pages). You are responsible for using the data in compliance with applicable laws and ImportYeti's terms.

### Need help?

Open an issue on the actor's **Issues** tab, or visit the [Apify help center](https://help.apify.com/). Feature requests are welcome — this actor is actively maintained.

# Actor input Schema

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

What to scrape:

• **Search & discover** — match US importers and/or overseas suppliers by company name or brand, and (by default) pull a full trade profile for each.
• **Product** — find every US importer (and overseas supplier) of a product keyword (`yoga mat`, `lithium battery`), with shipment volumes — the fastest way to build a buyer list for what you sell.
• **Company (US importer)** — resolve each term/URL to a US importer and return its full profile.
• **Supplier (overseas)** — resolve each term/URL to a foreign supplier/exporter and return its full profile.

## `searchTerms` (type: `array`):

What to look up. In **Search / Company / Supplier** modes use company names or brands (`Apple`, `Walmart`, `Anker`). In **Product** mode use product keywords (`yoga mat`, `lithium battery`, `office chair`) to list everyone importing/exporting that product. In Company/Supplier modes each term resolves to the single best-matching entity of that type.

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

Optional. Paste ImportYeti **company** or **supplier** page URLs to scrape them directly — e.g. `https://www.importyeti.com/company/apple` or `https://www.importyeti.com/supplier/hon-hai-precision-industrial`. Search-result URLs (`/search?q=...`) are also accepted and treated as search terms.

## `searchType` (type: `string`):

In Search mode, keep only US importers, only overseas suppliers, or both.

## `enrichProfiles` (type: `boolean`):

In Search mode, open every matched entity and return its **full trade profile** (supplier/buyer list, shipment history, HS/HTS codes, carriers, ports, growth, contacts). Turn OFF for a fast, cheap discovery list only (name, type, country, total shipments, most-recent shipment, trademarks, profile URL).

## `includeSuppliers` (type: `boolean`):

Include the full counterparty table — every overseas supplier of a US importer (or every US buyer of a supplier) with address, country, shipment counts, weight, TEUs, HS codes, top trade partners and Alibaba links.

## `includeShipments` (type: `boolean`):

Include the most recent individual bill-of-lading shipment records: date, BOL / master BOL / house BOL, counterparty, product description, weight, containers, quantity, shipping route and estimated freight cost.

## `includeHsCodes` (type: `boolean`):

Include the HS code tree (chapter → heading → subheading with shipments/weight/TEUs) and the detailed HTS codes with sample product descriptions.

## `includeContacts` (type: `boolean`):

Extract real (non-masked) contact emails and phone numbers from the company's known addresses and notify-party records, plus the list of all known addresses. Great for building a sales-prospecting list.

## `maxSuppliers` (type: `integer`):

Cap the counterparty (supplier/buyer) table per profile.

## `maxShipments` (type: `integer`):

Cap the recent bill-of-lading shipment records per profile.

## `maxResults` (type: `integer`):

Global cap on the total number of records (profiles or discovery rows) emitted in this run.

## `maxResultsPerSearch` (type: `integer`):

Cap the number of entities taken from each search term's results (ImportYeti returns roughly the top 10–25 matches per term).

## `monitorMode` (type: `boolean`):

Remember the entities returned in previous runs and emit ONLY those that are **new** or have **received new shipments** since the last run (tagged `changeType`: new / updated, with `newShipmentsSinceLastRun`). Perfect for watching competitors' imports or a supplier's customers. Pairs with Apify Schedules — it does not conflict with the scheduler; the schedule triggers the run, this flag controls what is emitted.

## `monitorStoreName` (type: `string`):

Named key-value store that holds the 'already seen' entities for monitoring mode. Use a different name per watchlist to keep histories separate (lowercase letters, digits and hyphens).

## `maxConcurrency` (type: `integer`):

Maximum parallel requests. Keep it moderate to stay friendly to ImportYeti's servers.

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

Proxy settings. ImportYeti sits behind Cloudflare and can challenge datacenter IPs, so **US residential proxies are the reliable default**. Datacenter proxies are cheaper and may work for light use — switch to them to cut cost if your runs come back full.

## Actor input object example

```json
{
  "mode": "search",
  "searchTerms": [
    "yoga mat"
  ],
  "searchType": "all",
  "enrichProfiles": true,
  "includeSuppliers": true,
  "includeShipments": true,
  "includeHsCodes": true,
  "includeContacts": true,
  "maxSuppliers": 50,
  "maxShipments": 50,
  "maxResults": 50,
  "maxResultsPerSearch": 20,
  "monitorMode": false,
  "monitorStoreName": "importyeti-monitor",
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

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

All scraped ImportYeti records in the default dataset. Use the Profiles / Suppliers / Leads / Discovery dataset views to filter the columns.

# 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 = {
    "searchTerms": [
        "yoga mat"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapesage/importyeti-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 = { "searchTerms": ["yoga mat"] }

# Run the Actor and wait for it to finish
run = client.actor("scrapesage/importyeti-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 '{
  "searchTerms": [
    "yoga mat"
  ]
}' |
apify call scrapesage/importyeti-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/DS3q2gA6x9y2qDEdQ/builds/BDQM2c2Mu41Hgr4Lt/openapi.json
