# ImportYeti US Trade & Supplier Data Scraper (`crawlerbros/import-yeti-scraper`) Actor

Scrape US import records and global supplier data from ImportYeti.com - search US importers and global suppliers by company name or product keyword.

- **URL**: https://apify.com/crawlerbros/import-yeti-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Lead generation, E-commerce, Automation
- **Stats:** 6 total users, 2 monthly users, 76.6% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## ImportYeti US Trade & Supplier Data Scraper

Scrape **ImportYeti** — a public search index built on US customs bill-of-lading records. Search US importers by company name or product keyword, or search global suppliers by company name, and get each company's country, address, lifetime shipment count, most recent shipment date, alternate name and address counts, registered trademarks, and its ImportYeti profile URL. HTTP-only via ImportYeti's public search endpoint. No auth required.

### What this actor does

- **Two modes:** `searchImporters` (US buyers) and `searchSuppliers` (overseas sellers)
- **Product or company search:** the same query field matches company names and product keywords
- **Paginated sweep:** walks result pages until `maxItems` is reached or results run out
- **Proxy rotation:** ImportYeti caps anonymous use per IP, so the actor rotates Apify Proxy IPs and resumes automatically when it hits the cap
- **Empty fields are omitted**

### Output per company

- `companyName` — company as listed on ImportYeti
- `type` — record type reported upstream (importer / supplier)
- `country` — ISO country code
- `address` — primary registered address
- `totalShipments` — lifetime shipment records attributed to the company
- `mostRecentShipment` — date of the latest shipment on file
- `otherAddressesCount` — additional known addresses for the same company
- `otherNamesCount` — additional known trading names
- `trademarks` — registered trademarks linked to the company (capped at 20)
- `companyUrl` — ImportYeti profile page
- `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `searchImporters` | `searchImporters` / `searchSuppliers` |
| `query` | string | `electronics` | Company name or product keyword |
| `maxItems` | int | `20` | Hard cap (1–500) |
| `proxyConfiguration` | object | `{"useApifyProxy": true}` | Proxy settings — strongly recommended, see FAQ |

#### Example: US importers of a product

```json
{
  "mode": "searchImporters",
  "query": "electronics",
  "maxItems": 50,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Example: a specific buyer's import footprint

```json
{
  "mode": "searchImporters",
  "query": "Home Depot",
  "maxItems": 25,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Example: global suppliers by name

```json
{
  "mode": "searchSuppliers",
  "query": "Foshan furniture",
  "maxItems": 100,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

#### Example: wide sweep for lead generation

```json
{
  "mode": "searchImporters",
  "query": "lithium battery",
  "maxItems": 500,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

### Use cases

- **Sourcing teams** — find overseas suppliers that already ship the product category you buy
- **B2B lead generation** — build lists of US importers active in a given product niche
- **Competitive intelligence** — see how many shipments a competitor receives and how recently
- **Supply-chain risk** — map which countries a company's inbound freight originates from
- **Trade finance & credit** — use shipment volume and recency as an activity signal on a counterparty
- **Brand protection** — spot importers bringing in goods under trademarks linked to your brand

### FAQ

**Where does this data come from?**  US Customs bill-of-lading filings, which are public records for ocean freight entering the United States. ImportYeti indexes and publishes them.

**Is this affiliated with ImportYeti?**  No. This is a third-party actor that queries their public search endpoint.

**Do I need an ImportYeti account?**  No. The search results this actor returns are the ones ImportYeti serves publicly.

**Why should I enable proxy?**  ImportYeti limits anonymous searching to roughly 25 requests per IP address before asking for a login. On Apify cloud many actors share exit IPs, so without a proxy a run can be cut short. With `{"useApifyProxy": true}` the actor rotates through IPs and picks up where it left off. The free Apify Proxy `AUTO` group is sufficient — no residential proxy needed.

**What happens if the limit is hit anyway?**  The run ends with a status message explaining the cap rather than failing, and any records already collected stay in the dataset.

**Does this cover air freight or exports?**  No. Bill-of-lading data is ocean freight into the US, so air cargo and US exports are out of scope.

**Why do some companies show a huge `otherNamesCount`?**  Large importers file under many trading names and subsidiaries. The count tells you how many aliases ImportYeti has consolidated under that profile.

**How current are the shipment dates?**  Customs data is published with a lag of a few weeks, so `mostRecentShipment` typically trails today's date even for very active importers.

**Why are trademarks capped at 20?**  Big brand owners hold hundreds. The first 20 keep records readable; the full list is on the linked `companyUrl` profile.

# Actor input Schema

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

What to search for.

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

Company name or product keyword to search for.

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

Maximum number of results to return.

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

Proxy settings. ImportYeti enforces a 25-request-per-IP limit, so proxy is required on Apify cloud to avoid rate-limiting.

## Actor input object example

```json
{
  "mode": "searchImporters",
  "query": "electronics",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "mode": "searchImporters",
    "query": "electronics",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/import-yeti-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 = {
    "mode": "searchImporters",
    "query": "electronics",
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/import-yeti-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 '{
  "mode": "searchImporters",
  "query": "electronics",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/import-yeti-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawlerbros/import-yeti-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/C6g3IvQJ7rLfJaC8e/builds/wRw5PSgPZ025QWNCm/openapi.json
