# US Import Records: Suppliers, Countries & Shipment Volume (`themineworks/us-import-supplier-intelligence`) Actor

Look up a US importer's public sourcing profile: total shipments, date range covered, and the supplier list with country, location and shipment volume per supplier. Sourced from public US Customs bill of lading manifest data. No login. Works in Claude, ChatGPT and any MCP agent.

- **URL**: https://apify.com/themineworks/us-import-supplier-intelligence.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Business, Lead generation, MCP servers
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## US Import Supplier Intelligence: Suppliers, Countries & Shipment Volume

> ⚡ Plain HTTP. No login, no proxy, no browser.

> 💸 You are only charged for rows actually delivered. A company that does not resolve is never billed.

### Overview

Give this actor a US company name or a public profile URL and get back its sourcing profile: who supplies it, which country each supplier ships from, roughly how many shipments per supplier, and a breakdown of the product categories (HTS/HS codes) it imports, each with a sample bill of lading reference and a product description line pulled from a real manifest entry. This is the same category of data every "who supplies my competitor" tool sells, built directly from the public data those tools themselves display.

✅ Company name or exact profile URL · ✅ Supplier name, country, location and shipment count · ✅ Top HTS/HS code breakdown · ✅ MCP ready for AI agents

### An honest note on the underlying data and scope

US Customs holds import manifest (bill of lading) records, and this category of data is public in principle under 19 U.S.C. 1431. But there is no documented bulk API or data.gov feed for it: the Data Liberation Project filed a Freedom of Information Act request in 2023 asking Customs and Border Protection for the underlying ACE manifest tables, and CBP rejected it outright, stating the records were not available that way, despite evidence such records had been obtained via FOIA before. Every commercial import intelligence product, ImportYeti, Panjiva, ImportGenius, Trademo, and the dozen plus ImportYeti style actors already on the Apify Store, sits on the same non public pipeline into that data. None of them reach a documented government API either.

Given that, this actor reads importyeti.com's own public company profile pages, the same free, search engine indexed pages every one of those competitors and Google itself already reads, not a paid or authenticated part of the site. A plain request without a realistic browser signature gets a Cloudflare block on this site; a request with an ordinary browser TLS fingerprint gets the full page normally, the same way any real browser visiting the page would. The site's own robots.txt disallows its search endpoint specifically, so this actor never queries it; it only fetches a company's own profile URL, exactly the kind of page robots.txt leaves open.

The public page itself only fully renders a company's top suppliers by shipment volume without requiring a login, typically somewhere between 5 and 20 depending on the company, plus a top 10 HTS code table. Anything beyond that sits behind the source site's own paid product, which this actor does not attempt to reach, log in to, or otherwise access. It also does not return individual shipment by shipment manifest lines, only company level sourcing summaries built from what the public page shows. If you need a complete supplier roster or line level shipment detail for a very large importer, that is a different, paid product elsewhere, and this README says so rather than implying otherwise.

### Input

```json
{
  "companies": ["https://www.importyeti.com/company/nike"],
  "includeHtsBreakdown": true,
  "maxSuppliersPerCompany": 30
}
```

| Field | What it takes |
| --- | --- |
| `companies` | One or more US importers. Paste the exact public profile URL when you have it for a guaranteed match, or a plain company name for a best effort guess. A guessed name that does not resolve is reported and skipped, never charged. |
| `includeHtsBreakdown` | Also deliver the top product categories (HTS codes) each company imports, with a sample bill of lading number and description per code. |
| `maxSuppliersPerCompany` | Cap on supplier rows per company. Raising this above what the source page actually renders does not surface more rows, it only removes your own ceiling. |

### Output

This actor delivers three row shapes, told apart by `record_type`.

```json
{
  "record_type": "supplier",
  "queried_company": "https://www.importyeti.com/company/nike",
  "supplier_name": "Apl Logistics Vietnam",
  "supplier_country": "Vietnam",
  "supplier_location": "Xa Ba Thanh",
  "supplier_total_shipments": 189,
  "category_breakdown": ["Footwear", "Apparel - knitted", "Boilers/machinery", "Other"],
  "source_url": "https://www.importyeti.com/company/nike"
}
```

| Field | Description |
| --- | --- |
| 🏷️ `record_type` | company\_profile, supplier, or hts\_code |
| 🏢 `company_name` / `company_address` | Resolved identity, on the company\_profile row |
| 📅 `date_range` | Shipment history date range covered by the profile, as shown |
| 🥇 `top_supplier_name` | The company's largest supplier by shipment volume, from the profile summary |
| 🚚 `supplier_name` / `supplier_country` / `supplier_location` | Supplier identity, on supplier rows |
| 📦 `supplier_total_shipments` | Shipments from this supplier to the queried company |
| 🧾 `hts_code` / `hts_description` | Tariff code and category, on hts\_code rows |
| 📄 `sample_bol_number` / `product_description_sample` | One real manifest reference and description line for that code |

### Common use cases

**Competitive sourcing intelligence.** See where a competitor actually sources product, and which countries and suppliers carry the volume.

**Supplier discovery.** Find factories and logistics partners already proven to ship a category you care about, by reading who supplies a company already selling it.

**Lead generation for freight forwarders and trade finance.** Identify importers with real, ongoing shipment volume worth pursuing as clients.

**Due diligence.** Cross check a supplier a counterparty claims to use against what their own import history shows.

**AI agents.** Feed structured sourcing profiles into an agent that answers "who makes this company's products, and where."

### Pricing

| Event | Price | You pay when |
| --- | --- | --- |
| Company profile delivered | $0.02 | A company's profile summary lands in your dataset |
| Supplier delivered | $0.006 | A supplier row lands in your dataset |
| HTS code delivered | $0.006 | An HTS code row lands in your dataset |

A company that does not resolve is never charged.

### Run it on a schedule

1. Run once with the companies you want to track, then click Save as a task.
2. In the Apify Console go to Schedules, Create new.
3. Pick a frequency and attach the saved task.
4. Wire the dataset to Sheets, Slack, or a webhook from the Integrations tab.

A monthly refresh on a watchlist of competitors is the most common setup.

### FAQ

**Do I need an ImportYeti account?**
No. The actor reads the public company profile pages only.

**Why did a company I searched for not resolve?**
Either it has no public import history tracked on the source site, or the name based URL guess did not match. Paste the exact profile URL from the site for a guaranteed match.

**Why do some large importers return fewer supplier rows than I expected?**
The public page only fully renders a top slice of suppliers without a login. This actor reports exactly what is there and does not fabricate additional rows.

**Does this return individual shipment records?**
No. It returns company level summaries: a supplier list with shipment counts, and a top HTS code breakdown with one sample manifest line per code. Line by line shipment history is a separate, paid product on the source site.

**How current is the data?**
The date\_range field on the company profile row shows the span the source page itself reports covering, which the site describes as pulled from ongoing manifest filings.

### Use from Claude, ChatGPT and any MCP agent

```
https://mcp.apify.com/?tools=themineworks/us-import-supplier-intelligence
```

Or call it programmatically:

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

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

const run = await client.actor('themineworks/us-import-supplier-intelligence').call({
  companies: ['https://www.importyeti.com/company/nike'],
  includeHtsBreakdown: true,
  maxSuppliersPerCompany: 30,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

Questions, or need a field we do not return yet? Reach out through the Apify profile.

# Actor input Schema

## `companies` (type: `array`):

One or more US importers to look up. Paste the exact public profile URL when you have it, for example https://www.importyeti.com/company/nike, for a guaranteed match. Otherwise give a plain company name, for example Nike or Under Armour, and the actor will make a best effort guess at the matching public profile. A guessed name that does not resolve is reported and skipped, never charged.

## `includeHtsBreakdown` (type: `boolean`):

Also deliver the top product categories (HTS codes) each company imports, with a sample bill of lading number and description for each. Adds one row per HTS code found.

## `maxSuppliersPerCompany` (type: `integer`):

Cap on supplier rows delivered per company. The public profile page only fully renders a company's top suppliers by shipment volume without a login, typically somewhere between 5 and 20 depending on the company, so raising this cap high does not by itself surface more rows, it only removes your own ceiling.

## Actor input object example

```json
{
  "companies": [
    "https://www.importyeti.com/company/nike"
  ],
  "includeHtsBreakdown": true,
  "maxSuppliersPerCompany": 30
}
```

# 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 = {
    "companies": [
        "https://www.importyeti.com/company/nike"
    ],
    "includeHtsBreakdown": false,
    "maxSuppliersPerCompany": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/us-import-supplier-intelligence").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 = {
    "companies": ["https://www.importyeti.com/company/nike"],
    "includeHtsBreakdown": False,
    "maxSuppliersPerCompany": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/us-import-supplier-intelligence").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 '{
  "companies": [
    "https://www.importyeti.com/company/nike"
  ],
  "includeHtsBreakdown": false,
  "maxSuppliersPerCompany": 30
}' |
apify call themineworks/us-import-supplier-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,themineworks/us-import-supplier-intelligence"
        }
    }
}

```

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/Libdv1JDMRjC8DQRc/builds/FyQIlbdul7HzsqDJS/openapi.json
